大学2012届毕业设计说明书
INTO外部中断服务程序 保护现场 读故障信号 N 故障否? Y 封锁驱动信号 输出故障代码 恢复现场 返回 图5.2 外部中断程序流程图
第21页共32页
中北
中北大学2012届毕业设计说明书
TO终端服务程序 保护现场 输出驱动信号 关定时器 N 切换次数完成否? Y N 频率幻化标志=1 Y 更新消谐PWM开关数据 清频率变化标志 重置数据指针初值 数据指针加1 取定时初值送T0 起动定时 恢复现场 返回 图5.3 定时器T0中断程序流程图
第22页共32页
中北大学2012届毕业设计说明书
要求逆变器的输出频率能无级调节时,需要提供的开关角数据表很大,这正是离线式消谐PWM控制方法的主要缺点。程序清单如下: FREQ EQU 20H; TIMEH EQU 21H; TIMEL EQU 22H; TIMES EQU 23H; PNTH EQU 24H; PNTL EQU 25H; ORG 0000H SJMP BEGIN ORG 0003H AJMP INT0; ORG 000BH AJMP T0_INT; ORG 0030H BEGIN: MOV SP, #30H; MOV TMOD, #11H;
MOV TCON, #05H; MOV IP, #01H; MOV IE, #83H; MOV FREQ, #01H; MOV DPTR,#HDATA; MOV PNTH,DPH; MOV PNTL,DPL MOV A, #0 MOVC A,@A+DPTR; MOV TIMES,A; SETB P1.7; MOV R7,#1;
第23页共32页
中北大学2012届毕业设计说明书
MOV TL0,#0FFH; MOV TH0,#0FFH CLR P3.7; SETB P3.0; NOP
CLR P3.0
LOOP: MOV A,PI;
ANL A,#01H; MOV R0,A; XRL A,FREQ; JZ EXIT; JNB P1.4,EXIT; CLR TR0; CLR P1.4; MOV FREQ,R0; CJNE R0,#1,LOW_F; MOV DPTR,#HDATA; SJMP NEXT
LOW_F: MOV DPTR,#LDATA; NEXT: MOV PNTH,DPH;
MOV PNTL,DPL MOV A,#0 MOVC A,@A+DPTR; MOV TIMES,A SETB P1.7 MOV R7,#1; MOV TL0,#0FFH MOV TH0,#0FFH SETB P1.4;
第24页共32页
中北大学2012届毕业设计说明书
EXIT: SETB P3.0;
INTO: PUSH PSW
T0_INT: PUSH PSW
NOP
CLR P3.0 SETB TR0 SJMP LOOP; ORG 0200H
SETB P3.7 CLR P1.4; POP PSW RETI; ORG 0210H
PUSH Acc CPL P1.7; CLR TR0; MOV A,#1 MOVC A,@A+DPTR; MOV TL0,A INC DPTR; MOV A,#1 MOVC A,@A+DPTR; MOV TH0,A INC DPTR; MOV A,R7
CJNE A,TIMES,CNT; MOV R7,#0; MOV DPH,PNTH; MOV DPL,PNTL
第25页共32页