摩托车报警器源程序
ORG 0000H AJMP MAINRG 0050H
MAIN: MOV P1,#0FFH
ACALL DD3
LOOP: JNB P3.0,LOOP;判断VT是否有信号
ACALL DL;延时防抖动
JB P3.0,START;有信号则启动
AJMP LOOP;无则返回
START:JNB P3.1,XD1;判断D1信号
ACALL DL
JB P3.1,FDSD;有则进入防盗设定
XD1: JNB P3.2,XD2;判断D2信号
ACALL DL
JB P3.2,CBA1;有则进入解除防盗
XD2: JNB P3.3,XD3;判断D3信号
ACALL DL
JB P3.3,CBA2;有则进入启动暖车
XD3: JNB P3.4,XD4;判断D4信号
ACALL DL
JB P3.4,CBA3;有则进入寻车求救
XD4: AJMP LOOP;无D1-D4的信号则返回
CBA1: AJMP JCFD
CBA2: AJMP QDNC
CBA3: AJMP XCQJ
FDSD: MOV R4,#0FH;二级设定键廷时用
ACALL BJ;一级防盗设定程序,先报警
CLR P1.1;熄火程序
SETB P1.2
ACALL DD2
SETB P1.1
ACALL DD1;延时3秒
FD1: JNB P3.5,FD2;判断振动信号
ACALL DL
JB P3.5,BZC;有则进入5秒声光报警程序
FD2: JNB P3.7,FD3;判断锁头正电线是否带电
ACALL DL
JB P3.7,BZC;有则进入5秒声光报警程序
FD3: JNB P3.0,FD4;判断VT是否有信号
ACALL DL
JB P3.2,CBA1
JB P3.3,CBA2
JB P3.4,CBA3
JNB P3.1,CE
ACALL CDSD;调用二级防盗报警
CE: JB P3.0,MAIN;有则返回
FD4: DJNZ R4,DE
AJMP FB1 ;超过时间就转回到一级设定等待
DE: AJMP FD1
FB1: JNB P3.5,FB2;判断振动信号
ACALL DL
JB P3.5,BZC;有则进入5秒声光报警程序
FB2: JNB P3.7,FB3;判断锁头正电线是否带电
ACALL DL
JB P3.7,BZC;有则进入5秒声光报警程序
FB3: JNB P3.0,FB4;判断VT是否有信号
ACALL DL
JB P3.2,CBA1
JB P3.3,CBA2
JB P3.4,CBA3
JB P3.1,FDSD
FB4: AJMP FB1
CDSD: ACALL BBJ;进入二级无声防盗设定程序
ACALL DD3;延时3秒
BD1: JNB P3.5,BD2;判断振动信号
ACALL DL
JB P3.5,CBZC;有则进入无声灯闪三下报警程序
BD2: JNB P3.7,BD3;判断锁头正电线是否带电
ACALL DL
JB P3.7,CBZC;有则进入无声灯闪三下报警程序
BD3: JNB P3.0,BD4;判断VT是否有信号
ACALL DL
JB P3.0,V;有则返回
BD4: AJMP BD1
V: AJMP LOOP
CBZC: ACALL CBJS
BZC: ACALL BJS;调用5秒声光报警程序
BG: ACALL DD3;延时3秒
ACALL DD2;延时2秒
BR: JNB P3.5,BC1;判断振动信号
ACALL DL
JB P3.5,JJ;有则进入二级15秒报警
BC1: JNB P3.7,BC2;判断锁头正电线是否带电
ACALL DL
JB P3.7,JJ;有则进入二级15秒报警
BC2: JNB P3.0,BC3;判断VT是否有信号
ACALL DL
JB P3.0,FH;有则返回
BC3: AJMP BD1
F: ACALL DD3;延时3秒
ACALL DD2;延时2秒
JNB P3.5,BZC1;判断振动信号
ACALL DL
JB P3.5,BJJ;有则进入一级15秒报警
BZC1: JNB P3.7,BZC2;判断锁头正电线是否带电
ACALL DL
JB P3.7,BJJ;有则进入一级15秒报警
BZC2: JNB P3.0,BZC3;判断VT是否有信号
ACALL DL
JB P3.0,FH;有则返回
BZC3: AJMP FD1
BJJ: ACALL BZJ;调用连续一级15秒声光报警程序
ACALL DD1
JNB P3.7,BJJ1;判断锁头正电线是否带电
ACALL DL
JB P3.7,XH;有则进入熄火程序
BJJ1: JNB P3.0,BJJ2;判断VT是否有信号
ACALL DL
JB P3.0,FH;有则返回
BJJ2: AJMP BJJ
XH: CLR P1.1;熄火程序
SETB P1.2
ACALL DD2
SETB P1.1
AJMP BJJ
FH: AJMP MAIN
JJ: ACALL BZ;调用二级无灯闪15秒报警程序
ACALL DD1
JNB P3.7,JJ1;判断锁头正电线是否带电
ACALL DL
JB P3.7,XH;有则进入熄火程序
JJ1: JNB P3.0,JJ2;判断VT是否有信号
ACALL DL
JB P3.0,FH;有则返回
JJ2: AJMP JJ
H: CLR P1.1;熄火程序
SETB P1.2
ACALL DD2
SETB P1.1
AJMP BJJ
CH: AJMP MAIN
JCFD: ACALL BJ;解除防盗程序,声光2次
ACALL DD1
ACALL BJ
CLR P1.1
SETB P1.2
ACALL DD2
AJMP MAIN
QDNC: MOV R3,#32H ;起动廷时用程序
EF: JB P3.0,EF
E1: MOV R4,#0FFH
E2: MOV R5,#0FH
ACALL DL
HG: JB P3.0,GQ ;检测VT信号
ACALL DL
DJNZ R5,$
DJNZ R4,E2
DJNZ R3,E1
AJMP LOOP ;廷时时间内无再有信号则返回
GQ: ACALL DL
JB P3.3,EW;再检测D3信号
AJMP LOOP
EW: CLR P1.2;有测启动暖车程序
CLR P1.0
ACALL DD2
JB P3.0,$
SETB P1.0
ACALL DD3
AJMP LOOP
XCQJ: MOV R3,#0FH;寻车求救程序(13响)
XCQJ1:ACALL XBJ
ACALL DD1
JNB P3.0,XCQJ2;判断VT是否有信号
ACALL DL
JB P3.0,XCQJ3;有则返回
XCQJ2:DJNZ R3,XCQJ1
XCQJ3:AJMP LOOP
DL: MOV R6,#0AH;按键延时子程序
DJNZ R6,$
RET
DD3: MOV R5,#09H;3秒延时子程序
D3: MOV R6,#0FFH
D4: MOV R7,#0FFH
DJNZ R7,$
DJNZ R6,D4
DJNZ R5,D3
RET
DD2: MOV R5,#06H;2秒延时子程序
D5: MOV R6,#0FFH
D6: MOV R7,#0FFH
DJNZ R7,$
DJNZ R6,D6
DJNZ R5,D5
RET
DD1: MOV R5,#03H;1秒延时子程序
D0: MOV R6,#0FFH
D1: MOV R7,#0FFH
DJNZ R7,$
DJNZ R6,D1
DJNZ R5,D0
RET
BBJ: CLR P1.3;灯光报警子程序
MOV R6,#0FFH
BB1: MOV R7,#0FFH
DJNZ R7,$
DJNZ R6,BB1
SETB P1.3
RET
XBJ: CLR P1.3;寻车报警子程序
CLR P1.4
MOV R6,#0FFH
XB1: MOV R7,#0FFH
DJNZ R7,$
DJNZ R6,XB1
SETB P1.4
SETB P1.3
RET
BJ: CLR P1.3;报警声子程序
CLR P1.4
MOV R6,#5FH
B1: MOV R7,#0FFH
DJNZ R7,$
DJNZ R6,B1
SETB P1.4
SETB P1.3
RET
STA: AJMP START
CBJS: AJMP CJCT
BJS: AJMP BJCT
BZ: CLR P1.4
CLR P1.1
MOV R4,#0FH;二级报警程序(15响)
CQ1: ;无灯闪报警
ACALL DD1
JNB P3.0,CB1;判断VT是否有信号
ACALL DL
JB P3.0,CB2;有则返回
CB1: DJNZ R4,CQ1
CB2: SETB P1.1
SETB P1.4
AJMP BG
BZJ: CLR P1.4
CLR P1.1
MOV R4,#0FH;一级防盗报警程序(15响)
CC1: ACALL BBJ ;声光报警
ACALL DD1
JNB P3.0,CJ1;判断VT是否有信号
ACALL DL
JB P3.0,CJ2;有则返回
CJ1: DJNZ R4,CC1
CJ2: SETB P1.1
SETB P1.4
AJMP F
BJCT: CLR P1.4
MOV R4,#05H;一级防盗报警程序(5声响)
CJ: ACALL BBJ
ACALL DD1
JNB P3.0,CAJ1;判断VT是否有信号
ACALL DL
JB P3.0,CAJ2;有则返回
CAJ1: DJNZ R4,CJ
CAJ2: SETB P1.1
SETB P1.4
AJMP F
CJCT: MOV R4,#03H;二级防盗报警程序(3闪灯)
BJ1: ACALL BBJ
ACALL DD1
JNB P3.0,AJ1;判断VT是否有信号
ACALL DL
JB P3.0,AJ2;有则返回
AJ1: DJNZ R4,BJ1
AJ2: SETB P1.1
AJMP BG
END
页:
[1]