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

📄 svpwm.asm

📁 用单片机开发的变频系统,可以代替市场上硬件SA4828的功能
💻 ASM
📖 第 1 页 / 共 2 页
字号:
VoltFreqSpeed1:
           JNB  OverCurrent,Normal2
           LJMP AlarmStop
Normal2:   MOV  A,#00H                    ;第一小区
           MOVC A,@A+DPTR
           MOV  R3,A
           ANL  A,B
           JNB  OverCurrent,Normal21A
           LJMP AlarmStop
Normal21A:
           MOV  P1,A
           MOV  A,R3
           MOV  B,A
           INC  DPTR
           JNB  OverCurrent,Normal21B
           LJMP AlarmStop
Normal21B:
           MOV  P1,A
           MOV  A,#00H
           MOVC A,@A+DPTR
           MOV  R2,A
VoltFreqTime11: NOP
                NOP
                NOP
                NOP
                NOP
                NOP
           DJNZ R2,VoltFreqTime11

           MOV  A,R1                      ;调整占空比
VoltFreqTime111:
                NOP
                NOP
                NOP
                NOP
                NOP
                NOP
           DJNZ R1,VoltFreqTime111
           MOV  R1,A

           MOV  A,R5                      ;调整占空比
VoltFreqTime112:
                NOP
                NOP
                NOP
                NOP
                NOP
                NOP
           DJNZ R5,VoltFreqTime112
           MOV  R5,A
           INC  DPTR

           MOV  A,#00H                    ;第二小区
           MOVC A,@A+DPTR
           MOV  R3,A
           ANL  A,B
           JNB  OverCurrent,Normal22A
           LJMP AlarmStop
Normal22A:
           MOV  P1,A
           MOV  A,R3
           MOV  B,A
           INC  DPTR
           JNB  OverCurrent,Normal22B
           LJMP AlarmStop
Normal22B:
           MOV  P1,A
           MOV  A,#00H
           MOVC A,@A+DPTR
           ADD  A,R4
           MOV  R2,A
VoltFreqTime12:
                NOP
                NOP
                NOP
                NOP
                NOP
                NOP
           DJNZ R2,VoltFreqTime12
           INC  DPTR

           MOV  A,#00H                    ;第三小区
           MOVC A,@A+DPTR
           MOV  R3,A
           ANL  A,B
           JNB  OverCurrent,Normal23A
           LJMP AlarmStop
Normal23A:
           MOV  P1,A
           MOV  A,R3
           MOV  B,A
           INC  DPTR
           JNB  OverCurrent,Normal23B
           LJMP AlarmStop
Normal23B:
           MOV  P1,A
           MOV  A,#00H
           MOVC A,@A+DPTR
           ADD  A,R4
           MOV  R2,A
VoltFreqTime13:
                NOP
                NOP
                NOP
                NOP
                NOP
                NOP
           DJNZ R2,VoltFreqTime13
           INC  DPTR

           MOV  A,#00H                     ;第四小区
           MOVC A,@A+DPTR
           MOV  R3,A
           ANL  A,B
           JNB  OverCurrent,Normal24A
           LJMP AlarmStop
Normal24A:
           MOV  P1,A
           MOV  A,R3
           MOV  B,A
           INC  DPTR
           JNB  OverCurrent,Normal24B
           LJMP AlarmStop
Normal24B:
           MOV  P1,A
           MOV  A,#00H
           MOVC A,@A+DPTR
           MOV  R2,A
VoltFreqTime14: NOP
                NOP
                NOP
                NOP
                NOP
           DJNZ R2,VoltFreqTime14

           MOV  A,R1                      ;调整占空比
VoltFreqTime141:
                NOP
                NOP
                NOP
                NOP
                NOP
                NOP
           DJNZ R1,VoltFreqTime141
           MOV  R1,A

           MOV  A,R5
VoltFreqTime142:
                NOP
                NOP
                NOP
                NOP
                NOP
                NOP
           DJNZ R5,VoltFreqTime142
           MOV  R5,A

           DEC  R0
           INC  DPTR
           CJNE R0,#0,TempB
           RET
TempB:     LJMP VoltFreqSpeed1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;报警程序 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;报警时,主机必须停机,从机等待主机再次启动;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
AlarmStop: MOV   P1,#00H                             ;禁止电机输出
           ACALL Delay
           MOV   P2,#0FFH                            ;查询主机命令
           JB    P2^6,AlarmStop
           MOV   A,P2
           CJNE  A,#00H,AlarmBack
           AJMP  AlarmStop
AlarmBack: CLR   OverCurrent
           MOV   MaxFrequency ,#32H
           RET

SELECTTAB: MOV  A,#00H
           MOVC A,@A+DPTR
           MOV  R3,A
           ANL  A,B
           MOV  P1,A
           MOV  A,R3
           MOV  B,A
           INC  DPTR
           MOV  P1,A
           MOV  A,#00H
           MOVC A,@A+DPTR
           MOV  R2,A
STIME1:    MOV  R1,CurrentFrequency
STIME:     DJNZ R1,STIME
           DJNZ R2,STIME1
           DEC  R0
           INC  DPTR
           CJNE R0,#0,SELECTTAB
           RET

Delay:     MOV   R7,#0AH
Delay1:    DJNZ  R7,Delay1
           RET

EFINT:     CLR  EA
           NOP
           NOP
           NOP
           NOP
           SETB P3^0
           JB   P3^0,INTBACK
           MOV  P1,#00H
           SETB OverCurrent
           SETB EA
INTBACK:   RETI

TAB2:   DB   15H,0FH,25H,06H,29H,30H,2AH,01H
        DB   15H,0AH,25H,12H,29H,27H,2AH,03H
        DB   95H,06H,25H,1DH,29H,1DH,2AH,06H
        DB   15H,03H,25H,27H,29H,12H,2AH,0AH
        DB   15H,01H,25H,30H,29H,06H,2AH,0FH

        DB   15H,01H,25H,30H,26H,06H,2AH,0FH
        DB   15H,03H,25H,27H,26H,12H,2AH,0AH
        DB   95H,06H,25H,1DH,26H,1DH,2AH,06H
        DB   15H,0AH,25H,12H,26H,27H,2AH,03H
        DB   15H,0FH,25H,06H,26H,30H,2AH,01H

        DB   15H,0FH,16H,06H,26H,30H,2AH,01H
        DB   15H,0AH,16H,12H,26H,27H,2AH,03H
        DB   95H,06H,16H,1DH,26H,1DH,2AH,06H
        DB   15H,03H,16H,27H,26H,12H,2AH,0AH
        DB   15H,01H,16H,30H,26H,06H,2AH,0FH

        DB   15H,01H,16H,30H,1AH,06H,2AH,0FH
        DB   15H,03H,16H,27H,1AH,12H,2AH,0AH
        DB   95H,06H,16H,1DH,1AH,1DH,2AH,06H
        DB   15H,0AH,16H,12H,1AH,27H,2AH,03H
        DB   15H,0FH,16H,06H,1AH,30H,2AH,01H

        DB   15H,0FH,19H,06H,1AH,30H,2AH,01H
        DB   15H,0AH,19H,12H,1AH,27H,2AH,03H
        DB   95H,06H,19H,1DH,1AH,1DH,2AH,06H
        DB   15H,03H,19H,27H,1AH,12H,2AH,0AH
        DB   15H,01H,19H,30H,1AH,06H,2AH,0FH

        DB   15H,01H,19H,30H,29H,06H,2AH,0FH
        DB   15H,03H,19H,27H,29H,12H,2AH,0AH
        DB   95H,06H,19H,1DH,29H,1DH,2AH,06H
        DB   15H,0AH,19H,12H,29H,27H,2AH,03H
        DB   15H,0FH,19H,06H,29H,30H,2AH,01H
TAB2ND: DB   00H

TAB3:   DB   2AH,01H,29H,30H,19H,06H,15H,0FH
        DB   2AH,03H,29H,27H,19H,12H,15H,0AH
        DB   2AH,06H,29H,1DH,19H,1DH,95H,06H
        DB   2AH,0AH,29H,12H,19H,27H,15H,03H
        DB   2AH,0FH,29H,06H,19H,30H,15H,01H

        DB   2AH,0FH,1AH,06H,19H,30H,15H,01H
        DB   2AH,0AH,1AH,12H,19H,27H,15H,03H
        DB   2AH,06H,1AH,1DH,19H,1DH,95H,06H
        DB   2AH,03H,1AH,27H,19H,12H,15H,0AH
        DB   2AH,01H,1AH,30H,19H,06H,15H,0FH

        DB   2AH,01H,1AH,30H,16H,06H,15H,0FH
        DB   2AH,03H,1AH,27H,16H,12H,15H,0AH
        DB   2AH,06H,1AH,1DH,16H,1DH,95H,06H
        DB   2AH,0AH,1AH,12H,16H,27H,15H,03H
        DB   2AH,0FH,1AH,06H,16H,30H,15H,01H

        DB   2AH,0FH,26H,06H,16H,30H,15H,01H
        DB   2AH,0AH,26H,12H,16H,27H,15H,03H
        DB   2AH,06H,26H,1DH,16H,1DH,95H,06H
        DB   2AH,03H,26H,27H,16H,12H,15H,0AH
        DB   2AH,01H,26H,30H,16H,06H,15H,0FH

        DB   2AH,01H,26H,30H,25H,06H,15H,0FH
        DB   2AH,03H,26H,27H,25H,12H,15H,0AH
        DB   2AH,06H,26H,1DH,25H,1DH,95H,06H
        DB   2AH,0AH,26H,12H,25H,27H,15H,03H
        DB   2AH,0FH,26H,06H,25H,30H,15H,01H

        DB   2AH,0FH,29H,06H,25H,30H,15H,01H
        DB   2AH,0AH,29H,12H,25H,27H,15H,03H
        DB   2AH,06H,29H,1DH,25H,1DH,95H,06H
        DB   2AH,03H,29H,27H,25H,12H,15H,0AH
        DB   2AH,01H,29H,30H,25H,06H,15H,0FH


TAB3ND: DB   00H
        END

⌨️ 快捷键说明

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