|
單片機(jī):STC89C52 電機(jī)驅(qū)動(dòng)模塊:ULN2803(輸入端高電平時(shí)電機(jī)停轉(zhuǎn),輸入端低電平時(shí)電機(jī)啟動(dòng);輸入端截單片機(jī)P1.7口)
紅外探頭:有遮擋時(shí)輸出端輸出低電平,無遮擋時(shí)輸出端輸出高電平。(輸出端截單片機(jī)1.8口)
電路控制程序:(請(qǐng)問我這個(gè)程序正確嗎?)
#include<reg52.h>
#define uint unsigned int
sbit dianji=P1^7;//電機(jī)控制端。
sbit kaiguan=P1^8;//紅外開關(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)//紅外開關(guān)打開
{
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)//紅外開關(guān)關(guān)閉
{
delay(2000);//延遲兩秒鐘
dianji=1;//電機(jī)關(guān)閉
}
}
}
|
|