|
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;調用連續(xù)一級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 |