標(biāo)題:
關(guān)于51單片機(jī)控制紅外開(kāi)關(guān)和馬達(dá)驅(qū)動(dòng)模塊的程序
[打印本頁(yè)]
作者:
yanxiaodong
時(shí)間:
2018-11-22 23:22
標(biāo)題:
關(guān)于51單片機(jī)控制紅外開(kāi)關(guān)和馬達(dá)驅(qū)動(dòng)模塊的程序
單片機(jī):STC89C52 電機(jī)驅(qū)動(dòng)模塊:ULN2803(輸入端高電平時(shí)電機(jī)停轉(zhuǎn),輸入端低電平時(shí)電機(jī)啟動(dòng);輸入端截單片機(jī)P1.7口)
紅外探頭:有遮擋時(shí)輸出端輸出低電平,無(wú)遮擋時(shí)輸出端輸出高電平。(輸出端截單片機(jī)1.8口)
電路控制程序:(請(qǐng)問(wèn)我這個(gè)程序正確嗎?)
#include<reg52.h>
#define uint unsigned int
sbit dianji=P1^7;//電機(jī)控制端。
sbit kaiguan=P1^8;//紅外開(kāi)關(guān)控制端。
void delay(uint xms)//延遲函數(shù)
{
uint i,j;
for(i=xms;i<0;i--)
for(j=110;j<0;j--);
}
void main()
{
while(1)
{
if(kaiguan==0)//紅外開(kāi)關(guān)打開(kāi)
{
delay(2000);//延遲兩秒鐘
while(!kaiguan)//調(diào)節(jié)電機(jī)占空比
{
dianji=0;//電機(jī)啟動(dòng)
delay(1);//延遲1ms
dianji=1;//電機(jī)關(guān)閉
delay(1);//延遲1ms
}
}
if(kaiguan==1)//紅外開(kāi)關(guān)關(guān)閉
{
delay(2000);//延遲兩秒鐘
dianji=1;//電機(jī)關(guān)閉
}
}
}
作者:
該賬號(hào)已注銷
時(shí)間:
2018-11-23 09:04
這個(gè)程序是可以的,再實(shí)際調(diào)試一下
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1