❶ 單片機輸出正弦波,那個數據表的數據是怎樣計算得到的有具體的計算過程最好!
直接用三角函數計算
如周期20 ms,半個周期10 ms ,將半個周期分成100個時間段,則每個時間段為100us
半個周期 相當於180度 那麼每個時間段對應的角度 180/100=1.8 度
那麼在任意時刻對應的角度1.8*n
直接sin(1.8*n)即可得出某個時刻的三角函數 值
將這個數值再乘以DA的最大數字量,8位是256,10位是1024
即可得到單片機要送往DA轉換器的數字量
❷ 單片機怎麼輸出高頻正弦波,例如200K
200K頻率不低了。
可以考慮兩種方法:
1、利用大容量的RAM(注意看清楚,RAM),先把正弦波數據存在裡面(利用excel計算好,一個周期,比如256個點的數據),然後不斷讀取這些存儲單元,把結果送高速DA輸出。
2、利用類似AD9850,AD9851這類的DDS(數字頻率合成)晶元,直接輸出。
前者在一些技術力量不是很強,對成本要求很高的儀器研發部門經常用到。後者其實就是平常使用的DDS函數信號發生器裡面的做法了。
推薦後者,控制起來比較簡單,市面上有模塊直接賣,大概70-100塊,看晶元型號,輸出1MHz是沒問題的。
❸ 51單片機怎麼輸出6路PWM正弦波
先用軟體使其輸出6路PWM方波,每路上再用LC濾波網路濾除高頻部分,保留基波,就是正弦波輸出了!
手打不易,如有幫助請採納,謝謝!!
❹ 單片機如何輸出正弦波
令單片機輸出高、低電平,可以形成不同脈寬的脈沖波,
再經過 RC 電路平滑濾波,就會出現不同高低電壓的信號。
這就可以近似實現正弦波或其它波形。
❺ 單片機或者 FPGA能不能通過設計程序 輸出正弦波 鋸齒波以及其他波形
用51單片機或者FPGA完全可以實現正弦波的輸出,具體的方法有:
1.你說的查表法,就是在ROM裡面建一個表格,只需要四分之一正弦波的數據就可以了,然後用DA輸出;
2.用PWM波的方法,就是用單片機的定時計數器輸出不同占空比的方波,後端用合適的低通濾波器濾波,就能產生不同幅值的模擬信號正弦波,低通濾波器將方波的高頻部分濾掉,PWM波的占空比越大,輸出的模擬信號幅值就越高;
3.使用DDS技術,一塊DDS晶元中主要包括頻率控制寄存器、高速相位累加器和正弦計算器三個部分。頻率控制寄存器可以串列或並行的方式裝載並寄存用戶輸入的頻率控制碼;而相位累加器根據
dds頻率控制碼在每個時鍾周期內進行相位累加,得到一個相位值;正弦計算器則對該相位值計算數字化正弦波幅度(晶元一般通過查表得到)。DDS晶元輸出的一般是數字化的正弦波,因此還需經過高速D/A轉換器和低通濾波器才能得到一個可用的模擬頻率信號
❻ 用單片機利用dac0832產生三角波方波和正弦波
首先需要建立一個產生三角波、方波和正弦波的波表,然後定時將波表裡的數據通過埠刷新至dac0832,然後0832的模擬輸出埠即可輸出想要的波形,通過控制波表數值的刷新頻率即可調整輸出頻率。
❼ 如何用8051單片機輸出正弦波形
有2種方法:
1,用SPWM技術,在單片機中用正弦波表控制PWM脈寬,輸出部分直接簡單RC濾波即可得到正弦波。
2,用方波直接RC得到近似的正弦波。