標題: 基于單片機的紅外線報警器 [打印本頁]
作者: 木木木木木哈 時間: 2018-3-14 09:44
標題: 基于單片機的紅外線報警器
本系統采用了熱釋電紅外傳感器,它的制作簡單、成本低、安裝比較方便,而且防盜性能比較穩定,抗干擾能力強、靈敏度高、安全可靠。這種防盜器安裝隱蔽,不易被盜賊發現,同時它的信號經過單片機系統處理后方便和PC機通信,便于多用戶統一管理。本設計包括硬件和軟件設計兩個部分。硬件部分包括單片機控制電路、紅外探頭電路、驅動執行報警電路、LED控制電路等部分組成。處理器采用51系列單片機AT89C51,整個系統是在系統軟件控制下工作的。
1. 主程序清單如下:
ORG 0000H
LJMP MAIN
ORG 0003H
LJMP PINT0
ORG 0200H
MAIN: MOV IE,#81H ;CPU開放中斷,INT0允許中斷
SETB IT0 ;外部中斷為邊沿觸發方式
MOV SP,#30H ;指針入口地址
SETB P3.0
CLR P3.1
MOV P1,#0FFH ;使P1口全部置1
MOV P2,#00H ;P2口清零
CLR P1.2
LP: JNB P1.0,LA ;監測輸入信號,是否有輸入信號
LA: ACALL DELAY ;延時消抖
JNB P1.0,ALARM ;再次監測輸入信號,若有輸入信號轉入報警子程序
AJMP LP
DELAY:MOV R1,0AAH
LD2:MOV R2,0BBH
LD1:NOP
DJNZ R2,LD1
DJNZ R1,LD2
RET
ALARM:SETB P1.2 ;開始報警使運行正常綠指示燈熄滅,紅燈和聲報警啟動
CPL P3.0
CPL P3.1
;10S鐘定時:
MOV 51H,#14H ;10S循環次數
MOV TMOD,#01H ;定時器T0定時 方式1
MOV TL0,#0B0H ;置50ms定時初值
MOV TH0,#3CH
SETB TR0 ;啟動T0
L2:JBC TF0,L1 ;查詢記數溢出
SJMP L2
L1:MOV TL0 #0B0H
MOV TH0 #3CH
2 ;未到10S繼續循環
SETB P3.0 ;10s到關閉報警
CLR P3.1
CLR P1.2 ;報警結束,正常運行綠指示燈亮
LJMP LP ;循環,繼續工作
2.外部中斷INTO服務程序:
PINT0: CLR EX0 ;外部中斷0服務程序開始,屏蔽外部中斷
PUSH PSW
PUSH ACC
LN ;監測是否有中斷輸入
LN: LCALL DELAY ;延時消抖
JNB P3.2,LN1
AJMP LN2 ;無中斷輸入,中斷返回
LN1: SETB P3.0
CLR P3.1
;使報警結束,綠指示燈亮
POP ACC
POP PSW
SETB EX0 ;開放外部中斷0
LCALL LP ;在中斷繼續檢測是否有輸入信號
LN2: RETI
END
作者: 應200721 時間: 2019-5-5 09:39
樓主,電路圖呢?
| 歡迎光臨 (http://m.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |