用89C2051控制的簡(jiǎn)易撥號(hào)報(bào)警器
用89C2051制作了一個(gè)能自動(dòng)撥號(hào)的報(bào)警器。該報(bào)警器利用電話機(jī)的重?fù)芄δ苓M(jìn)行報(bào)警,電路簡(jiǎn)單、體積小巧、性能穩(wěn)定、無誤報(bào),對(duì)電話線路無任何影響,經(jīng)實(shí)際使用,效果很好。
該報(bào)警器主要由電源電路、控制電路、話機(jī)電路三部分組成。電源電路輸出5V、6V兩組電源。5V電源供單片機(jī)工作,6V電源供繼電器工作,這樣可以防止繼電器通斷時(shí)干擾單片機(jī)的工作。
圖1是控制部分的電路圖。由89C2051作主控芯片。J1、J2二組常開、二組常閉模擬電話摘機(jī),J3模擬電話重?fù)?LD0~LD3為電路工作狀態(tài)指示燈;C7、R6組成上電復(fù)位電路;光耦4N25起隔離作用,防止因門控開關(guān)線太長(zhǎng)而將干擾引入單片機(jī)的P3.3口。電路的工作過程是:主人出門前接通報(bào)警器電源,單片機(jī)復(fù)位,軟件初始化,P1.6輸出低電平,其余端口輸出高電平,LD0點(diǎn)亮,其余指示燈和繼電器不工作。延時(shí)30秒后,P1.6輸出高電平,LD0熄滅;此后,軟件不斷查詢是否有盜情發(fā)生,即P3.3是否為低電平。一旦有人撬門入室,門控開關(guān)閉合,光耦導(dǎo)通,P3.3變?yōu)榈碗娖剑琍1.5輸出低電平,LD1點(diǎn)亮;延時(shí)5秒后,P1.5輸出高電平,P1.4、P3.7、P1.2輸出低電平,J1、J2得電工作,LD2點(diǎn)亮,指示摘機(jī)工作狀態(tài);延時(shí)1秒后,P1.3、P1.7輸出低電平,J3得電工作,模擬按重?fù)苕I,LD3點(diǎn)亮,指示重?fù)芄ぷ鳡顟B(tài)。延時(shí)0.5秒后,P1.3、P1.7輸出高電平,J3釋放,按鍵結(jié)束,LD3熄滅;延時(shí)20秒后,P1.4、P3.7、P1.2輸出高電平,J1、J2釋放,模擬掛機(jī),狀態(tài)指示燈LD2熄滅,同時(shí)LD0閃爍,表示有小偷來過。說明:開機(jī)初始化后延時(shí)30秒,在這段時(shí)間內(nèi),即使門打開,報(bào)警器也不會(huì)撥打電話,以給主人預(yù)留出門時(shí)間;檢測(cè)到有人入室后,延時(shí)5秒使主人回來時(shí)有足夠的時(shí)間關(guān)閉隱藏的報(bào)警器電源開關(guān)。
圖2是話機(jī)部分的電路圖。K1、K2是話機(jī)的叉簧開關(guān)(圖示為掛機(jī)狀態(tài))。只要把J1、J2的常開觸點(diǎn)J1-1、J2-1與叉簧開關(guān)的常開觸點(diǎn)并聯(lián),J1、J2的常閉觸點(diǎn)J1-2、J2-2與叉簧開關(guān)的常閉觸點(diǎn)串聯(lián);J3的常開觸點(diǎn)J3-1與重?fù)苕I并聯(lián)即可。J1、J2、J3與電話機(jī)用10腳的電腦排線及10腳插座連接。需要說明的是:有的電話機(jī)重?fù)苡洃浀臅r(shí)間有限,這時(shí)需要更改電話機(jī)撥號(hào)集成電路的電源,或者改用存儲(chǔ)撥號(hào)。
報(bào)警器制作好后,主人出門前在電話機(jī)上鍵入自己的手機(jī)號(hào)或自動(dòng)呼機(jī)號(hào),一個(gè)能自動(dòng)撥打手機(jī)、呼機(jī)的報(bào)警器便制作成功了。
源程序清單:
ORG 0000H
AJMP MAIN
ORG 0030H
MAIN: CLR P1.6 ;LD0亮
MOV R3,#3CH ;延時(shí)30秒
LOOP1:ACALL DELAY
DJNZ R3,LOOP1
SETB P1.6 ;LD0熄滅
LOOP2:JNB P3.3,LOOP3;門控開關(guān)接通?
AJMP LOOP2 ;未接通返回
LOOP3:NOP ;延時(shí)10微秒抗干擾
NOP
NOP
NOP
NOP
JNB P3.3,LOOP4;門控開關(guān)接通?
AJMP LOOP2 ;未接通返回
LOOP4:CLR P1.5 ;接通,LD1亮
MOV R6,#0AH ;延時(shí)5秒
LOOP5:ACALL DELAY
DJNZ R6,LOOP5
SETB P1.5 ;LD1滅
CLR P1.4 ;LD2亮
CLR P3.7 ;J1接通,模擬摘機(jī)
CLR P1.2 ;J2接通,模擬摘機(jī)
ACALL DELAY ;延時(shí)0.5秒
ACALL DELAY ;延時(shí)0.5秒
CLR P1.3 ;LD3亮
CLR P1.7 ;J3接通,模擬撥號(hào)
ACALL DELAY ;延時(shí)0.5秒
SETB P1.3 ;LD3熄滅
SETB P1.7 ;J3釋放,撥號(hào)完成
MOV R3,#28H ;延時(shí)20秒
LOOP6:ACALL DELAY
DJNZ R3,LOOP6
SETB P1.4 ;摘機(jī)指示燈熄滅
SETB P3.7 ;J1斷開,掛機(jī)
SETB P1.2 ;J2斷開,掛機(jī)
LOOP7:CPL P1.6 ;LD0閃爍
ACALL DELAY
AJMP LOOP7
DELAY:MOV R5,#0FAH;延時(shí)0.5秒子程序
LOOP8:MOV R4,#0F9H
LOOP9:NOP
NOP
DJNZ R4,LOOP9
DJNZ R5,LOOP8
RET
END