⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 8951.asm

📁 车用防盗器原程序
💻 ASM
字号:
             ORG 0000H 

             AJMP MAIN

             ORG 0050H

  MAIN:      MOV P0,#0FFH

             ACALL DD3

  LOOP:      JNB P1.0,LOOP;判断VT是否有信号

             ACALL DL;延时防抖动

             JB P1.0,START;有信号则启动

             AJMP LOOP;无则返回

  START:     JNB P1.1,XD1;判断D1信号

             ACALL DL

             JB P1.1,FDSD;有则进入防盗设定

    XD1:     JNB P1.2,XD2;判断D2信号

             ACALL DL

             JB P1.2,CBA1;有则进入解除防盗

    XD2:     JNB P1.3,XD3;判断D3信号

             ACALL DL

             JB P1.3,CBA2;有则进入启动暖车

    XD3:     JNB P1.4,XD4;判断D4信号

             ACALL DL

             JB P1.4,CBA3;有则进入寻车求救

    XD4:     AJMP LOOP;无D1-D4的信号则返回

   CBA1:     AJMP JCFD

   CBA2:     AJMP QDNC

   CBA3:     AJMP XCQJ

   FDSD:     MOV R4,#0FH;二级设定键廷时用

             ACALL BJ;一级防盗设定程序,先报警

             CLR P0.1;熄火程序

             SETB P0.2

             ACALL DD2

             SETB P0.1

             ACALL DD1;延时3秒

    FD1:     JNB P1.5,FD2;判断振动信号

             ACALL DL

             JB P1.5,BZC;有则进入5秒声光报警程序

    FD2:     JNB P1.7,FD3;判断锁头正电线是否带电

             ACALL DL

             JB P1.7,BZC;有则进入5秒声光报警程序

    FD3:     JNB P1.0,FD4;判断VT是否有信号

             ACALL DL

             JB P1.2,CBA1

             JB P1.3,CBA2

             JB P1.4,CBA3

             JNB P1.1,CE

             ACALL CDSD;调用二级防盗报警

      CE:    JB P1.0,MAIN;有则返回

     FD4:    DJNZ R4,DE

             AJMP FB1 ;超过时间就转回到一级设定等待

      DE:    AJMP FD1

     FB1:    JNB P1.5,FB2;判断振动信号

             ACALL DL

             JB P1.5,BZC;有则进入5秒声光报警程序

     FB2:    JNB P1.7,FB3;判断锁头正电线是否带电

             ACALL DL

             JB P1.7,BZC;有则进入5秒声光报警程序

     FB3:    JNB P1.0,FB4;判断VT是否有信号

             ACALL DL

             JB P1.2,CBA1

             JB P1.3,CBA2

             JB P1.4,CBA3

             JB P1.1,FDSD

     FB4:    AJMP FB1

    CDSD:    ACALL BBJ;进入二级无声防盗设定程序

             ACALL DD3;延时3秒
 
     BD1:    JNB P1.5,BD2;判断振动信号

             ACALL DL

             JB P1.5,CBZC;有则进入无声灯闪三下报警程序

     BD2:    JNB P1.7,BD3;判断锁头正电线是否带电

             ACALL DL

             JB P1.7,CBZC;有则进入无声灯闪三下报警程序

     BD3:    JNB P1.0,BD4;判断VT是否有信号

             ACALL DL

             JB P1.0,V;有则返回

     BD4:    AJMP BD1

       V:    AJMP LOOP

    CBZC:    ACALL CBJS

     BZC:    ACALL BJS;调用5秒声光报警程序

      BG:    ACALL DD3;延时3秒

             ACALL DD2;延时2秒

      BR:    JNB P1.5,BC1;判断振动信号

             ACALL DL

             JB P1.5,JJ;有则进入二级15秒报警

     BC1:    JNB P1.7,BC2;判断锁头正电线是否带电

             ACALL DL

             JB P1.7,JJ;有则进入二级15秒报警

     BC2:    JNB P1.0,BC3;判断VT是否有信号

             ACALL DL

             JB P1.0,FH;有则返回

     BC3:    AJMP BD1

       F:    ACALL DD3;延时3秒

             ACALL DD2;延时2秒

             JNB P1.5,BZC1;判断振动信号

             ACALL DL

             JB P1.5,BJJ;有则进入一级15秒报警

     BZC1:   JNB P1.7,BZC2;判断锁头正电线是否带电

             ACALL DL

             JB P1.7,BJJ;有则进入一级15秒报警

     BZC2:   JNB P1.0,BZC3;判断VT是否有信号

             ACALL DL

             JB P1.0,FH;有则返回

     BZC3:   AJMP FD1

      BJJ:   ACALL BZJ;调用连续一级15秒声光报警程序

             ACALL DD1

             JNB P1.7,BJJ1;判断锁头正电线是否带电

             ACALL DL

             JB P1.7,XH;有则进入熄火程序

     BJJ1:   JNB P1.0,BJJ2;判断VT是否有信号

             ACALL DL

             JB P1.0,FH;有则返回

     BJJ2:   AJMP BJJ

       XH:   CLR P0.1;熄火程序

             SETB P0.2

             ACALL DD2

             SETB P0.1

             AJMP BJJ
 
       FH:   AJMP MAIN

       JJ:   ACALL BZ;调用二级无灯闪15秒报警程序

             ACALL DD1

             JNB P1.7,JJ1;判断锁头正电线是否带电

             ACALL DL

             JB P1.7,XH;有则进入熄火程序

      JJ1:   JNB P1.0,JJ2;判断VT是否有信号

             ACALL DL

             JB P1.0,FH;有则返回

      JJ2:   AJMP JJ

        H:   CLR P0.1;熄火程序

             SETB P0.2

             ACALL DD2

             SETB P0.1

             AJMP BJJ

       CH:   AJMP MAIN

     JCFD:   ACALL BJ;解除防盗程序,声光2次

             ACALL DD1

             ACALL BJ

             CLR P0.1

             SETB P0.2

             ACALL DD2

             AJMP MAIN

     QDNC:   MOV R3,#32H ;起动廷时用程序

       EF:   JB P1.0,EF

       E1:   MOV R4,#0FFH

       E2:   MOV R5,#0FH

             ACALL DL

       HG:   JB P1.0,GQ ;检测VT信号

             ACALL DL

             DJNZ R5,$

             DJNZ R4,E2

             DJNZ R3,E1

             AJMP LOOP ;廷时时间内无再有信号则返回

       GQ:   ACALL DL

             JB P1.3,EW;再检测D3信号

             AJMP LOOP

       EW:   CLR P0.2;有测启动暖车程序

             CLR P0.0

             ACALL DD2

             JB P1.0,$

             SETB P0.0

             ACALL DD3

             AJMP LOOP

     XCQJ:   MOV R3,#0FH;寻车求救程序(13响)

    XCQJ1:   ACALL XBJ

             ACALL DD1

             JNB P1.0,XCQJ2;判断VT是否有信号

             ACALL DL

             JB P1.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 P0.3;灯光报警子程序
 
             MOV R6,#0FFH

      BB1:   MOV R7,#0FFH

             DJNZ R7,$

             DJNZ R6,BB1

             SETB P0.3

             RET

      XBJ:   CLR P0.3;寻车报警子程序

             CLR P0.4

             MOV R6,#0FFH

      XB1:   MOV R7,#0FFH

             DJNZ R7,$

             DJNZ R6,XB1

             SETB P0.4

             SETB P0.3

             RET

       BJ:   CLR P0.3;报警声子程序
 
             CLR P0.4

             MOV R6,#5FH

       B1:   MOV R7,#0FFH

             DJNZ R7,$

             DJNZ R6,B1

             SETB P0.4

             SETB P0.3

             RET

      STA:   AJMP START
 
     CBJS:   AJMP CJCT

      BJS:   AJMP BJCT

       BZ:   CLR P0.4

             CLR P0.1

             MOV R4,#0FH;二级报警程序(15响)

      CQ1: ;无灯闪报警

            ACALL DD1

            JNB P1.0,CB1;判断VT是否有信号
  
            ACALL DL

            JB P1.0,CB2;有则返回

      CB1:  DJNZ R4,CQ1

      CB2:  SETB P0.1

            SETB P0.4

            AJMP BG

      BZJ:  CLR P0.4

            CLR P0.1

            MOV R4,#0FH;一级防盗报警程序(15响)

      CC1:  ACALL BBJ ;声光报警

            ACALL DD1

            JNB P1.0,CJ1;判断VT是否有信号

            ACALL DL

            JB P1.0,CJ2;有则返回

      CJ1:  DJNZ R4,CC1

      CJ2:  SETB P0.1

            SETB P0.4

            AJMP F

     BJCT:  CLR P0.4

            MOV R4,#05H;一级防盗报警程序(5声响)

       CJ:  ACALL BBJ

            ACALL DD1
 
            JNB P1.0,CAJ1;判断VT是否有信号
 
            ACALL DL

            JB P1.0,CAJ2;有则返回

    CAJ1:   DJNZ R4,CJ

    CAJ2:   SETB P0.1

            SETB P0.4

            AJMP F

    CJCT:   MOV R4,#03H;二级防盗报警程序(3闪灯)

     BJ1:   ACALL BBJ

            ACALL DD1

            JNB P1.0,AJ1;判断VT是否有信号

            ACALL DL

            JB P1.0,AJ2;有则返回

     AJ1:   DJNZ R4,BJ1

     AJ2:   SETB P0.1

            AJMP BG

            END

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -