| ; PIC单片机 www.pic16.com
ORG 0000H AJMP MAIN RG 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 ;-------------------PIC单片机 www.pic16.com ----------------------- |