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

📄 sin_gan.asm

📁 C5000系列DSP上实现正弦波发生器的源代码
💻 ASM
字号:
;THIS FUNCTION GENERATES THE SINE WAVE OF ANGLE USING THE TAYLOR SERIES EXPANSION			
;sin(2@)=2*sin@*cos@			
			
			.mmregs
		    .global _main
_main:		    
            .def start
            
            .ref sinx ,d_xs , d_sinx , cosx , d_xc , d_cosx
sin_x:      .usect "sin_x" , 360
STACK:      .usect "STACK" , 10
k_theta     .set   286           ;theta increment pi/360
PA0         .set   0

start:    
            .text 
            RSBX CPL
            STM #STACK+10 , SP
            STM #k_theta , AR0 
            STM #0 , AR1
            STM #sin_x , AR6     ;AR6->sin(2@)
            STM #90 , BRC        ;sin(0)->sin(90)
            RPTB loop1-1
            LDM AR1 , A          ;base degree
            LD #d_xs , DP        ;init DP
            STL A , @d_xs        ;input data for sin(@) 
            STL A , @d_xc        ;input data for cos(@)
            CALL sinx            ;compute sin(@)
            CALL cosx            ;compute cos(@)
            LD #d_sinx , DP      ;modify DP-> #d_sinx page number
            LD @d_sinx , 16 , A  ;A(31..15)<=sin(@)
            MPYA @d_cosx         ;B<=A(31..15)*(smem)
            STH B , 1 , *AR6+    ;sin2@=2*sin@*cos@
            MAR *AR1+0           ;*AR1<=*AR1+0.5degree
loop1:
            STM #sin_x+89 , AR7  ;AR7->sin90
            STM #88 , BRC        ;compute sin91->sin179
            RPTB loop2-1
            LD *AR7- , A 
            STL A ,*AR6+
loop2:      STM #179 , BRC       ;compute sin180->sin359
            STM #sin_x , AR7
            RPTB loop3-1
            LD *AR7+ , A
            NEG A
            STL A ,*AR6+
loop3:      
            STM #sin_x , AR6     ;generate sine wave
            STM #1 , AR0
            STM #360 , BK
loop4:      PORTW * AR6+0% , PA0
            B  loop4            
            .end                            
                    

⌨️ 快捷键说明

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