c2cx0032.asm

来自「利用变频软起动方式就可以解决电动机起动问题变频软起动控制系统在实时性允 许的前」· 汇编 代码 · 共 65 行

ASM
65
字号
        
N        .set       32   ; 32点FFT
         .include C2CXRAD2.MAC
         .include DIVID.ASM

         .def    TWIDLEN,FFTLEN,TWIDSTRT,INPUT,INIT,FFT
         .def    STAGE1,STAGE3,STAGE4,SINES4,STAGE5,SINES5

         .sect "twiddles"
; FFT的函数表
TWIDSTRT .set    $
         .include twiddles.q15
TWIDLEN  .set    $-TWIDSTRT
;
INPUT    .usect  "input",N*2    ; 输入数据地址
TWID     .usect  "twid",TWIDLEN 
DATA     .data
         .space  N*2*16         ; 输出数据的地址

         .include init-fft.asm

         .sect    "fftp"

FFT:     lar     ar3,DATAADD   ; 转移 2*N 字 从 'input' 到 'data'
         lar     ar0,NN       
         rpt     #N*2-1        ; 2*N 次
         bldd    #INPUT,*BR0+
;
;    
;
STAGE1:  lar     ar0,#7        
         lar     ar1,DATAADD   
         lar     ar2,DATA2    
         lar     ar3,DATA4     
         lar     ar4,DATA6     
         COMBO2X 8             ; 重复8次
;
;   
;
STAGE3:  lar     ar0,#9        ;修改寄存器= 9
         lar     ar1,DATAADD   
         lar     ar2,DATA8     
         stage3l 4             ;重复4次  
;
STAGE4:  lar     ar0,#16       ; 修改寄存器= 16
         sar     ar0,TEMP+1    
         lar     ar1,DATAADD   
         lar     ar2,DATA16    
         lar     ar6,#1        
;
loop4:   lar     ar3,cos4      ; 启动余旋4
         lar     ar4,sin4      ; 启动正旋4
         do_btfly 8            
         banz    loop4,*-,ar2   

STAGE5:  lar     ar1,DATAADD   
         lar     ar2,DATA32    
;
         lar     ar3,cos5      ; 启动余旋5
         lar     ar4,sin5      ; 启动正旋5
         do_loops 16           
         ex_btfly              
FFTLEN   .set    $-FFT           
         .end

⌨️ 快捷键说明

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