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