|
;;89C2051摩托車報警器 ORG 0000H AJMP MAIN ORG 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;調(diào)用二級防盜報警 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;調(diào)用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;調(diào)用連續(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;調(diào)用二級無燈閃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 ;廷時時間內(nèi)無再有信號則返回 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 6M晶體,可以改成家用報警器。 ;;防盜設定鍵(D1)輸入一次高電位,則進入一級報警方式,報警一響聲,同時L、R燈閃一下。3秒 后進入一級報警狀態(tài), ;;此時若有振動信號或鎖頭上電(防止非法開車),則報警5秒,同時燈閃5下,5秒內(nèi)再有觸發(fā)信號 則連續(xù)報警15秒, ;;燈同時閃15下(原程序則連續(xù)報警直到用遙控器關斷,這樣太浪費電,還有如果離車太遠又要回來 關,否則會叫到無 ;;電為止,加上太吵人了),如果一直有觸發(fā)信號則一直報警,同時熄火繼電器動作,無觸發(fā)信號后 又回到一級報警方式等待。 ;; ;;防盜設定鍵(D1)在2秒內(nèi)再輸入一次高電位,則進入二級省電報警方式,無報警聲,燈閃一下,3 秒后進入二級報警狀態(tài), ;;此時有振動信號或鎖頭上電,則無聲報警,只有燈閃三下,如果5秒內(nèi)再有觸發(fā)信號則連續(xù)報警15 秒,燈不閃(為了省電), ;;如果一直有信號觸發(fā)則一直報警,同時熄火繼電器動作。無觸發(fā)信號后又回到二級省電報報警方式 等待。 ; ;;防盜解除鍵(D2)高電位時和原作者的差不多,只是縮短了二下報警聲時間(防止太吵)。同時燈 閃二下,解除報警狀態(tài), ;;熄火繼電器動作(作用是在用遙控開車時熄火作用)。 ;; ;;起動曖車鍵(D3)在二秒內(nèi)輸入高電位二次時進入起動曖車,鎖頭上電,起動繼電器動作1秒,連 續(xù)按住時則起動繼電器一直動作, ;;直到放開按鍵,一次輸入高電位時無作用(防止誤動作),原程序沒有此功能。 ;; ;;尋車求救鍵(D4)高電位時進入尋車求救報警,此時報警聲響13響,燈同時閃13下。中途可按遙控 器停止 ;;89C2051+2262+2272摩托車報警器 6M ;;P3.0=VT ;;P1.0=啟動繼電器 ;;P3.1=D1 ;;P1.1=熄火繼電器 ;;P3.2=D2 ;;P1.2=正電繼電器 ;;P3.3=D3 ;;P1.3=LR燈光報警 ;;P3.4=D4 ;;P1.4=聲音報警 ;;P3.5=振動信號(閑置接地) ;;P1.5= ;;P3.7=鎖頭正電線(接地) ;;P1.6= |