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

📄 限电器.asm

📁 只现于500W以内的限电程序
💻 ASM
字号:
        ORG             0000H
        SJMP            START
        SCL             BIT      P2.4
        SDA             BIT      P2.3
START:  MOV             R1,#30H
        MOV             R7,#01H
        MOV             DPTR,#0FEF9H
 QD:    MOVX            @DPTR,A
        JNB             P2.0, XIE     ;判定P2。0是否为1,为0的时候则进行XIE操作其中XIE为24c02写
        DJNZ            R7,QD
        LCALL           DU           ;DU为24C02读
        MOVX            A,@DPTR
        MOVX            @R1,A
        MOV             A,@R1
        MOV             B,A                                   
;//////////////////////////////////////////////////////////////////////////////////////
        MOV             A,R3                            ;+5比较开始
        ADDC            A,#05H
        CJNE            A,B,LOOP1                      ;不相等则转                
        SJMP            GZ                            ;相等51工作                           
LOOP1:  JNC             BGZ                                 
        
KK:     MOV             A,R3                            ;KK为 -5的比较               
        SUBB            A,#05H
        CJNE            A,B,LOOP2
        SJMP            GZ
LOOP2:  JC              BGZ
        SJMP            GZ        ;将24C02中的数读出来与0809的数做比较,如果不为0,就控制计电器让51停止工作,也就是传说中的跳砸。
        LJMP            START       
        RET


   GZ:  CLR             P1.0             ;51GZ为51工作               
        LJMP            START
        RET
  BGZ:  SETB            P1.0
        LJMP            START
        RET
;////////////////////////////////////////////////////////////////////////////////////////////

XIE:    LCALL           ST24
        MOV             A,#0A0H
        LCALL           XIECX
        MOV             A,#80H
        LCALL           XIECX
        MOV             A,#30H
        LCALL           XIECX
        LCALL           STOP24
        RET

DU:     LCALL           ST24
        MOV             A,#0A0H
        LCALL           XIECX
        MOV             A,#80H
        LCALL           XIECX
        NOP
        LCALL           ST24
        MOV             A, #0A1H
        LCALL           XIECX
        LCALL           DUCX
        LCALL           STOP24
        RET
XIECX:  NOP
        MOV            R5,#08H
YYY:    CLR            SCL
        RLC            A
        MOV            SDA,C
        SETB           SCL
        DJNZ           R5,YYY
        CLR            SCL
        NOP
        SETB           SCL
        NOP
        JB             SDA,$
        CLR            SCL
        NOP
        RET
 DUCX:  NOP
        MOV            R5,#8
   ZZZ: CLR            SCL
        NOP
        SETB           SCL
        NOP
        MOV            C,SDA
        RLC            A
        DJNZ           R5,ZZZ
        MOV            R3,A
        CLR            SCL
        NOP
        SETB           SDA
        NOP
        SETB           SCL
        NOP
        RET
 ST24:  CLR            SCL
        NOP
        SETB           SDA
        NOP
        SETB           SCL
        NOP
        CLR            SDA
        NOP
        CLR            SCL
        RET
STOP24: CLR             SCL
        NOP
        CLR             SDA
        NOP
        SETB            SCL
        NOP
        SETB            SDA
        NOP
        CLR             SCL
        RET
        END








⌨️ 快捷键说明

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