久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 3474|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

分享兩個(gè)用TMS320F228335實(shí)現(xiàn)SPWM的源程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:629815 發(fā)表于 2019-10-25 09:02 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
分享兩個(gè)用228335實(shí)現(xiàn)SPWM的文檔
DSP28335實(shí)現(xiàn)SPWM.docx (161.92 KB, 下載次數(shù): 20)
DSP采樣SPWM程序.doc (127.5 KB, 下載次數(shù): 16)

源程序:
  1.     本例載波頻率為20KHz,或載波周期為50μs。DSP晶振10MHz,內(nèi)部4倍頻,時(shí)鐘頻率為40MHz,計(jì)數(shù)周期為25ns。假設(shè)調(diào)制波頻率由外部輸入(1~50Hz),并轉(zhuǎn)換成合適的格式(本例為Q4格式)。調(diào)制系數(shù)M為0~0.9。死區(qū)時(shí)間1.6μs。最小刪除脈寬3μs。
  2.     主程序的工作是根據(jù)輸入的調(diào)制波頻率計(jì)算N、2N和M值。
  3.     定時(shí)器采用連續(xù)增減計(jì)數(shù)方式。利用下溢中斷,每個(gè)載波周期都產(chǎn)生一次中斷,在每次中斷都根據(jù)以下公式分別計(jì)算出下一個(gè)載波周期的三個(gè)比較值。并比較正負(fù)脈寬是否小于3μs,如果小于3μs則刪除該脈沖。
  4.     本例中的常數(shù):
  5. π倍載波周期:π5010-6228=42166秒,Q28格式
  6. 載波頻率:20000Hz2=40000Hz,Q1格式;
  7. 定時(shí)器周期值:50μs/2/25ns=1000個(gè)計(jì)數(shù)周期;
  8. 調(diào)制系數(shù)對(duì)調(diào)制波頻率的比例系數(shù):0.9/50=0.018221=37749,Q21格式;
  9. 最小正脈寬:3μs/25ns=120個(gè)計(jì)數(shù)周期;
  10. 最小負(fù)脈寬:47μs/25ns=1880個(gè)計(jì)數(shù)周期;
  11. 弧度換算成度系數(shù):360/2π24=917,Q4格式;
  12. 2π/3212=8579弧度,Q12格式;
  13. 4π/3212=17157弧度,Q12格式;
  14. 2π212=25736弧度,Q12格式;
  15.   .include "240x.h"  ;寄存器地址
  16.   .global  _c_int0       ;全局化標(biāo)號(hào)
  17. ;--------------------------------------以下定義變量-----------------------------------------------------------
  18. ST0 .set 0                    ;狀態(tài)寄存器ST0
  19. ST1 .set 1                    ;狀態(tài)寄存器ST1
  20.               .bss    TEMP,1          ;中間變量
  21.               .bss    TEMP1,1         ;中間變量
  22.               .bss    TEMP2,1         ;中間變量
  23.               .bss    TEMP3,1         ;中間變量
  24.               .bss    TEMP4,1         ;中間變量
  25.               .bss    TEMP5,1         ;中間變量
  26.               .bss    TEMP6,1         ;中間變量
  27.               .bss    K_,1            ;第K個(gè)采樣點(diǎn)
  28.               .bss    PITC,1          ;π乘載波周期=42166,Q28格式
  29.               .bss    F2M,1           ;調(diào)制系數(shù)對(duì)調(diào)制波頻率的比例系數(shù), Q21格式
  30.               .bss    T_QUA,1        ; T_carr/4的定時(shí)器計(jì)數(shù)脈沖個(gè)數(shù),Q0格式
  31.               .bss    F_CARR,1        ;載波頻率,Q1格式
  32.               .bss    PMIN,1          ;最小正脈寬(脈沖個(gè)數(shù)),Q0格式
  33.               .bss    PMAX,1          ;最小負(fù)脈寬(脈沖個(gè)數(shù)),Q0格式
  34.               .bss    F_MODU,1        ;調(diào)制波頻率,Q4格式
  35.               .bss    N_,1            ;每個(gè)調(diào)制波周期的載波脈沖數(shù),Q0格式
  36.               .bss    M_,1             ;M值
  37.               .bss    KMAX,1          ;2N,Q0格式
  38.               .bss    ATOD,1           ;弧度換算成度系數(shù)917,Q4格式
  39.               .bss  ACCH,1                  ;ACC高字保存單元
  40.             .bss  ACCL,1                   ;ACC低字保存單元
  41.             .bss  AR0_SAVE,1              ;AR0保存單元
  42.             .bss  P_HI,1                   ;P寄存器高字保存單元
  43.             .bss  P_LO,1                   ;P寄存器低字保存單元
  44. ;--------------------------------------CONTEXT段,定義保護(hù)現(xiàn)場(chǎng)數(shù)據(jù)區(qū)----------------------------
  45. ST0_SAVE  .usect ".context",1   ;狀態(tài)寄存器ST0保存單元
  46. ST1_SAVE  .usect ".context",1   ;狀態(tài)寄存器ST1保存單元
  47. ;-------------------------------------- 定義主向量段---------------------------------------------
  48. .sect  ".vectors"              ;定義主向量段
  49. RESET  B  _c_int0          ;地址0000H,復(fù)位,優(yōu)先級(jí)1
  50. INT1   B  PHANTOM        ;地址0002H,INT1,優(yōu)先級(jí)4
  51. INT2   B  _C_INT2          ;地址0004H,INT2,優(yōu)先級(jí)5
  52. INT3   B  PHANTOM        ;地址0006H,INT3,優(yōu)先級(jí)6
  53. INT4   B  PHANTOM        ;地址0008H,INT4,優(yōu)先級(jí)7
  54. INT5   B  PHANTOM        ;地址000AH,INT5,優(yōu)先級(jí)8
  55. INT6   B  PHANTOM        ;地址000CH,INT6,優(yōu)先級(jí)9
  56. RESERVED  B  PHANTOM                        ;地址000EH,測(cè)試,優(yōu)先級(jí)10
  57. SW_INT8   B  PHANTOM                ;地址0010H,自定義軟中斷
  58. SW_INT9   B  PHANTOM                ;地址0012H,自定義軟中斷
  59. SW_INT10  B  PHANTOM                ;地址0014H,自定義軟中斷
  60. SW_INT11  B  PHANTOM                ;地址0016H,自定義軟中斷
  61. SW_INT12  B  PHANTOM                ;地址0018H,自定義軟中斷
  62. SW_INT13  B  PHANTOM                ;地址001AH,自定義軟中斷
  63. SW_INT14  B  PHANTOM                ;地址001CH,自定義軟中斷
  64. SW_INT15  B  PHANTOM                ;地址001EH,自定義軟中斷
  65. SW_INT16  B  PHANTOM                ;地址0020H,自定義軟中斷
  66. TRAP           B  PHANTOM                        ;地址0022H,TRAP矢量
  67. NMI                     B  PHANTOM                        ;地址0024H,NMI,優(yōu)先級(jí)3
  68. EMU_TRAP B  PHANTOM                        ;地址0026H,仿真Trap,優(yōu)先級(jí)2
  69. SW_INT20  B  PHANTOM                ;地址0028H,自定義軟中斷
  70. SW_INT21  B  PHANTOM                ;地址002AH,自定義軟中斷
  71. SW_INT22  B  PHANTOM                ;地址002CH,自定義軟中斷
  72. SW_INT23  B  PHANTOM                ;地址002EH,自定義軟中斷
  73. SW_INT24  B  PHANTOM                ;地址0030H,自定義軟中斷
  74. SW_INT25  B  PHANTOM                ;地址0032H,自定義軟中斷
  75. SW_INT26  B  PHANTOM                ;地址0034H,自定義軟中斷
  76. SW_INT27  B  PHANTOM                ;地址0036H,自定義軟中斷
  77. SW_INT28  B  PHANTOM                ;地址0038H,自定義軟中斷
  78. SW_INT29  B  PHANTOM                ;地址003AH,自定義軟中斷
  79. SW_INT30  B  PHANTOM                ;地址003CH,自定義軟中斷
  80. SW_INT31  B  PHANTOM                ;地址003EH,自定義軟中斷
  81. ;--------------------------------------定義子向量段----------------------------------------------------
  82. .sect  ".pvecs"                ;定義子向量段
  83. PVECTORS        B        PHANTOM                        ;偏移地址0000H
  84.                         B        PHANTOM                          ;偏移地址0001H
  85.                         B        PHANTOM                        ;偏移地址0002H
  86.                         B        PHANTOM                        ;偏移地址0003H
  87.                         B        PHANTOM                        ;偏移地址0004H
  88.                         B        PHANTOM                        ;偏移地址0005H
  89.                         B        PHANTOM                        ;偏移地址0006H
  90.                         B        PHANTOM                        ;偏移地址0007H
  91.                         B        PHANTOM                        ;偏移地址0008H
  92.                         B        PHANTOM                        ;偏移地址0009H
  93.                         B        PHANTOM                        ;偏移地址000AH
  94.                         B        PHANTOM                        ;偏移地址000BH
  95.                         B        PHANTOM                        ;偏移地址000CH
  96.                         B        PHANTOM                        ;偏移地址000DH
  97.                         B        PHANTOM                        ;偏移地址000EH
  98.                         B        PHANTOM                        ;偏移地址000FH
  99.                         B        PHANTOM                        ;偏移地址0010H
  100.                         B        PHANTOM                        ;偏移地址0011H
  101.                         B        PHANTOM                        ;偏移地址0012H
  102.                         B        PHANTOM                        ;偏移地址0013H
  103.                         B        PHANTOM                        ;偏移地址0014H
  104.                         B        PHANTOM                        ;偏移地址0015H
  105.                         B        PHANTOM                        ;偏移地址0016H
  106.                         B        PHANTOM                        ;偏移地址0017H
  107.                         B        PHANTOM                        ;偏移地址0018H
  108.                         B        PHANTOM                        ;偏移地址0019H
  109.                         B        PHANTOM                        ;偏移地址001AH
  110.                         B        PHANTOM                        ;偏移地址001BH
  111.                         B        PHANTOM                        ;偏移地址001CH
  112.                         B        PHANTOM                        ;偏移地址001DH
  113.                         B        PHANTOM                        ;偏移地址001EH
  114.                         B        PHANTOM                        ;偏移地址001FH
  115.                         B        PHANTOM                        ;偏移地址0020H
  116.                         B        PHANTOM                        ;偏移地址0021H
  117.                         B        PHANTOM                        ;偏移地址0022H
  118.                         B        PHANTOM                        ;偏移地址0023H
  119.                         B        PHANTOM                        ;偏移地址0024H
  120.                         B        PHANTOM                        ;偏移地址0025H
  121.                         B        PHANTOM                        ;偏移地址0026H
  122.                         B        PHANTOM                        ;偏移地址0027H
  123.                         B        PHANTOM                        ;偏移地址0028H
  124.                         B        WXM                            ;偏移地址0029H
  125.                         B        PHANTOM                        ;偏移地址002AH
  126.                         B        PHANTOM                        ;偏移地址002BH
  127.                         B        PHANTOM                        ;偏移地址002CH
  128.                         B        PHANTOM                        ;偏移地址002DH
  129.                         B        PHANTOM                        ;偏移地址002EH
  130.                         B        PHANTOM                        ;偏移地址002FH
  131.                         B        PHANTOM                        ;偏移地址0030H
  132.                         B        PHANTOM                        ;偏移地址0031H
  133.                         B        PHANTOM                        ;偏移地址0032H
  134.                         B        PHANTOM                        ;偏移地址0033H
  135.                         B        PHANTOM                        ;偏移地址0034H
  136.                         B        PHANTOM                        ;偏移地址0035H
  137.                         B        PHANTOM                        ;偏移地址0036H
  138.                         B        PHANTOM                        ;偏移地址0037H
  139.                         B        PHANTOM                        ;偏移地址0038H
  140.                         B        PHANTOM                        ;偏移地址0039H
  141.                         B        PHANTOM                        ;偏移地址003AH
  142.                         B        PHANTOM                        ;偏移地址003BH
  143.                         B        PHANTOM                        ;偏移地址003CH
  144.                         B        PHANTOM                        ;偏移地址003DH
  145.                         B        PHANTOM                        ;偏移地址003EH
  146.                         B        PHANTOM                        ;偏移地址003FH
  147.                         B        PHANTOM                        ;偏移地址0040H
  148.                         B        PHANTOM                    ;偏移地址0041H
  149. ;--------------------------------------以下是主程序-----------------------------------------------------
  150.   .text
  151. ;--------------------------------------系統(tǒng)初始化程序--------------------------------------------------
  152. _c_int0        SETC   INTM              ;禁止中斷
  153.   CLRC  CNF               ;B0為數(shù)據(jù)存儲(chǔ)區(qū)
  154.   LDP    #224
  155.   SPLK   #0000000000000100B,SCSR1 ;4倍頻,CLKOUT 40MHz
  156.   SPLK   #68H,WDCR        ;不用看門狗
  157.   LDP    #225
  158.   LACC  MCRA
  159.   OR     #0FC0H             ;設(shè)置PWM1-6引腳
  160.   SACL   MCRA
  161. ;--------------------------------------中斷初始化程序------------------------------------------------
  162.   LDP    #0  
  163.   SPLK   #0FFH,IFR          ;清所有系統(tǒng)中斷標(biāo)志
  164.   SPLK   #00000010B,IMR     ;開INT2中斷
  165.   LDP    #232         
  166.   SPLK   #0FFFH,EVAIFRA    ;清事件管理器A所有中斷標(biāo)志
  167.   SPLK   #0FH,EVAIFRB
  168.   SPLK   #0FH,EVAIFRC
  169.   SPLK   #0200H,EVAIMRA     ;開T1下溢中斷
  170.   SPLK   #0,EVAIMRB          ;屏蔽所有中斷
  171.   SPLK   #0,EVAIMRC          ;屏蔽所有中斷
  172. ;--------------------------------------初始化事件管理器A程序-----------------------------------------
  173.   SPLK   #1000,T1PR           ;T1周期值=1000
  174.   SPLK   #1000,CMPR1         ;占空比初值 0%
  175.   SPLK   #1000,CMPR2
  176.   SPLK   #1000,CMPR3
  177.   SPLK   #0000011001100110B,ACTRA ;引腳PWM1,3,5高有效,2,4,6低有效
  178.   SPLK   #01F4H,DBTCONA     ;死區(qū)時(shí)間1*32*50ns=1.6uμs
  179.   SPLK   #1000001000000000B,COMCONA ;允許比較,下溢重載
  180.   SPLK   #0000100001000010B,T1CON ;連續(xù)增減計(jì)數(shù)方式,預(yù)分頻=1
  181.   CLRC  INTM                 ;開總中斷

  182. ;--------------------------------------變量初始化---------------------------------------------------------
  183.               LDP     #6
  184.               SPLK    #0,K_           ;K=0
  185.               SPLK    #42166,PITC     ;π*T_carr =42166,Q28格式
  186.               SPLK    #37749,F2M      ;F-M轉(zhuǎn)換系數(shù),Q21格式
  187.               SPLK    #250,T_QUA   ;T_carr/4的定時(shí)器計(jì)數(shù)脈沖個(gè)數(shù),Q0格式
  188.               SPLK    #40000,F_CARR  ;載波頻率,Q1格式
  189.               SPLK    #120,PMIN       ;最小正脈寬(脈沖個(gè)數(shù)),Q0格式
  190.               SPLK    #1880,PMAX      ;最小負(fù)脈寬時(shí)的最大正脈寬,Q0格式
  191.               SPLK    #917,ATOD       ;Q4格式
  192.               SPLK    #480,F_MODU    ;調(diào)試數(shù)據(jù),Q4格式
  193. ;--------------------------------------主循環(huán)-------------------------------------------------------------
  194. CYCLE       LDP     #6
  195.               CLRC   SXM
  196.               LACC   F_MODU,13       ;調(diào)制波頻率,Q4格式
  197.               SACH   TEMP            ;右移3位,Q1格式
  198.               LACC   F_CARR          ;載波頻率,Q1格式
  199.               RPT    #15
  200.               SUBC  TEMP             ;計(jì)算N=F_carr/F_modu
  201.               SACL   N_               ;保存N,Q0格式
  202.               LACC   N_,1             ;2N
  203.               SACL   KMAX           ;保存,Q0格式
  204.               LT      F2M             ; F-M轉(zhuǎn)換系數(shù)37749,Q21格式
  205.               MPYU   F_MODU         ;Q4格式
  206.               PAC
  207.               SACH    M_             ;保存M,Q9格式
  208.               B       CYCLE           ;循環(huán)
  209. ;--------------------------------------假中斷子程序---------------------------------------------------------
  210. PHANTOM    RET                       ;假中斷
  211. ;--------------------------------------T1下溢中斷處理子程序-----------------------------------------
  212. _C_INT2      SST   #ST0,ST0_SAVE      ;保存現(xiàn)場(chǎng)ST0
  213.   SST   #ST1,ST1_SAVE      ;保存ST1
  214.   LDP   #6
  215.   SACH  ACCH
  216.   SACL  ACCL              ;保存ACC
  217.   SPH    P_HI
  218.   SPL    P_LO              ;保存 P
  219.   MPY    #1                ;P<=T
  220.   SPL    T_SAVE            ;保存 T
  221.   LDP    #224  
  222.   LACC   PIVR,1            ;讀偏移地址
  223.   ADD    # PVECTORS       ;子向量表首地址
  224.               BACC
  225. WXM         LDP   #232
  226.               SPLK   #0FFFH,EVAIFRA     ;清中斷標(biāo)志
  227.               LDP    #6
  228.               LT      PITC              ;π*T_carr =42166,Q28格式
  229.               MPYU    K_                ;Q0格式
  230.               PAC                       ;計(jì)算K*π*T_carr
  231.               SACH   TEMP1            ;保存乘積,Q12格式
  232.               LT      TEMP1
  233.               MPYU    F_MODU         ;乘調(diào)制波頻率,Q4格式
  234.               PAC                      ;計(jì)算K*π*T_carr*T_modu
  235.               RPT    #3
  236.               ROR                     ;右移4位,Q12格式
  237.               SACL   TEMP1           ;保存第1個(gè)角度值
  238.               LACC   TEMP1
  239.               ADD    #8579             ;加2π/3,Q12格式
  240.               SACL   TEMP2            ;保存第2個(gè)角度值
  241.               SUB     #25736            ;檢測(cè)是否小于2π,Q12格式
  242.               BCND   WXM1 ,LEQ       ;小于2π跳轉(zhuǎn)
  243.               SACL    TEMP2           ;否則保存
  244. WXM1        LACC    TEMP1
  245.               ADD     #17157           ;加4π/3,Q12格式
  246.               SACL    TEMP3           ;保存第3個(gè)角度值
  247.               SUB     #25736            ;檢測(cè)是否小于2π,Q12格式
  248.               BCND   WXM2 ,LEQ       ;小于2π跳轉(zhuǎn)
  249.               SACL    TEMP3           ; 否則保存
  250. WXM2        LT       TEMP1           ;開始將第1個(gè)角度轉(zhuǎn)換成度
  251.               MPYU    ATOD             ;乘轉(zhuǎn)換系數(shù),Q4格式
  252.               PAC
  253.               SACH    TEMP1          ;保存第1個(gè)角度值,Q0格式
  254.               LACC    #SIN_ENTRY     ;SIN表入口地址
  255.               ADD     TEMP1           ;偏移量
  256.               TBLR    TEMP1           ;保存第1個(gè)SIN值,Q14格式有符號(hào)數(shù)
  257.               LT       TEMP1
  258.               MPY     M_              ;乘M,Q9格式
  259.               PAC                       ;Q23格式
  260.               SACH    TEMP1,7         ;相當(dāng)于右移9位,Q14格式有符號(hào)數(shù)
  261.               LACC    TEMP1
  262.               ADD     #1,14            ;加+1
  263.               SACL    TEMP1           ;保存, Q14格式
  264.               LT       T_QUA          ;T_carr/4=250,Q0格式
  265.               MPYU     TEMP1
  266.               PAC
  267.               SACH    TEMP1,2         ;相當(dāng)于右移14位,保存 為Q0格式
  268.               LT       TEMP2          ;開始將第2個(gè)角度轉(zhuǎn)換成度
  269.               MPYU    ATOD
  270.               PAC
  271.               SACH    TEMP2          ;保存第2個(gè)角度值,Q0格式
  272.               LACC    #SIN_ENTRY     ;SIN表入口地址
  273.               ADD     TEMP2          ;偏移量
  274.               TBLR    TEMP2           ;保存第2個(gè)SIN值,Q14格式有符號(hào)數(shù)
  275.               LT       TEMP2
  276.               MPY     M_              ;乘M,Q9格式
  277.               PAC                       ;Q23格式
  278.               SACH    TEMP2,7         ;相當(dāng)于右移9位,Q14格式有符號(hào)數(shù)
  279.               LACC    TEMP2
  280.               ADD     #1,14            ;加+1
  281.               SACL    TEMP2           ;保存, Q14格式
  282.               LT       T_QUA          ;T_carr/4=250,Q0格式
  283.               MPYU    TEMP2
  284.               PAC
  285.               SACH    TEMP2,2         ;相當(dāng)于右移14位,保存 為Q0格式
  286.               LT       TEMP3           ;開始將第3個(gè)角度轉(zhuǎn)換成度
  287.               MPYU    ATOD
  288.               PAC
  289.               SACH    TEMP3          ;保存第3個(gè)角度值,Q0格式
  290.               LACC    #SIN_ENTRY     ;SIN表入口地址
  291.               ADD     TEMP3          ;偏移量
  292.               TBLR    TEMP3           ;保存第3個(gè)SIN值,Q14格式有符號(hào)數(shù)
  293.               LT       TEMP3
  294.               MPY     M_              ;乘M,Q9格式
  295.               PAC                       ;Q23格式
  296.               SACH    TEMP3,7         ;相當(dāng)于右移9位,Q14格式有符號(hào)數(shù)
  297.               LACC    TEMP3
  298.               ADD     #1,14            ;加+1
  299.               SACL    TEMP3           ;保存, Q14格式
  300.               LT       T_QUA          ;T_carr/4=250,Q0格式
  301.               MPYU    TEMP3
  302.               PAC
  303.               SACH    TEMP3,2         ;相當(dāng)于右移14位,保存 為Q0格式
  304.               LACC    K_
  305.               ADD     #1               ;K+1
  306.               SACL    K_
  307.               LT      PITC              ;π*T_carr =42166,Q28格式
  308.               MPYU    K_                ;Q0格式
  309.               PAC                       ;計(jì)算K*π*T_carr
  310.               SACH   TEMP4            ;保存乘積,Q12格式
  311.               LT      TEMP4
  312.               MPYU   F_MODU         ;乘調(diào)制波頻率,Q4格式
  313.               PAC                      ;計(jì)算K*π*T_carr*T_modu
  314.               RPT    #3
  315.               ROR                     ;右移4位,Q12格式
  316.               SACL   TEMP4           ;保存第4個(gè)角度值
  317.               LACC   TEMP4
  318.               ADD    #8579             ;加2π/3,Q12格式
  319.               SACL   TEMP5            ;保存第5個(gè)角度值
  320.               SUB     #25736            ;檢測(cè)是否小于2π,Q12格式
  321.               BCND   WXM3 ,LEQ       ;小于2π跳轉(zhuǎn)
  322.               SACL    TEMP5           ;否則保存
  323. WXM3        LACC    TEMP4
  324.               ADD     #17157           ;加4π/3,Q12格式
  325.               SACL    TEMP6           ;保存第6個(gè)角度值
  326.               SUB     #25736            ;檢測(cè)是否小于2π,Q12格式
  327.               BCND   WXM4 ,LEQ       ;小于2π跳轉(zhuǎn)
  328.               SACL    TEMP6           ;否則保存
  329. WXM4        LT       TEMP4           ;開始將第4個(gè)角度轉(zhuǎn)換成度
  330.               MPYU    ATOD             ;乘轉(zhuǎn)換系數(shù),Q4格式
  331.               PAC
  332.               SACH    TEMP4          ;保存第4個(gè)角度值,Q0格式
  333.               LACC    #SIN_ENTRY     ;SIN表入口地址
  334.               ADD     TEMP4           ;偏移量
  335.               TBLR    TEMP4           ;保存第4個(gè)SIN值,Q14格式有符號(hào)數(shù)
  336.               LT       TEMP4
  337.               MPY     M_              ;乘M,Q9格式
  338.               PAC                       ;Q23格式
  339.               SACH    TEMP4,7         ;相當(dāng)于右移9位,Q14格式有符號(hào)數(shù)
  340.               LACC    TEMP4
  341.               ADD     #1,14            ;加+1
  342.               SACL    TEMP4           ;保存, Q14格式
  343.               LT       T_QUA          ;T_carr/4=250,Q0格式
  344.               MPYU     TEMP4
  345.               PAC
  346.               SACH    TEMP4,2         ;相當(dāng)于右移14位,保存 為Q0格式
  347.               LT       TEMP5          ;開始將第5個(gè)角度轉(zhuǎn)換成度
  348.               MPYU    ATOD
  349.               PAC
  350.               SACH    TEMP5          ;保存第5個(gè)角度值,Q0格式
  351.               LACC    #SIN_ENTRY     ;SIN表入口地址
  352.               ADD     TEMP5          ;偏移量
  353.               TBLR    TEMP5           ;保存第5個(gè)SIN值,Q14格式有符號(hào)數(shù)
  354.               LT       TEMP5
  355.               MPY     M_              ;乘M,Q9格式
  356.               PAC                       ;Q23格式
  357.               SACH    TEMP5,7         ;相當(dāng)于右移9位,Q14格式有符號(hào)數(shù)
  358.               LACC    TEMP5
  359.               ADD     #1,14            ;加+1
  360.               SACL    TEMP5           ;保存, Q14格式
  361.               LT       T_QUA          ;T_carr/4=250,Q0格式
  362.               MPYU     TEMP5
  363.               PAC
  364.               SACH    TEMP5,2         ;相當(dāng)于右移14位,保存 為Q0格式
  365.               LT       TEMP6           ;開始將第6個(gè)角度轉(zhuǎn)換成度
  366.               MPYU    ATOD
  367.               PAC
  368.               SACH    TEMP6          ;保存第6個(gè)角度值,Q0格式
  369.               LACC    #SIN_ENTRY     ;SIN表入口地址
  370.               ADD     TEMP6          ;偏移量
  371.               TBLR    TEMP6           ;保存第6個(gè)SIN值,Q14格式有符號(hào)數(shù)
  372.               LT       TEMP6
  373.               MPY     M_              ;乘M,Q9格式
  374.               PAC                       ;Q23格式
  375.               SACH    TEMP6,7         ;相當(dāng)于右移9位,Q14格式有符號(hào)數(shù)
  376.               LACC    TEMP6
  377.               ADD     #1,14            ;加+1
  378.               SACL    TEMP6           ;保存, Q14格式
  379.               LT       T_QUA          ;T_carr/4=250,Q0格式
  380.               MPYU     TEMP6
  381.               PAC
  382.               SACH    TEMP6,2         ;相當(dāng)于右移14位,保存 為Q0格式
  383.               LACC    K_
  384.               ADD     #1               ;K+1
  385.               SACL    K_
  386.               SUB      KMAX           ;比較K是否小于2N
  387.               BCND   WXM5,LT         ;是則跳轉(zhuǎn)
  388.               SPLK    #0,K_             ;否則K=0
  389. WXM5        LACC   TEMP1
  390.               ADD    TEMP4            ;計(jì)算脈寬
  391.               SACL   TEMP1             ;暫存
  392.               SUB     PMIN              ;檢測(cè)是否小于最小正脈寬3微秒
  393.               BCND   WXM6,GT          ;不是繼續(xù)
  394.               SPLK    #0,TEMP1          ;是則刪除窄脈沖
  395.               B        WXM7
  396. WXM6        LACC   TEMP1             ;檢測(cè)是否小于最小負(fù)脈寬3微秒
  397.               SUB     PMAX
  398.               BCND   WXM7,LT          ;不是繼續(xù)
  399.               SPLK    #2000,TEMP1       ;是則刪除窄脈沖
  400. WXM7        LACC   #2000              ;2倍周期值
  401.               SUB     TEMP1            ;計(jì)算比較值1
  402.               ROR                       ;除2
  403.               LDP     #232               ;指向事件管理器A
  404.               SACL   CMPR1            ;保存比較值1
  405.               LDP     #6
  406.               LACC   TEMP2
  407.               ADD    TEMP5            ;計(jì)算脈寬
  408.               SACL   TEMP2             ;暫存
  409.               SUB     PMIN              ;檢測(cè)是否小于最小正脈寬3微秒
  410.               BCND   WXM8,GT          ;不是繼續(xù)
  411.               SPLK    #0,TEMP2          ;是則刪除窄脈沖
  412.               B        WXM9
  413. WXM8        LACC   TEMP2             ;檢測(cè)是否小于最小負(fù)脈寬3微秒
  414.               SUB     PMAX
  415.               BCND   WXM9,LT          ;不是繼續(xù)
  416.               SPLK    #2000,TEMP2       ;是則刪除窄脈沖
  417. WXM9        LACC   #2000              ;2倍周期值
  418.               SUB     TEMP2            ;計(jì)算比較值2
  419.               ROR                       ;除2
  420.               LDP     #232               ;指向事件管理器A
  421.               SACL   CMPR2            ;保存比較值2
  422.               LDP     #6
  423.               LACC   TEMP3
  424.               ADD    TEMP6            ;計(jì)算脈寬
  425.               SACL   TEMP3             ;暫存
  426.               SUB     PMIN              ;檢測(cè)是否小于最小正脈寬3微秒
  427.               BCND   WXM10,GT         ;不是繼續(xù)
  428.               SPLK    #0,TEMP3          ;是則刪除窄脈沖
  429.               B        WXM11
  430. WXM10       LACC   TEMP3             ;檢測(cè)是否小于最小負(fù)脈寬3微秒
  431.               SUB     PMAX
  432.               BCND   WXM11,LT          ;不是繼續(xù)
  433.               SPLK    #2000,TEMP3       ;是則刪除窄脈沖
  434. WXM11       LACC   #2000              ;2倍周期值
  435.               SUB     TEMP3            ;計(jì)算比較值3
  436.               ROR                       ;除2
  437.               LDP     #232               ;指向事件管理器A
  438.               SACL   CMPR3             ;保存比較值3
  439.               LDP     #6                 ;恢復(fù)現(xiàn)場(chǎng)
  440.   LT      P_LO               ;恢復(fù)P
  441.   MPY    #1  
  442.   LPH     P_HI  
  443.   LT      T_SAVE            ;恢復(fù)T
  444.   LACC   ACCH,16
  445.   ADDS   ACCL              ;恢復(fù)ACC
  446.   LDP     #0     
  447.   LST     #ST1,ST1_SAVE     ; 恢復(fù)ST1
  448.   LST     #ST0,ST0_SAVE     ; 恢復(fù)ST0
  449.   CLRC   INTM              ; 開中斷
  450.   RET                        ; 返回

  451.   .data                     
  452. ;--------------------------------------數(shù)據(jù)段-------------------------------------------------------------
  453. SIN_ENTRY  .word 0                   ;SIN值表,D1格式有符號(hào)數(shù)
  454.              .word 286,572,857,1143,1428
  455.              .word 1713,1997,2280,2563,2845
  456.              .word 3126,3406,3686,3964,4240
  457.              .word 4516, 4790,5063,5334,5604
  458.            .word 5872,6138,6402,6664, 6924
  459.            .word 7182,7438,7692,7943,8192
  460.            .word 8438,8682,8923,9162,9397
  461.            .word 9630,9860,10087,10311,10531
  462.            .word 10749,10963,11174,11381,11585
  463.            .word 11786,11982,12176,12365,12551
  464.            .word 12733,12911,13085,13255,13421
  465.            .word 13583,13741,13894,14044,14189
  466.            .word 14330,14466,14598,14726,14849
  467.            .word 14968,15082,15191,15296,15396
  468.            .word 15491,15582,15668,15749,15826
  469.            .word 15897,15964,16026,16083,16135
  470.            .word 16182,16225,16262,16294,16322
  471.            .word 16344,16362,16374,16382,16384            ;90

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

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

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

復(fù)制代碼


評(píng)分

參與人數(shù) 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎(jiǎng)勵(lì)!

查看全部評(píng)分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏1 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:723508 發(fā)表于 2020-4-6 22:19 | 只看該作者
現(xiàn)在還有多少用匯編的,一看頭大了
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美成人自拍 | 一区二区精品 | 日韩欧美亚洲一区 | 亚洲视频欧美视频 | 亚洲精品成人 | 欧美国产91| 怡红院免费的全部视频 | 亚洲精品国产第一综合99久久 | 午夜精品一区 | 午夜精品在线观看 | 亚洲一区视频在线 | 亚洲va国产日韩欧美精品色婷婷 | 日韩毛片免费看 | 欧美日韩国产精品激情在线播放 | 天天干天天插天天 | 久久久国产视频 | 日韩免费视频 | 欧美精品乱码久久久久久按摩 | 黄色大片免费网站 | 欧美成人h版在线观看 | 久久夜视频| 黄色综合 | 亚洲欧美日韩在线 | 久草精品视频 | 日韩国产中文字幕 | 亚洲精品久久久久久久久久久久久 | 成人一级黄色毛片 | 日韩欧美在线视频播放 | 91精品国产91久久久久青草 | 色综合色综合网色综合 | 免费国产视频 | 免费小视频在线观看 | 久久伦理电影 | 久久成人一区 | 精品久久久久久久久久久久久久久久久 | 久久国产成人午夜av影院武则天 | 欲色av | 成年人在线视频 | 91久久久久| 亚洲精选久久 | 中文字幕黄色大片 |