|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
菜鳥求助C5402正弦波發(fā)生器 |
| 作者:dengjinmin 欄目:DSP技術(shù) |
由于現(xiàn)在正在DSP學(xué)習(xí)初級階段,所以有好多問題不懂,希望哪位達人可以幫忙解答,先在這里謝謝了。 小弟有個問題比較疑惑,對于正弦波發(fā)生程序,如果要移相改怎么修改?例如把sin2x的程序改為sin(2x+40), 我在原來sin2x的程序上(匯編)把初始的0值改為20度對應(yīng)的弧度但是后面在利用倍角計算的時候出來的圖形不對,COPY的地方好似有點不對,希望高手可以解答,附程序: .title "sin.asm" .mmregs .def start ;.ref d_xs,d_sinx,d_xc,d_cosx,sinx,cosx sin_x: .usect "sin_x",360 STACK: .usect "STACK",10H k_theta .set 286 PA0 .set 0 start: .text STM #STACK+10H,SP STM k_theta,AR0 STM 5719,AR1 STM #sin_x,AR6 STM #90,BRC RPTB loop1-1 LDM AR1,A LD #d_xs,DP STL A,@d_xs STL A,@d_xc CALL sinx CALL cosx LD #d_sinx,DP LD @d_sinx,16,A MPYA @d_cosx STH B,1,*AR6+ MAR *AR1+0 loop1: STM #sin_x+89,AR7 STM #88,BRC RPTB loop2-1 LD *AR7-,A STL A,*AR6+ loop2: STM #179,BRC STM #sin_x,AR7 RPTB loop3-1 LD *AR7+,A NEG A STL A,*AR6+ loop3: STM #sin_x,AR6 STM #1,AR0 STM #360,BK loop4: PORTW *AR6+0%,PA0 B loop4 sinx: .def d_xs,d_sinx .data table_s: .word 01c7H .word 030bH .word 0666H .word 1556H d_coef_s .usect "coef_s",4 d_xs .usect "sin_vars",1 d_squr_xs .usect "sin_vars",1 d_temp_s .usect "sin_vars",1 d_sinx .usect "sin_vars",1 d_1_s .usect "sin_vars",1 .text SSBX FRCT STM #d_coef_s,AR5 RPT #3 MVPD #table_s,*AR5+ STM #d_coef_s,AR3 STM #d_xs,AR2 STM #d_1_s,AR4 ST #7FFFH,d_1_s SQUR *AR2+,A ST A,*AR2 || LD *AR4,B MASR *AR2+,*AR3+,B,A MPYA A STH A,*AR2 MASR *AR2-,*AR3+,B,A MPYA *AR2+ ST B,*AR2 || LD *AR4,B MASR *AR2-,*AR3+,B,A MPYA *AR2+ ST B,*AR2 || LD *AR4,B MASR *AR2-,*AR3+,B,A MPYA d_xs STH B,d_sinx RET cosx: .def d_xc,d_cosx d_coef_c .usect "coef_c",4 .data table_c: .word 0249H .word 0444H .word 0AABH .word 4000H d_xc .usect "cos_vars",1 d_squr_xc .usect "cos_vars",1 d_temp_c .usect "cos_vars",1 d_cosx .usect "cos_vars",1 c_1_c .usect "cos_vars",1 .text SSBX FRCT STM #d_coef_c,AR5 RPT #3 MVPD #table_c,*AR5+ STM #d_coef_c,AR3 STM #d_xc,AR2 STM #c_1_c,AR4 ST #7FFFH,c_1_c SQUR *AR2+,A ST A,*AR2 &n |
| 2樓: | >>參與討論 |
| 作者: gudeng614 于 2006/12/24 14:19:00 發(fā)布:
一般是用查找表做的吧 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |