『壹』 能識別運動方向的單片機紅外線報警器 求C程序
紅外線光束2被先擋住時R1被置1,
紅外線光束2沒有被先擋住時R1被置0。
--每一個脈沖信號,你都這么檢測?
--那麼,你還用計數器干什麼?
--有一個脈沖,就可以判別出來運動方向。
--你用 10 個脈沖,計數,是干什麼?
--------------
另外,即使你要計算輸入脈沖的個數,也不應該用計數器。
應該用外部中斷。
『貳』 這是我設計基於AT單片機的紅外對射報警探測器電路圖感覺還有點問題求高手指點
看了你的電路,覺得確實有問題。
第一,89C51晶元的驅動能力有限,不能用來直接驅動發光二極體,長期工作有問題,建議換成驅動能力較強的單片機晶元,如STC89C52之類,單口灌電流可到20mA,若堅持使用AT89C51,則發光二極體應通過三極體驅動。
第二,為了避免自然光的干擾,一般會讓發光二極體發出一定頻率的光,這樣光接收電路也要做一定的調整。要採用軟體判別採集到的頻率。所以建議光接收電路接到int0或者int1或者T0、T1埠上,當然也可以採用紅外專用接收管。
『叄』 基於單片機的熱釋紅外報警器的設計中,要求按下開關K,控制器開始工作,再按一下開關K ,控制器停止工作
K就要接在一個IO埠上啦,可以這樣做:
sbit k=P....//隨意確定埠,根首拿沖據你的硬體電路來。
bit key;//聲明一者殲敏旁個位變數,作為紅外報警工作的開關。
if(k==0)//判斷按鍵有沒有按下
delayms(10);如果按下,延時10毫秒消抖。
if(k==0)//確定按鍵按下
key=!key;//將這個變數取反。
下面就可以用這個變數來控制紅外報警了,比如:
if(key)
{
//這里讓報警工作
}
else
{
//這里讓報警停止工作
}
『肆』 急需一個紅外線單片機報警器,用匯編語言編寫
你說的太籠統,但是這種程序網上可以搜一堆,你沒有必要在這里問!
看你的提問就知道你是一個初學者,這里告訴你幾個關鍵的問題:
在程序中編寫按鍵掃描程序,當檢測到p1.5埠為低電平時,採用延時或中斷方式令p2.5和p2.7交替輸出高低電平,就可以實現你需要的效果;至於蜂鳴器程序,你可以從網上借鑒。
『伍』 基於單片機的紅外報警器
一般紅外探頭能輸出開關信號。單片機對其計數即可,配合按鍵程序可實現。