Ⅰ 用單片機做信號發生器,輸出頻率范圍達到MHz,怎麼解決
如果是用12T的單片機,用12M的晶振,那單片機的指令周期就是1uS,輸出的最高頻率需要兩個周期(2uS),即0.5MHz。
如果採用兩倍晶振(24M),最高頻率可以達到1Mhz。但DAC0832的電流穩定時間是1uS。因此要達到MHz。用0832和51單片機不可能實現。
建議采更高速的單片機(1T)或CPLD來驅動,建議選用高速任意信號發生卡,可以達到4G。
Ⅱ 單片機C語言版信號發生器
單片機信號發生器,一般是通過控制單片機的IO的高低電平來實現的,具體為
1,可以通過先配置一個管腳為輸出,然後給這個管腳寫0,輸出就為低電平,然後寫1,這個管腳就輸出為高電平。如果你的單片機是3.3v供電的話,那麼高電平一般為3.3V,低電平一般為0v。
2,如果要產生一個方波的話,需要先輸出1,然後延遲一段時間,然後再輸出0,然後再延遲一段時間,然後輸出1.... 要如此反復的話,可以用while(1), 然後在while(1)裡面寫入你的置高,延遲,置低的代碼,具體偽代碼可以為
配置對應輸出管腳為輸出; //因為管腳可以配置為輸出和輸入,所以需要先配置為輸出
while(1)
{
對對應輸出管腳置高;
sleep(半個周期的時間);
對對應輸出管腳置低;
sleep(半個周期的時間);
}
3, 如果你牽涉到高級應用的話,比如要輸出一個正弦波,那麼需要外加信號產生晶元,比如DDS晶元。
4,如果還需要更加復雜的信號,任意波形的,可以用一個片內DA按照你的意思輸出對應的電平,或者片外DA來輸出。
Ⅲ 用51單片機製作信號發生器
1)在數碼管或 LCD 上顯示頻率,應該是容易的事,因為要顯示的頻率是已知的,直接調用顯示常式即可;
2)輸出方波信號是比較簡單的,就是定時輸出高電平及低電平即可構成一個周期的方波信號;
因為信號周期已知,很方便計算得到延時值,因此,延時值可以通過調用延時常式獲得,也可以通過定時器的中斷運行來獲得;
3)鍵盤狀態判斷,這個都有常式可復制修改來實現;
Ⅳ 怎樣藉助單片機做一個信號發生器,可以產生任意波形
這個需要da轉換晶元,將要產生的波形數字化,存入數組中,由單片機按順序依次送往da晶元進行轉換,例如產生正弦波,頻率50hz,可以用100個點來描述,每隔200us送1個數據,100個數據花20ms.數字化點越多,波形越完美,但也與你的da晶元精度有關,8位da只能輸入256個數字量,很難得到很好的波形
Ⅳ 怎麼用單片機做一個信號發生器
如果要求頻率不是很高,可以採用PWM方式,優點是無需另外加DA,且輸出解析度可靈活調整。考慮到單片機的運算能力不強,你可以用EXCEL編制一個正弦信號在一個周期內的等間隔幅值表,比如說,將一個周期的正弦信號分為64個點,信號的峰值為1000,初始相位為0°,那麼,這個表格的第一個點是0,第n點為1000*sin(2πn/64),用EXCEL將64個點的幅值計算完畢,按照需要的格式編制為編程語言能夠接受的表格。利用單片機的一個定時器,定時器的溢出值設置為1000,溢出時,某個IO口輸出低電平,再用一個寄存器存儲輸出點序號,序號為n時,根據輸出點序號通過查表獲取1000*sin(2πn/64)的數值,將定時器的計數值與1000*sin(2πn/64)比較,相等時,IO口輸出高電平。不斷循環執行上述程序,IO將輸出占空比與正弦信號幅值成正比的方波信號,這就是常說的正弦調制PWM信號。設計一個增益可調的有源低通濾波器,PWM信號經過低通濾波器後,輸出就是正弦波,調節低通濾波器的增益,即可改變正弦信號的幅值。當然,在設置PWM占空比時,將查表結果先乘以一個設定數值(一般是0~1的小數),也可以調節輸出幅值。為了簡化運算,可以是先乘以一個整數M,再除以N(N為128、256等2的冪的數值),M取值范圍為0~N,因為這種除法可通過移位進行,程序簡單,且運算速度快。
Ⅵ 單片機控制的信號發生器的原理
數字信號可以通過數/模轉換器轉換成模擬信號,因此可通過產生數字信號再轉換成模擬信號的方法來獲得所需要的波形。89C51單片機本身就是一個完整的微型計算機,具有組成微型計算機的各部分部件:中央處理器CPU、隨機存取存儲器RAM、只讀存儲器ROM、I/O介面電路、定時器/計數器以及串列通訊介面等,只要將89C51再配置鍵盤及其介面、顯示器及其介面、數模轉換及波形輸出、指示燈及其介面等四部分,即可構成所需的波形發生器
Ⅶ 怎樣用單片機做信號發生器
產生波可以用程序來實現...然後用DAC把數字變成模擬信號...最後加個放大器輸出波型...頻率就用中斷去實現吧...
做個大概就差不多這樣...不難的...但要精確要花大力氣的...比如在DAC的位數上...還有單片機的選擇上...呵呵!!!
祝你成功!!
Ⅷ 51單片機做信號發生器,怎樣才能提高頻率
羅輯混亂,定時器只定時0.1us,而向DAC傳送數據要花時間遠大於0.1us.
應該定時時間大於DAC(sin[i])的時間。
理論上可產生幾百HZ的正弦波。
一次轉換需12.5us,假設20US更新一次,把一個正弦波分成256份。
那麼產生的正弦波頻率可達195HZ。
Ⅸ 51單片機信號發生器原理
基於單片機的的信號發生器大概有兩種形式,1、全部波形信號由單片機軟體產生,再經由D/A轉換輸出;
2、單片機+專用信號發生系晶元,這種方式單片機僅扮演主控角色,信號由晶元硬體產生;
Ⅹ 51單片機簡易信號發生器
神魔意思?我聽不懂