该报警器的软件设计较为简单,有兴趣的网友可根据自己的实际需要进行相应功能的开发,这里把基本的程序列出来,供需要的网友参考。
ORG 0000H ;
CLR P1.6 ;
CLR P1.2 ;
ACALL DYS ;
SETB P1.6
ACALL YS ;
SETB P1.2 ;
CLR P1.3 ;
CLR P1.6 ;
ACALL DYS ;
SETB P1.6 ;
ACALL YS ;
SETB P1.3 ;
CLR P1.4 ;
CLR P1.6 ;
ACALL DYS ;
SETB P1.6 ;
ACALL YS ;
SETB P1.4 ;
CLR P1.5 ;
CLR P1.6 ;
ACALL DYS ;
SETB P1.6 ;
ACALL YS ; ;
MOV P1, #0FFH ;
MOV P3, #0FFH ;
AGARN: MOV R6, #34H ;
JB P3.6, TINDIAN ;检查是否停电
JNB P3.0, AGARN ;是否有有效无线信号输入
ACALL DYS ;
JNB P3.0, AGARN ;
MOV A, P3 ;读入无线信号值
ANL A, #3CH ;0011,1100
CJNE A,#20H, XH ;20H=00(10,00)00 B
;撤防程序
CLR P3.1 ;
CLR P1.6 ;撤防成功响应
CLR P1.4 ;指示灯
CLR P1.5 ;
SETB P3.7 ;
ACALL YS ;
SETB P1.6 ;
AJMP AGARN ;
XH: CJNE A,#30H, ONE ;判断是否为布防信号
SETB P3.1 ;
CLR P1.6 ;布防成功响应
SETB P1.4 ;指示灯
SETB P1.5 ;
SETB P3.7 ;
ACALL YS ;
SETB P1.6 ;
AJMP AGARN ;
ONE: JNB P3.1, AGARN ;
CJNE A,#4H, TWO ;1H=00(00,01)00B
MOV P1, #0FBH ;
AJMP BJ ;
TWO: CJNE A,#8H, THREE ;2H= 00(00,10)00B
MOV P1, #0F7H ;
AJMP BJ ;
THREE: CJNE A,#0CH, FOUR ;3H=00(00,11)00B
MOV P1, #0EFH ;
AJMP BJ ;
FOUR: CJNE A,#10H, FIVE ;00(01,00)00B
MOV P1, #0DFH ;
AJMP BJ ;
FIVE: NOP ;
NOP ;
NOP ;
AJMP AGARN ;
BJ: CLR P3.7 ;启动报警信号
ACALL YS ;延时34秒
JB P3.0, AGARN ;
DJNZ R6, BJ ;
SETB P3.7 ;关闭报警信号
AJMP AGARN ;
TINDIAN: MOV P1, #0FFH ;停电程序
CLR P1.6 ;
CLR P1.5 ;
ACALL YS ;
SETB P1.6 ;
SETB P1.5 ;
ACALL YS ;
CLR P1.6 ;
CLR P1.5 ;
ACALL YS ;
SETB P1.6 ;
SETB P1.5 ;
ACALL YS ;
AJMP AGARN ;
DYS: MOV R0, #14H ;
L1: MOV R1, #0F1H ;
L2: NOP ;
NOP ;
NOP ;
DJNZ R1, L2 ;
DJNZ R0, L1 ;
RET
YS: MOV R0, 0FFH ;
L3: MOV R1, 0F1H ;
L4: NOP ;
NOP ;
NOP ;
DJNZ R1, L4 ;
DJNZ R0, L3 ;
RET ;
END ;
这款无线报警主机对任何发射频率为315M,编码采用PT2262的无线探头都可适用,如无线人体探测器,无线门磁传感器、无线微波探测器等,由于实际使用的环境不同,所需主机与之相配套的设置也不同,网友可以根据自己的发辉,通过编写不同的软件,从而实现不同的功能,这里不再详述。