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

📄 xgc-10.asm

📁 关于无功补偿的单片机开发实例
💻 ASM
字号:
            AJMP    MAIN          ; 目标功率因数
            ORG     0003H         ; 2001.9.14
            RETI
            ORG     000BH
            INC     27H
            RETI
            ORG     001BH
            LJMP    JSSN
MAIN:       CLR     P1.1
            SETB    P1.1
            MOV     P1,#0FFH
            MOV     P3,#0FH
            MOV     R0,#20H
            MOV     R3,#40H
            CLR     A
CLP:        MOV     @R0,A
            INC     R0
            DJNZ    R3,CLP
            MOV     SP,#5FH
            SETB    P3.2
            SETB    P1.1
            SETB    19H
            SETB    06H
            SETB    1AH
            SETB    1BH
            SETB    P3.3
            CLR     0EH
            MOV     1DH,#6
            MOV     1EH,#0
            MOV     48H,#3
            MOV     49H,#6
            MOV     4AH,#99H
            MOV     2EH,#0
            MOV     2FH,#0
            MOV     24H,#18H
            MOV     25H,#0
            MOV     26H,#0
            LCALL   DISP
            MOV     R1,#80
DR2:        LCALL   DY20
            CLR     P1.1
            SETB    P1.1
            DJNZ    R1,DR2
            LCALL   TCS
AUTO:       LCALL   KEY
            JB      0AH,AUTO
            JB      0CH,AUTO
            JB      0DH,AUTO
            JNB     06H,HAND
            SETB    1CH
            LCALL   AD00
            LCALL   AD00
            LCALL   AD0
            LCALL   AD0
            LCALL   FJ0
            LCALL   BK
            LCALL   XZ
            SJMP    AUTO
HAND:       JNB     04H,AUTO
            LCALL   AD00
            LCALL   AD00
            LCALL   AD0
            LCALL   AD0
            LCALL   KEY
            LCALL   FJ0
            SJMP    HAND
            NOP
            NOP
            NOP
            LJMP    MAIN
AD:         SETB    P3.2
            CLR     P3.4
            CLR     P3.2
            SETB    P1.2
            SETB    P3.4
            CLR     P3.4
            SETB    P3.4
            CLR     P3.4
            MOV     C,00H
            MOV     P1.2,C
            SETB    P3.4
            CLR     P3.4
            SETB    P3.4
IN:         MOV     R0,#8
IN1:        SETB    P3.4
            CLR     P3.4
            MOV     C,P1.0
            RLC     A
            DJNZ    R0,IN1
            SETB    P3.4
            SETB    P3.2
            RET
AD0:        CLR     00H
            ACALL   AD
            MOV     3EH,A
            CLR     C
            MOV     A,#07DH
            SUBB    A,3EH
            JC      AD0C
            MOV     A,3EH
            RL      A
            MOV     3DH,A
            SUBB    A,#5
            JNC     AD1C
            SETB    12H
            AJMP    ADC
AD0C:       MOV     3DH,#0FAH
AD1C:       CLR     12H
ADC:        SETB    EA
            RET
            NOP
            NOP
            NOP
            LJMP    MAIN
AD00:       SETB    00H
            ACALL   AD
            MOV     39H,A
            MOV     A,49H
            MOV     B,#5
            MUL     AB
            INC     A
            CLR     C
            RRC     A
            ADD     A,#0C8H
            SUBB    A,39H
            JNC     NGY
            CLR     19H
            SETB    1AH
            MOV     A,2EH
            ANL     A,#0FH
            ORL     A,2FH
            JZ      BS
            CLR     1BH
            AJMP    BS1
BS:         SETB    1BH
BS1:        INC     4CH
            LCALL   XDY
            MOV     A,#36
            SUBB    A,4CH
            JC      GY
            RET
NGY:        SETB    19H
            MOV     4CH,#0
            JB      04H,NGY1
            RET
NGY1:       SETB    1BH
            RET
GY:         LCALL   QC
            MOV     4CH,#0
            RET
TY:         LCALL   AD00
            LCALL   AD00
            LCALL   AD0
            LCALL   AD0
            MOV     R2,#20
TY1:        LCALL   DY20
            DJNZ    R2,TY1
            SETB    1AH
            SETB    1BH
            CLR     1CH
            LCALL   XDY
            AJMP    YS
XMX:        CLR     1CH
            MOV     A,1DH
            ANL     A,#0F0H
            SWAP    A
            MOV     24H,A
            MOV     A,1DH
            ANL     A,#0FH
            MOV     25H,A
            MOV     A,1EH
            ANL     A,#0F0H
            SWAP    A
            MOV     26H,A
            LCALL   DISP
            RET
CDL:        LCALL   AD0
            LCALL   AD0
            LCALL   AD00
            LCALL   AD00
            MOV     R2,#20
CL1:        LCALL   DY20
            DJNZ    R2,CL1
            SETB    1AH
            SETB    1BH
            CLR     1CH
            MOV     A,3DH
            LCALL   XDL
YS:         MOV     R1,#10
YS1:        LCALL   DY20
            CLR     P1.1
            SETB    P1.1
            DJNZ    R1,YS1
            RET
            NOP
            NOP
            NOP
            LJMP    MAIN
DY20:       MOV     R6,#20
DY2P:       LCALL   DLY
            DJNZ    R6,DY2P
            RET
            NOP
            NOP
            NOP
            LJMP    MAIN
KEY:        CLR     P1.1
            SETB    P1.1
            MOV     A,P1
            ORL     A,#1FH
            CPL     A
            JZ      TCJ
            ACALL   DY20
            MOV     A,P1
            ORL     A,#1FH
            CPL     A
            JNZ     KEY1
TCJ:        CLR     0AH
            CLR     0CH
            CLR     0DH
            SETB    1CH
            RET
KEY1:       MOV     R2,A
PTY:        CLR     P1.1
            SETB    P1.1
            MOV     A,P1
            ANL     A,#0C0H
            JNZ     PCL
            SETB    0CH
            LCALL   TY
            AJMP    KYH
PCL:        MOV     A,P1
            ANL     A,#60H
            JNZ     PMX
            SETB    0DH
            LCALL   CDL
            AJMP    KYH
PMX:        MOV     A,P1
            ANL     A,#0A0H
            JNZ     KE2
            SETB    0AH
            LCALL   XMX
            AJMP    KYH
KE2:        CLR     0AH
            CLR     0CH
            CLR     0DH
            MOV     A,P1
            ORL     A,#1FH
            CPL     A
            JNZ     PTY
            ACALL   DY20
            JB      0EH,KE4
            MOV     A,R2
            JB      ACC.5,KE4
KE3:        CLR     0EH
            RET
SHANG:      AJMP    UP00
XIA:        AJMP    DW00
KE4:        JNB     1CH,KE3
            SETB    0EH
            JB      1EH,YSS0
            CLR     ET0
            SETB    1EH
            MOV     TMOD,#12H
            MOV     TH1,#0
            MOV     TL1,#0
            SETB    ET1
            SETB    TR1
YSS0:       MOV     56H,#0
            CLR     06H
            MOV     A,R2
            JB      ACC.7,XIA
            JB      ACC.6,SHANG
            MOV     A,20H
            ANL     A,#3CH
            JNZ     KYA
            SETB    05H
            SETB    P3.5
            CLR     18H
            CLR     P3.7
            CLR     P3.6
            CLR     P3.3
            MOV     A,4AH
            ANL     A,#0F0H
            SWAP    A
            MOV     25H,A
            MOV     A,4AH
            ANL     A,#0FH
            MOV     26H,A
            MOV     24H,#10H
            AJMP    KYH
KYA:        JNB     05H,KY0
            CLR     05H
            SETB    18H
            CLR     P3.5
            CLR     P3.7
            CLR     P3.6
            MOV     A,#10
            XRL     A,48H
            JNZ     KYA1
            MOV     24H,#1
            MOV     25H,#0
            SJMP    KYA2
KYA1:       MOV     25H,48H
            MOV     24H,#11H
KYA2:       MOV     26H,#0
            SETB    1AH
            SETB    1BH
            SETB    02H
            AJMP    KYH
KY0:        JNB     02H,KY1
            MOV     A,49H
            MOV     B,#5
            MUL     AB
            MOV     B,#10
            DIV     AB
            MOV     26H,B
            MOV     25H,A
            MOV     24H,#4
            CLR     02H
            SETB    03H
            SETB    P3.7
            CLR     P3.5
            CLR     18H
            CLR     P3.6
            AJMP    KYH
KY1:        JNB     03H,KY2
            CLR     TR1
            CLR     03H
            SETB    04H
            SETB    EA
            SETB    ET0
            MOV     TMOD,#52H
            SETB    P3.6
            CLR     P3.5
            CLR     18H
            CLR     P3.7
            CLR     06H
            AJMP    KYH
KY2:        CLR     04H
            SETB    06H
            CLR     0EH
            CLR     P3.6
            SETB    P3.3
            CLR     ET1
            CLR     TR1
            MOV     54H,#0
            MOV     55H,#0
            SETB    EA
            SETB    ET0
            CLR     1EH
            MOV     TMOD,#52H
KYH:        SETB    1AH
            SETB    1BH
            LCALL   DISP
            LCALL   TCS
            RET
DW00:       JNB     02H,DW1
            MOV     A,#1
            XRL     A,48H
            JNZ     DW01
            AJMP    KYH
DW01:       DEC     48H
            MOV     25H,48H
            MOV     24H,#11H
            MOV     26H,#0
            AJMP    KYH
DW1:        JNB     03H,DW2
            MOV     A,#0
            XRL     A,49H
            JNZ     DW11
            AJMP    KYH
DW11:       DEC     49H
            MOV     A,49H
            MOV     B,#5
            MUL     AB
            MOV     B,#10
            DIV     AB
            MOV     26H,B
            MOV     25H,A
            MOV     24H,#4
            AJMP    KYH
DW2:        JNB     04H,DW3
            ACALL   QC
DW21:       AJMP    KYH
DW3:        JNB     05H,DW21
            SETB    17H
            MOV     A,#90H
            XRL     A,4AH
            JNZ     UP31
            AJMP    KYH
UP31:       MOV     A,#99H
            ADD     A,4AH
            DA      A
            MOV     4AH,A
            ANL     A,#0FH
            MOV     26H,A
            MOV     A,4AH
            ANL     A,#0F0H
            SWAP    A
            MOV     25H,A
            MOV     24H,#10H
            AJMP    KYH
UP00:       JNB     02H,UP1
            MOV     A,#10
            XRL     A,48H
            JNZ     UP01
            AJMP    KYH
UP01:       INC     48H
            MOV     A,#0AH
            XRL     A,48H
            JNZ     UP02
            MOV     25H,#0
            MOV     24H,#1
            MOV     26H,#0
            AJMP    KYH
UP02:       MOV     25H,48H
            MOV     24H,#11H
            MOV     26H,#0
            AJMP    KYH
UP1:        JNB     03H,UP2
            MOV     A,#08H
            XRL     A,49H
            JNZ     UP11
            AJMP    KYH
UP11:       INC     49H
            MOV     A,49H
            MOV     B,#5
            MUL     AB
            MOV     B,#10
            DIV     AB
            MOV     26H,B
            MOV     25H,A
            MOV     24H,#4
            AJMP    KYH
UP2:        JNB     04H,UP3
            ACALL   TR
UP21:       AJMP    KYH
UP3:        JNB     05H,UP21
            SETB    17H
            MOV     A,#99H
            XRL     A,4AH
            JNZ     DW31
            AJMP    KYH
DW31:       MOV     A,#01H
            ADD     A,4AH
            DA      A
            MOV     4AH,A
            ANL     A,#0FH
            MOV     26H,A
            MOV     A,4AH
            ANL     A,#0F0H
            SWAP    A
            MOV     25H,A
            MOV     24H,#10H
            AJMP    KYH
            NOP
            NOP
            NOP
            LJMP    MAIN
XZ:         JNB     0FH,BJXZ    ;

⌨️ 快捷键说明

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