📄 fangdaoqi.txt
字号:
MOV R0,#2 ;监听,语音播放2次
DGSK2: CLR P2.3 ;触发语音播放
MOV SEC,#00H ;时间内存清0
DGSK: MOV 0A6H,#01EH ;看门狗
MOV 0A6H,#0E1H ;看门狗
MOV A,SEC
CJNE A,#8,DGSKK ;语音播放10秒
DGSKK:JC DGSK
SETB P2.3 ;10秒时间到关语音播放
SETB P3.0 ;开监听
MOV SEC,#00H ;时间内存清0
DGSK1: MOV 0A6H,#01EH ;看门狗
MOV 0A6H,#0E1H ;看门狗
MOV A,SEC
CJNE A,#53,DGSKK1 ;监听75秒
DGSKK1:JC DGSK1
CLR P3.0 ;75秒时间到关监听
DJNZ R0,DGSK2
CLR P3.7 ;监听等2次到挂机
CLR 20H ;清拨打电话标志位
MOV SEC,#00H
DGSK3: MOV 0A6H,#01EH ;看门狗
MOV 0A6H,#0E1H ;看门狗
NOP
NOP
JB P1.6,GFZ2
ACALL DELKY1
JB P1.6,GFZ2 ;遥控按下报警
NOP
NOP
SJMP DGSK4
GFZ2:JB 20H,DGSK4 ;SY2
MOV A,SEC ;85秒内等待拨打喇叭报警电话
CJNE A,#190,DGSKK3 ;240
DGSKK3:JC DGSK3
SJMP DGSK5
DGSK4:;JC DGSK5 ;比较振铃次数小于8转退出
SETB P3.0
SETB P3.1 ;切换喇叭报警继电器
CLR P2.0 ;振铃大于8次喇叭报警
MOV SEC,#00H
DGSK6: MOV 0A6H,#01EH ;看门狗
MOV 0A6H,#0E1H ;看门狗
MOV A,SEC
CJNE A,#26,DGSKK6 ;报警延时26秒
DGSKK6:JC DGSK6
SETB P2.0 ;关喇叭报警
CLR P3.1
CLR P3.1
MOV SEC,#00H
KSL2: MOV 0A6H,#01EH ;看门狗
MOV 0A6H,#0E1H ;看门狗
MOV A,SEC
CJNE A,#53,KSL3 ;大于30秒关闭监听
KSL3: JC KSL2
CLR P3.0
CLR P3.0
DGSK5:NOP
NOP
CLR 18H
CLR 18H ;清触发后电话打入标志位
CLR 20H ;清标志位
CLR 21H
CLR 22H
CLR 23H
CLR 24H
CLR P3.7 ;电话挂机
CLR P3.7
MOV 47H,#00H
MOV 48H,#00H
MOV 47H,#0F7H ;0F8
MOV 48H,#0FFH
RET ;程序返回
;三层防盗触发子程序
SZC4:;PUSH PSW
MOV R0,#2 ;监听,语音播放2次
DGSI2: CLR P2.1 ;触发语音播放
MOV SEC,#00H ;时间内存清0
DGSI: MOV 0A6H,#01EH ;看门狗
MOV 0A6H,#0E1H ;看门狗
MOV A,SEC
CJNE A,#8,DGSIK ;语音播放10秒
DGSIK:JC DGSI
SETB P2.1 ;10秒时间到关语音播放
SETB P3.0 ;开监听
MOV SEC,#00H ;时间内存清0
DGSI1: MOV 0A6H,#01EH ;看门狗
MOV 0A6H,#0E1H ;看门狗
MOV A,SEC
CJNE A,#53,DGSIK1 ;监听75秒
DGSIK1:JC DGSI1
CLR P3.0 ;75秒时间到关监听
DJNZ R0,DGSI2
CLR P3.7 ;监听等2次到挂机
CLR 20H ;清拨打电话标志位
MOV SEC,#00H
DGSI3: MOV 0A6H,#01EH ;看门狗
MOV 0A6H,#0E1H ;看门狗
NOP
NOP
JB P1.6,GFZ3
ACALL DELKY1
JB P1.6,GFZ3 ;遥控按下报警
SJMP DGSI4
GFZ3: JB 20H,DGSI4 ;
MOV A,SEC ;85秒内等待拨打喇叭报警电话
CJNE A,#190,DGSIK3 ;240
DGSIK3:JC DGSI3
SJMP DGSIK5
DGSI4:;JC DGSI5 ;比较振铃次数小于8转退出
SETB P3.0
SETB P3.1 ;切换喇叭报警继电器
CLR P2.0 ;振铃大于8次喇叭报警
MOV SEC,#00H
DGSI6: MOV 0A6H,#01EH ;看门狗
MOV 0A6H,#0E1H ;看门狗
MOV A,SEC
CJNE A,#26,DGSIK6 ;报警延时26秒
DGSIK6:JC DGSI6
SETB P2.0 ;关喇叭报警
CLR P3.1
CLR P3.1
MOV SEC,#00H
KSL: MOV 0A6H,#01EH ;看门狗
MOV 0A6H,#0E1H ;看门狗
MOV A,SEC
CJNE A,#53,KSL1 ;大于30秒关闭监听
KSL1: JC KSL
CLR P3.0
CLR P3.0
DGSIK5:NOP
NOP
CLR 18H ;清触发后电话打入标志位
CLR 18H
CLR 20H ;清标志位
CLR 21H
CLR 22H
CLR 23H
CLR 24H
CLR P3.7 ;电话挂机
CLR P3.7
MOV 47H,#00H
MOV 48H,#00H
MOV 47H,#0F7H ;0F8
MOV 48H,#0FFH
RET ;程序返回
;线路故障喇叭报警程序
SZC5:;PUSH PSW
; PUSH ACC
SETB P3.1 ;切换喇叭报警继电器
CLR P2.2
MOV SEC,#00H
TYI1:MOV 0A6H,#01EH ;
MOV 0A6H,#0E1H ;
MOV A,SEC
CJNE A,#13,TYIK1 ;延时26秒
TYIK1:JC TYI1
SETB P2.2
CLR P3.1 ;
SETB 19H ;设置标志位
RET
;电话远程设防,撤防程序
SZC6:;PUSH PSW
MOV R4,#00H
MOV R4,#12 ;设防、撤防设置8次
TYT5:NOP
NOP
ACALL DELKY
NOP
NOP
JNB P1.5,TYT1 ;P3.6等于1转移
NOP
NOP
NOP
NOP
CLR P2.4 ;开撤防语音播放
MOV SEC,#00H
TYT2: MOV 0A6H,#01EH ;看门狗
MOV 0A6H,#0E1H ;看门狗
MOV A,SEC
CJNE A,#8,TYTS2 ;延时10秒
TYTS2:JC TYT2
SETB P2.4 ;关语音播放
SETB 16H ;设置撤防标志位
SJMP TYT3
;开
TYT1:CLR P2.6 ;开设防语音播放
MOV SEC,#00H
TYT4: MOV 0A6H,#01EH ;看门狗
MOV 0A6H,#0E1H ;看门狗
MOV A,SEC
CJNE A,#8,TYTS4
TYTS4:JC TYT4
SETB P2.6
CLR 16H
CLR 17H ;清撤防标志位
TYT3:DJNZ R4,TYT5
CLR P3.7 ;挂
CLR P3.7
CLR 20H ;清标志位
RET
SZC7:;遥控设防子程序????????
NOP
NOP
JNB P1.5,WK1 ;LED灯等于转从新触发
SETB P3.6
ACALL DELKY1
CLR P3.6
NOP
NOP
ACALL DELKY
NOP
NOP
SETB P3.6
ACALL DELKY
JB P1.5,SZC7 ;LED灯等于1转从新触发
WK1: MOV AEG,#00H ;
SETB P3.1 ;切换喇叭报警继电器
CLR P2.2 ;语音播放
WKL1: MOV 0A6H,#01EH
MOV 0A6H,#0E1H
MOV A,AEG
CJNE A,#3,WK ;延时3秒
WK: JC WKL1
SETB P2.2
CLR 16H ;清屏蔽标志位
CLR P3.1
CLR 17H ;清撤防标志位
CLR 19H ;清故障标志位
RET
;遥控撤防子程序
SZC8: NOP
NOP
JB P1.5,WK3 ;LED灯等于转从新触发
SETB P3.6
NOP
NOP
ACALL DELKY1
CLR P3.6
NOP
NOP
ACALL DELKY
SETB P3.6
ACALL DELKY
NOP
NOP
JNB P1.5,SZC8 ;LED灯等于0转从新触发
WK3: MOV AEG,#00H ;
CLR P2.4 ;语音播放
NOP
NOP
ACALL DELKY ;屏蔽前面语音播放
NOP
NOP
SETB P3.1 ;切换喇叭报警继电器
WKL3: MOV 0A6H,#01EH
MOV 0A6H,#0E1H
MOV A,AEG
CJNE A,#4,WK2
WK2: JC WKL3
SETB P2.4
CLR P3.1
SETB 16H ;设置撤防屏蔽标志位
CLR 19H ;清故障标志位
RET
;晚上遥控设防子程序????????
SZC9:JNB P1.5,WK5 ;LED灯等于转从新触发
SETB P3.6
ACALL DELKY1
CLR P3.6
NOP
NOP
ACALL DELKY
NOP
NOP
ACALL DELKY
NOP
NOP
SETB P3.6
ACALL DELKY
JB P1.5,SZC9 ;LED灯等于转从新触发
WK5: MOV AEG,#00H ;
SETB P3.1 ;切换喇叭报警继电器
CLR P2.2 ;语音播放
NOP
NOP
WKL5: MOV 0A6H,#01EH
MOV 0A6H,#0E1H
MOV A,AEG
CJNE A,#1,WK4 ;延时3秒
WK4: JC WKL5
NOP
NOP
ACALL DELKY1 ;??
NOP
NOP
ACALL DELKY1
NOP
NOP
ACALL DELKY1
NOP
NOP
ACALL DELKY1
SETB P2.2
CLR P3.1
CLR 16H ;清四防区屏蔽标志位
SETB 17H ;屏蔽主卧室标志位
CLR 19H ;清故障标志位
RET
SZC10:
SETB P3.1 ;切换喇叭报警继电器
CLR P2.0
MOV SEC,#00H
TLYI1:MOV 0A6H,#01EH ;
MOV 0A6H,#0E1H ;
NOP
NOP
JB P1.6,WQET
ACALL DELKY1
JB P1.6,WQET
NOP
NOP
SJMP WQET1
WQET: MOV A,SEC
CJNE A,#30,TLYIK1 ;延时26秒
TLYIK1:JC TLYI1
WQET1: SETB P2.0
CLR P3.1 ;
RET
INT0_1:RETI
;T1中断子程序
INT_1:PUSH PSW
PUSH ACC ;
SETB P3.7 ;模拟提机
NOP
NOP
SETB P3.7
SETB 20H ;
NOP
NOP
CLR ET1 ;关T1中断
CLR TR1 ;关T1计数
SETB EX1 ;开外中断1
POP ACC
POP PSW
RETI
INT_2:RETI
INT1_2: ;外中断INT0入口
PUSH PSW
PUSH ACC
CLR EX1 ;关外部中断INT1
MOV SECD,#00H ;清秒内存
MOV TL1,#00H
MOV TH1,#00H;清T1
MOV TL1,47H
MOV TH1,48H
NOP
NOP
NOP
SETB TR1 ;开T1开始计算振铃次数
SETB ET1 ;开T1中断
POP ACC
POP PSW
RETI
INT_0:PUSH PSW
PUSH ACC
MOV 0A6H,#01EH ;看门狗
MOV 0A6H,#0E1H ;看门狗
MOV TL0,#0B0H
MOV TH0,#3CH
INC DEDA ;MS
MOV A,DEDA
CJNE A,#0AH,TT1 ;原14改7
CPL P3.2
MOV DEDA,#00H
INC AEG
INC SECD ;S33H
INC SECE ;S34H
INC SEC
INC AEA
TT1:MOV A,SECE
CJNE A,#60,TT2
MOV SECE,#00H
INC SECET
TT2:MOV A,SECET ;21分钟清0
CJNE A,#21,TT3
TT3:JC TT4
MOV SECET,#00H
TT4:
POP ACC
POP PSW
RETI
DELKY:MOV R2,#230 ;250*250=250MS
D0: MOV R3,#250
D1: MOV 0A6H,#01EH
MOV 0A6H,#0E1H
DJNZ R3,D1
DJNZ R2,D0
NOP
NOP
RET
DELKY1:MOV R2,#20 ;200*10*2*2=8MS
D2: MOV R3,#200
D3: MOV 0A6H,#01EH
MOV 0A6H,#0E1H
DJNZ R3,D3
DJNZ R2,D2
NOP
NOP
RET
NOP
NOP
NOP
NOP
AJMP LOOP
NOP
NOP
NOP
SJMP $
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -