單片機(jī)報(bào)警器電路圖
紅外線防盜報(bào)警器電路圖
1、電源電路。220V交流市電經(jīng)變壓器T降壓,橋式整流器D1整流,電解電容C7濾波,三端穩(wěn)壓器78L05穩(wěn)壓,最后得到整機(jī)要求的+5V穩(wěn)定直流電源。
2、單片機(jī)系統(tǒng)。U1為AT89C2051單片機(jī)。C1,R0,R1和復(fù)位按鈕RESET組成手動(dòng)電平復(fù)位和上電自動(dòng)復(fù)位電路;C2,C3以及晶振JT1組成時(shí)鐘電路;C4,C5為+5V電源濾波電容。U2為CMOS6反相器CC4069,起驅(qū)動(dòng)作用。VD1~VD6為紅外發(fā)射管,其負(fù)極端接與P1口,P1口設(shè)置為輸出狀態(tài),當(dāng)P1口為“0”時(shí),VD1~VD6發(fā)紅外光。VD7~VD12為紅外接收管,當(dāng)接收到紅外光時(shí)導(dǎo)通,+5V電源通過(guò)VD7~VD12加到反相器CC4069的輸入端,經(jīng)反相為低電平,這時(shí)P3.0~P3.5為低電平。發(fā)射管和接收管分別安裝在門和窗口的適當(dāng)位置,當(dāng)有人闖入時(shí)遮擋了紅外線,接收管截止,反相器輸入端為低電平,這時(shí)U1的P3.0~P3.5為高電平。當(dāng)在一定時(shí)間內(nèi)檢測(cè)到位于不同位置的光束被遮擋時(shí),則由P3.7口輸出報(bào)警信號(hào)(高低電平間隔1S的脈沖信號(hào))。驅(qū)動(dòng)聲光報(bào)警電路,進(jìn)行聲光報(bào)警,直至按復(fù)位按鈕RESET或電源開關(guān)S1。由于紅外收發(fā)管之間沒有遮擋時(shí)為正常,有遮擋時(shí)為異常,則當(dāng)P1口輸出00H時(shí),P3口的正常狀態(tài)數(shù)據(jù)為00H。
3、聲光報(bào)警電路。555定時(shí)器U4,揚(yáng)聲器BY,普通紅色發(fā)光二極管VD13等組成聲光報(bào)警電路。其中555定時(shí)器接成了一個(gè)低頻多諧振蕩器,其控制電壓輸入端5腳與單片機(jī)AT89C2051的P3.7腳相連,受P3.7腳輸出的高低電平間隔1S的脈沖信號(hào)控制。當(dāng)P3.7為高電平時(shí)控制電壓Uco較高,閾值電壓UT+(=Uco)和UT-(=1/2Uco)也較高;當(dāng)P3.7為低電平時(shí)UT+和UT-也較低。當(dāng)UT+較高時(shí),電容C9充、放電的電壓幅度較大,因而振蕩頻率較低。反之,當(dāng)UT+較低時(shí),電容C9充、放電過(guò)程中電壓變化幅度較小,充、放電過(guò)程完成得較快,故振蕩頻率較高。即當(dāng)P3.7=1時(shí),555輸出脈沖的振蕩頻率較低;當(dāng)P3.7=0時(shí),555輸出脈沖的振蕩頻率高。該輸出脈沖經(jīng)過(guò)隔直電容C8加到揚(yáng)聲器上,揚(yáng)聲器將交替發(fā)出高、低不同的兩種叫聲。同時(shí),P3.7腳輸出的高低電平間隔1S的脈沖信號(hào)經(jīng)電阻R8加到紅色發(fā)光二極管VD13上,VD13將閃爍發(fā)光。達(dá)到聲光同時(shí)報(bào)警的效果。
主程序流程圖
1、主程序。主要功能是對(duì)系統(tǒng)進(jìn)行初始化和對(duì)系統(tǒng)進(jìn)行監(jiān)視??词欠裼腥岁J入。其程序流程圖如圖2所示。
? ?
? ?程序清單如下:
? ?? ?ORG??0000H
? ?? ?AJMP??MAIN? ???;轉(zhuǎn)向主程序? ?? ???
? ?? ?ORG??000BH? ???;定時(shí)器T0中斷入口
? ?? ?LJMP??BJ? ?? ? ;轉(zhuǎn)向中斷服務(wù)程序
? ?? ?ORG??0030H
MAIN:MOV??SP,#50H??;設(shè)置堆棧棧底
? ?? ?MOV??R1,#0AH??;設(shè)置循環(huán)計(jì)數(shù)器初值
? ?? ?MOV??P3,#00H??;設(shè)置P3口為正常狀態(tài)
? ?? ?MOV??P1,#00H??;使VD1~VD6發(fā)紅外光
MOV??TMOD,#01H;設(shè)T0為定時(shí)方式1
? ?? ?MOV??TH0,#3CH ;設(shè)置定時(shí)100ms初值
? ?? ?MOV??TL0,#0B0H
? ?? ?SETB??EA? ?? ???;CPU開中斷
? ?? ?SETB??ET0? ?? ? ;定時(shí)器0允許中斷
??JS:MOV??A,P3? ?? ?;監(jiān)視是否有人闖入
? ?? ?CJNE??A,#00H,LP
? ?? ?AJMP??JS
??LP:SETB??TR0? ?? ? ;啟動(dòng)T0定時(shí)100ms
? ?? ?SJMP??$? ?? ?? ?;等待定時(shí)100ms完成
P3.7取反
中斷返回
保護(hù)現(xiàn)場(chǎng)
重設(shè)定時(shí)初值
2、中斷服務(wù)程序。主要功能是判斷定時(shí)1S是否完成,從而決定是否對(duì)P3.7口取反。其程序流程圖如圖3所示。
? ?
? ?程序清單如下:
? ?? ?ORG??0060H
BJ:PUSH??Acc? ?? ? ;現(xiàn)場(chǎng)保護(hù)
? ?? ?PUSH??PSW
? ?? ?MOV??TH0,#3CH??;重設(shè)定時(shí)初值
? ?? ?MOV??TL0,#0B0H
? ?? ?DJNZ??R1,F(xiàn)H? ? ;1S未到返回
? ?? ?MOV??R1,#0AH? ?;重設(shè)計(jì)數(shù)器初值
? ?? ?CPL??P3.7? ?? ? ;P3.7口取反
??FH:POP??PSW? ?? ???;恢復(fù)現(xiàn)場(chǎng)
? ?? ?POP??Acc
? ?? ?RETI? ?? ?? ?? ?;中斷返回
? ?? ?END