|
;;89C2051摩托車報(bào)警器 ORG 0000H AJMP MAIN ORG 0050H MAIN: MOV P1,#0FFH ACALL DD3 LOOP: JNB P3.0,LOOP;判斷VT是否有信號 ACALL DL;延時(shí)防抖動 JB P3.0,START;有信號則啟動 AJMP LOOP;無則返回 START:JNB P3.1,XD1;判斷D1信號 ACALL DL JB P3.1,FDSD;有則進(jìn)入防盜設(shè)定 XD1: JNB P3.2,XD2;判斷D2信號 ACALL DL JB P3.2,CBA1;有則進(jìn)入解除防盜 XD2: JNB P3.3,XD3;判斷D3信號 ACALL DL JB P3.3,CBA2;有則進(jìn)入啟動暖車 XD3: JNB P3.4,XD4;判斷D4信號 ACALL DL JB P3.4,CBA3;有則進(jìn)入尋車求救 XD4: AJMP LOOP;無D1-D4的信號則返回 CBA1: AJMP JCFD CBA2: AJMP QDNC CBA3: AJMP XCQJ FDSD: MOV R4,#0FH;二級設(shè)定鍵廷時(shí)用 ACALL BJ;一級防盜設(shè)定程序,先報(bào)警 CLR P1.1;熄火程序 SETB P1.2 ACALL DD2 SETB P1.1 ACALL DD1;延時(shí)3秒 FD1: JNB P3.5,FD2;判斷振動信號 ACALL DL JB P3.5,BZC;有則進(jìn)入5秒聲光報(bào)警程序 FD2: JNB P3.7,FD3;判斷鎖頭正電線是否帶電 ACALL DL JB P3.7,BZC;有則進(jìn)入5秒聲光報(bào)警程序 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)用二級防盜報(bào)警 CE: JB P3.0,MAIN;有則返回 FD4: DJNZ R4,DE AJMP FB1 ;超過時(shí)間就轉(zhuǎn)回到一級設(shè)定等待 DE: AJMP FD1 FB1: JNB P3.5,FB2;判斷振動信號 ACALL DL JB P3.5,BZC;有則進(jìn)入5秒聲光報(bào)警程序 FB2: JNB P3.7,FB3;判斷鎖頭正電線是否帶電 ACALL DL JB P3.7,BZC;有則進(jìn)入5秒聲光報(bào)警程序 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;進(jìn)入二級無聲防盜設(shè)定程序 ACALL DD3;延時(shí)3秒 BD1: JNB P3.5,BD2;判斷振動信號 ACALL DL JB P3.5,CBZC;有則進(jìn)入無聲燈閃三下報(bào)警程序 BD2: JNB P3.7,BD3;判斷鎖頭正電線是否帶電 ACALL DL JB P3.7,CBZC;有則進(jìn)入無聲燈閃三下報(bào)警程序 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秒聲光報(bào)警程序 BG: ACALL DD3;延時(shí)3秒 ACALL DD2;延時(shí)2秒 BR: JNB P3.5,BC1;判斷振動信號 ACALL DL JB P3.5,JJ;有則進(jìn)入二級15秒報(bào)警 BC1: JNB P3.7,BC2;判斷鎖頭正電線是否帶電 ACALL DL JB P3.7,JJ;有則進(jìn)入二級15秒報(bào)警 BC2: JNB P3.0,BC3;判斷VT是否有信號 ACALL DL JB P3.0,FH;有則返回 BC3: AJMP BD1 F: ACALL DD3;延時(shí)3秒 ACALL DD2;延時(shí)2秒 JNB P3.5,BZC1;判斷振動信號 ACALL DL JB P3.5,BJJ;有則進(jìn)入一級15秒報(bào)警 BZC1: JNB P3.7,BZC2;判斷鎖頭正電線是否帶電 ACALL DL JB P3.7,BJJ;有則進(jìn)入一級15秒報(bào)警 BZC2: JNB P3.0,BZC3;判斷VT是否有信號 ACALL DL JB P3.0,FH;有則返回 BZC3: AJMP FD1 BJJ: ACALL BZJ;調(diào)用連續(xù)一級15秒聲光報(bào)警程序 ACALL DD1 JNB P3.7,BJJ1;判斷鎖頭正電線是否帶電 ACALL DL JB P3.7,XH;有則進(jìn)入熄火程序 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秒報(bào)警程序 ACALL DD1 JNB P3.7,JJ1;判斷鎖頭正電線是否帶電 ACALL DL JB P3.7,XH;有則進(jìn)入熄火程序 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 ;起動廷時(shí)用程序 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 ;廷時(shí)時(shí)間內(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;按鍵延時(shí)子程序 DJNZ R6,$ RET DD3: MOV R5,#09H;3秒延時(shí)子程序 D3: MOV R6,#0FFH D4: MOV R7,#0FFH DJNZ R7,$ DJNZ R6,D4 DJNZ R5,D3 RET DD2: MOV R5,#06H;2秒延時(shí)子程序 D5: MOV R6,#0FFH D6: MOV R7,#0FFH DJNZ R7,$ DJNZ R6,D6 DJNZ R5,D5 RET DD1: MOV R5,#03H;1秒延時(shí)子程序 D0: MOV R6,#0FFH D1: MOV R7,#0FFH DJNZ R7,$ DJNZ R6,D1 DJNZ R5,D0 RET BBJ: CLR P1.3;燈光報(bào)警子程序 MOV R6,#0FFH BB1: MOV R7,#0FFH DJNZ R7,$ DJNZ R6,BB1 SETB P1.3 RET XBJ: CLR P1.3;尋車報(bào)警子程序 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;報(bào)警聲子程序 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;二級報(bào)警程序(15響) CQ1: ;無燈閃報(bào)警 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;一級防盜報(bào)警程序(15響) CC1: ACALL BBJ ;聲光報(bào)警 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;一級防盜報(bào)警程序(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;二級防盜報(bào)警程序(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晶體,可以改成家用報(bào)警器。 ;;防盜設(shè)定鍵(D1)輸入一次高電位,則進(jìn)入一級報(bào)警方式,報(bào)警一響聲,同時(shí)L、R燈閃一下。3秒 后進(jìn)入一級報(bào)警狀態(tài), ;;此時(shí)若有振動信號或鎖頭上電(防止非法開車),則報(bào)警5秒,同時(shí)燈閃5下,5秒內(nèi)再有觸發(fā)信號 則連續(xù)報(bào)警15秒, ;;燈同時(shí)閃15下(原程序則連續(xù)報(bào)警直到用遙控器關(guān)斷,這樣太浪費(fèi)電,還有如果離車太遠(yuǎn)又要回來 關(guān),否則會叫到無 ;;電為止,加上太吵人了),如果一直有觸發(fā)信號則一直報(bào)警,同時(shí)熄火繼電器動作,無觸發(fā)信號后 又回到一級報(bào)警方式等待。 ;; ;;防盜設(shè)定鍵(D1)在2秒內(nèi)再輸入一次高電位,則進(jìn)入二級省電報(bào)警方式,無報(bào)警聲,燈閃一下,3 秒后進(jìn)入二級報(bào)警狀態(tài), ;;此時(shí)有振動信號或鎖頭上電,則無聲報(bào)警,只有燈閃三下,如果5秒內(nèi)再有觸發(fā)信號則連續(xù)報(bào)警15 秒,燈不閃(為了省電), ;;如果一直有信號觸發(fā)則一直報(bào)警,同時(shí)熄火繼電器動作。無觸發(fā)信號后又回到二級省電報(bào)報(bào)警方式 等待。 ; ;;防盜解除鍵(D2)高電位時(shí)和原作者的差不多,只是縮短了二下報(bào)警聲時(shí)間(防止太吵)。同時(shí)燈 閃二下,解除報(bào)警狀態(tài), ;;熄火繼電器動作(作用是在用遙控開車時(shí)熄火作用)。 ;; ;;起動曖車鍵(D3)在二秒內(nèi)輸入高電位二次時(shí)進(jìn)入起動曖車,鎖頭上電,起動繼電器動作1秒,連 續(xù)按住時(shí)則起動繼電器一直動作, ;;直到放開按鍵,一次輸入高電位時(shí)無作用(防止誤動作),原程序沒有此功能。 ;; ;;尋車求救鍵(D4)高電位時(shí)進(jìn)入尋車求救報(bào)警,此時(shí)報(bào)警聲響13響,燈同時(shí)閃13下。中途可按遙控 器停止 ;;89C2051+2262+2272摩托車報(bào)警器 6M ;;P3.0=VT ;;P1.0=啟動繼電器 ;;P3.1=D1 ;;P1.1=熄火繼電器 ;;P3.2=D2 ;;P1.2=正電繼電器 ;;P3.3=D3 ;;P1.3=LR燈光報(bào)警 ;;P3.4=D4 ;;P1.4=聲音報(bào)警 ;;P3.5=振動信號(閑置接地) ;;P1.5= ;;P3.7=鎖頭正電線(接地) ;;P1.6= |