📄 svpwm.asm
字号:
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 + -