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

📄 采样spwm程序.asm.bak

📁 dsp 2407的三相逆变器汇编源程序
💻 BAK
📖 第 1 页 / 共 2 页
字号:
              BCND   WXM3 ,LEQ       ;小于2π跳转
              SACL    TEMP5           ;否则保存
WXM3        LACC    TEMP4
              ADD     #17157           ;加4π/3,Q12格式
              SACL    TEMP6           ;保存第6个角度值
              SUB     #25736            ;检测是否小于2π,Q12格式
              BCND   WXM4 ,LEQ       ;小于2π跳转
              SACL    TEMP6           ;否则保存
WXM4        LT       TEMP4           ;开始将第4个角度转换成度
              MPY     #917             ;乘转换系数,Q4格式
              PAC
              SACH    TEMP4          ;保存第4个角度值,Q0格式
              LACC    #SIN_ENTRY     ;SIN表入口地址
              ADD     TEMP4           ;偏移量
              TBLR    TEMP4           ;保存第4个SIN值,Q14格式有符号数
              LT       TEMP4
              MPY     M_              ;乘M,Q9格式
              PAC                       ;Q23格式
              SACH    TEMP4,7         ;相当于右移9位,Q14格式有符号数
              LACC    TEMP4
              ADD     #1,14            ;加+1
              SACL    TEMP4           ;保存, Q14格式
              LT       T_HALF          ;T_carr/2=1000,Q0格式
              MPY     TEMP4
              PAC
              SACH    TEMP4,2         ;相当于右移14位,保存为Q0格式
              LT       TEMP5          ;开始将第5个角度转换成度
              MPY     #917
              PAC
              SACH    TEMP5          ;保存第5个角度值,Q0格式
              LACC    #SIN_ENTRY     ;SIN表入口地址
              ADD     TEMP5          ;偏移量
              TBLR    TEMP5           ;保存第5个SIN值,Q14格式有符号数
              LT       TEMP5
              MPY     M_              ;乘M,Q9格式
              PAC                       ;Q23格式
              SACH    TEMP5,7         ;相当于右移9位,Q14格式有符号数
              LACC    TEMP5
              ADD     #1,14            ;加+1
              SACL    TEMP5           ;保存, Q14格式
              LT       T_HALF          ;T_carr/2=1000,Q0格式
              MPY     TEMP5
              PAC
              SACH    TEMP5,2         ;相当于右移14位,保存为Q0格式
              LT       TEMP6           ;开始将第6个角度转换成度
              MPY     #917
              PAC
              SACH    TEMP6          ;保存第6个角度值,Q0格式
              LACC    #SIN_ENTRY     ;SIN表入口地址
              ADD     TEMP6          ;偏移量
              TBLR    TEMP6           ;保存第6个SIN值,Q14格式有符号数
              LT       TEMP6
              MPY     M_              ;乘M,Q9格式
              PAC                       ;Q23格式
              SACH    TEMP6,7         ;相当于右移9位,Q14格式有符号数
              LACC    TEMP6
              ADD     #1,14            ;加+1
              SACL    TEMP6           ;保存, Q14格式
              LT       T_HALF          ;T_carr/2=1000,Q0格式
              MPY     TEMP6
              PAC
              SACH    TEMP6,2         ;相当于右移14位,保存为Q0格式
              LACC    K_
              ADD     #1               ;K+1
              SACL    K_
              SUB      KMAX           ;比较K是否小于2N
              BCND   WXM5,LT         ;是则跳转
              SPLK    #0,K_             ;否则K=0
WXM5        LACC   TEMP1
              ADD    TEMP4            ;计算脉宽
              SACL   TEMP1             ;暂存
              SUB     PMIN              ;检测是否小于最小正脉宽3微秒
              BCND   WXM6,GT          ;不是继续
              SPLK    #0,TEMP1          ;是则删除窄脉冲
              B        WXM7
WXM6        LACC   TEMP1             ;检测是否小于最小负脉宽3微秒
              SUB     PMAX 
              BCND   WXM7,LT          ;不是继续
              SPLK    #2000,TEMP1       ;是则删除窄脉冲
WXM7        LACC   #2000              ;2倍周期值
              SUB     TEMP1            ;计算比较值1
              ROR                       ;除2
              LDP     #232               ;指向事件管理器A
              SACL   CMPR1            ;保存比较值1
              LDP     #5
              LACC   TEMP2
              ADD    TEMP5            ;计算脉宽
              SACL   TEMP2             ;暂存
              SUB     PMIN              ;检测是否小于最小正脉宽3微秒
              BCND   WXM8,GT          ;不是继续
              SPLK    #0,TEMP2          ;是则删除窄脉冲
              B        WXM9
WXM8        LACC   TEMP2             ;检测是否小于最小负脉宽3微秒
              SUB     PMAX 
              BCND   WXM9,LT          ;不是继续
              SPLK    #2000,TEMP2       ;是则删除窄脉冲
WXM9        LACC   #2000              ;2倍周期值
              SUB     TEMP2            ;计算比较值2
              ROR                       ;除2
              LDP     #232               ;指向事件管理器A
              SACL   CMPR2            ;保存比较值2
              LDP     #5
              LACC   TEMP3
              ADD    TEMP6            ;计算脉宽
              SACL   TEMP3             ;暂存
              SUB     PMIN              ;检测是否小于最小正脉宽3微秒
              BCND   WXM10,GT         ;不是继续
              SPLK    #0,TEMP3          ;是则删除窄脉冲
              B        WXM11
WXM10       LACC   TEMP3             ;检测是否小于最小负脉宽3微秒
              SUB     PMAX 
              BCND   WXM11,LT          ;不是继续
              SPLK    #2000,TEMP3       ;是则删除窄脉冲
WXM11       LACC   #2000              ;2倍周期值
              SUB     TEMP3            ;计算比较值3
              ROR                       ;除2
              LDP     #232               ;指向事件管理器A
              SACL   CMPR3             ;保存比较值3
              LDP     #5                 ;恢复现场
  LT      P_LO               ;恢复P
  MPY    #1  
  LPH     P_HI  
  LT      T_SAVE            ;恢复T
  LACC   ACCH,16 
  ADDS   ACCL              ;恢复ACC
  LDP     #0                 ;指向B2
  LST     #ST1,ST1_SAVE     ; 恢复ST1
  LST     #ST0,ST0_SAVE     ; 恢复ST0
  CLRC   INTM              ; 开中断
  RET                        ; 返回

  .DATA                      
;--------------------------------------数据段-------------------------------------------------------------
SIN_ENTRY  .WORD 0                   ;SIN值表,D1格式有符号数
             .WORD 286,572,857,1143,1428
             .WORD 1713,1997,2280,2563,2845
             .WORD 3126,3406,3686,3964,4240
             .WORD 4516, 4790,5063,5334,5604
           .WORD 5872,6138,6402,6664, 6924
           .WORD 7182,7438,7692,7943,8192
           .WORD 8438,8682,8923,9162,9397
           .WORD 9630,9860,10087,10311,10531
           .WORD 10749,10963,11174,11381,11585
           .WORD 11786,11982,12176,12365,12551
           .WORD 12733,12911,13085,13255,13421
           .WORD 13583,13741,13894,14044,14189
           .WORD 14330,14466,14598,14726,14849
           .WORD 14968,15082,15191,15296,15396
           .WORD 15491,15582,15668,15749,15826
           .WORD 15897,15964,16026,16083,16135
           .WORD 16182,16225,16262,16294,16322
           .WORD 16344,16362,16374, 16382,16384            ;90

           .WORD 16382,16374,16362,16344,16322
           .WORD 16294,16262,16225,16182,16135
           .WORD 16083,16026,15964,15897,15826
           .WORD 15749,15668,15582,15491,15396
           .WORD 15296,15191,15082,14968,14849
           .WORD 14726,14598,14466,14330,14189
           .WORD 14044,13894,13741,13583,13421
           .WORD 13255,13085,12911,12733,12551
           .WORD 12365,12176,11982,11786,11585
           .WORD 11381,11174,10963,10749,10531
           .WORD 10311,10087,9860,9630,9397
           .WORD 9162,8923,8682,8438,8192
           .WORD 7943,7692,7438,7182,6924
           .WORD 6664,6402,6138,5872,5604
           .WORD 5334,5063,4790,4516,4240  
           .WORD 3964,3686,3406,3126,2845
           .WORD 2563,2280,1997,1713,1428
           .WORD 1143,857,572,286, 0                      ;180 

           .WORD 65250,64964,64679,64393,64108
           .WORD 63823,63539,63256,62973,62691
           .WORD 62410,62130,61850,61572,61296
           .WORD 61020,60746,60473,60202,59932
           .WORD 59664,59398,59134,58872,58612
           .WORD 58354,58098,57844,57593,57344
           .WORD 57098,56854,56613,56374,56139
           .WORD 55906,55676,55449,55225,55005
           .WORD 54787,54573,54362,54155,53951
           .WORD 53750,53554,53360,53171,52985
           .WORD 52803,52625,52451,52281,52115
           .WORD 51953,51795,51642,51492,51347
           .WORD 51206,51070,50938,50810,50687
           .WORD 50568,50454,50345,50240,50140
           .WORD 50045,49954, 49868,49787,49710
           .WORD 49639,49572,49510,49453,49401
           .WORD 49354,49311,49274,49242,49214
           .WORD 49192,49174,49162,49154,49152                ;270

           .WORD 49154,49162,49174,49192,49214
           .WORD 49242,49274,49311,49354,49401
           .WORD 49453,49510,49572,49639,49710
           .WORD 49787,49868,49954,50045,50140
           .WORD 50240,50345,50454,50568,50687
           .WORD 50810,50938,51070,51206,51347
           .WORD 51492,51642,51795,51953,52115
           .WORD 52281,52451,52625,52803,52985
           .WORD 53171,53360,53554,53750,53951
           .WORD 54155,54362,54573,54787,55005
           .WORD 55225,55449,55676,55906,56139
           .WORD 56374,56613,56854,57098,57344
           .WORD 57593,57844,58098,58354,58612
           .WORD 58872,59134,59398,59664,59932
           .WORD 60202,60473,60746,61020,61296
           .WORD,61572,61850,62130,62410,62691
           .WORD 62973,63256,63539,63823,64108
           .WORD 64393,64679,64964,65250 ,0                    ;360
           .END

⌨️ 快捷键说明

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