《三相交流异步电动机SVPWM开环调速控制程序(软件法)》
.include "240x.h" ; 寄存器地址
.global _c_int0 ;全局化标号
;--------------------------------------以下定义变量-------------------------------------------------------------
ST0 .set 0 ;状态寄存器ST0
ST1 .set 1 ;状态寄存器ST1
.bss TEMP,1 ;临时变量
.bss SET_F,1 ;频率调节比,Q16格式(值为0-1,对应0-50Hz)
.bss F_OMEGA,1 ;频率调节比-角频率转换率,Q5格式
.bss OMEGA,1 ;调制波角频率,Q5格式
.bss SET_V,1 ;参考电压,Q14格式
.bss MAX_V,1 ;最大参考电压幅值1/ ,Q14格式
.bss T_SAMPLE,1 ;采样周期,Q24格式
.bss THETA_H,1 ;参考电压相位角高字,Q12格式
.bss THETA_L,1 ;参考电压相位角低字,Q12格式
.bss THETA_R,1 ;相位角的圆整值,Q12格式
.bss THETA_M,1 ;相位查表值(0-90度),Q12格式
.bss THETA_I,1 ;相角查表索引,Q9格式
.bss SS,1 ;SIN符号,Q0格式
.bss SC,1 ;COS符号,Q0格式
.bss SIN_INDX,1 ;SIN表索引,Q0格式
.bss SIN_ENTRY,1 ;SIN表入口地址
.bss SIN_END,1 ;SIN表结束地址
.bss SIN_THETA,1 ;SINθ值,Q14格式
.bss COS_THETA,1 ;COSθ值,Q14格式
.bss UA,1 ;参考电压D轴分量UA,Q12格式
.bss UB,1 ;参考电压Q轴分量UB,Q12格式
.bss THETA_S,1 ;θ-扇区数转换系数,Q15格式
.bss SECTOR,1 ;参考电压所在的扇区数,Q0格式
.bss THETA_90,1 ;90度,Q12格式
.bss THETA_180,1 ;180度,Q12格式
.bss THETA_270,1 ;270度,Q12格式
.bss THETA_360,1 ;360度,Q12格式
.bss DEC_MS,24 ;6个逆阵,Q14格式
.bss T1_PERIODS,1 ;定时器1周期值,Q5格式
.bss CMP_1,1 ;第1基本矢量,Q0格式
.bss CMP_2,1 ;第2基本矢量,Q0格式
.bss CMP_0,1 ;0基本矢量/2,Q0格式
.bss FIRST_TOG,1 ;存放第一次比较匹配的比较器地址
.bss SEC_TOG,1 ;存放第二次比较匹配的比较器地址
.bss ACCH,1 ;ACC高字保存单元
.bss ACCL,1 ;ACC低字保存单元
.bss AR0_SAVE,1 ;AR0保存单元
.bss P_HI,1 ;P寄存器高字保存单元
.bss P_LO,1 ;P寄存器低字保存单元
;-------------------------------------- CONTEXT段,定义保护现场数据区--------------------------
ST0_SAVE .usect ".context",1 ;状态寄存器ST0保存单元
ST1_SAVE .usect ".context",1 ;状态寄存器ST1保存单元
;-------------------------------------- 定义主向量段--------------------------------------------------
.sect ".vectors" ;定义主向量段
RESET B _c_int0 ;地址0000H,复位,优先级1
INT1 B PHANTOM ;地址0002H,INT1,优先级4
INT2 B _C_INT2 ;地址0004H,INT2,优先级5
INT3 B PHANTOM ;地址0006H,INT3,优先级6
INT4 B PHANTOM ;地址0008H,INT4,优先级7
INT5 B PHANTOM ;地址000AH,INT5,优先级8
INT6 B PHANTOM ;地址000CH,INT6,优先级9
RESERVED B PHANTOM ;地址000EH,测试,优先级10
SW_INT8 B PHANTOM ;地址0010H,自定义软中断
SW_INT9 B PHANTOM ;地址0012H,自定义软中断
SW_INT10 B PHANTOM ;地址0014H,自定义软中断
SW_INT11 B PHANTOM ;地址0016H,自定义软中断
SW_INT12 B PHANTOM ;地址0018H,自定义软中断
SW_INT13 B PHANTOM ;地址001AH,自定义软中断
SW_INT14 B PHANTOM ;地址001CH,自定义软中断
SW_INT15 B PHANTOM ;地址001EH,自定义软中断
SW_INT16 B PHANTOM ;地址0020H,自定义软中断
TRAP B PHANTOM ;地址0022H,TRAP矢量
NMI B PHANTOM ;地址0024H,NMI,优先级3
EMU_TRAP B PHANTOM ;地址0026H,仿真Trap,优先级2
SW_INT20 B PHANTOM ;地址0028H,自定义软中断
SW_INT21 B PHANTOM ;地址002AH,自定义软中断
SW_INT22 B PHANTOM ;地址002CH,自定义软中断
SW_INT23 B PHANTOM ;地址002EH,自定义软中断
SW_INT24 B PHANTOM ;地址0030H,自定义软中断
SW_INT25 B PHANTOM ;地址0032H,自定义软中断
SW_INT26 B PHANTOM ;地址0034H,自定义软中断
SW_INT27 B PHANTOM ;地址0036H,自定义软中断
SW_INT28 B PHANTOM ;地址0038H,自定义软中断
SW_INT29 B PHANTOM ;地址003AH,自定义软中断
SW_INT30 B PHANTOM ;地址003CH,自定义软中断
SW_INT31 B PHANTOM ;地址003EH,自定义软中断
;-------------------------------------- 定义子向量段------------------------------------------------------
.sect ".pvecs" ;定义子向量段
PVECTORS B PHANTOM ;偏移地址0000H
B PHANTOM ;偏移地址0001H
B PHANTOM ;偏移地址0002H
B PHANTOM ;偏移地址0003H
B PHANTOM ;偏移地址0004H
B PHANTOM ;偏移地址0005H
B PHANTOM ;偏移地址0006H
B PHANTOM ;偏移地址0007H
B PHANTOM ;偏移地址0008H
B PHANTOM ;偏移地址0009H
B PHANTOM ;偏移地址000AH
B PHANTOM ;偏移地址000BH
B PHANTOM ;偏移地址000CH
B PHANTOM ;偏移地址000DH
B PHANTOM ;偏移地址000EH
B PHANTOM ;偏移地址000FH