|
上一文中研究,在LCD上畫實時曲線已經(jīng)實現(xiàn)了,現(xiàn)在想改成幅頻特性曲線,經(jīng)過查資料實現(xiàn)思路如下
幅頻特性曲線是以橫軸為頻率,縱軸為幅度,這里可認(rèn)為是電壓值。如果是實時曲線,1MS采集一個值將它顯示在屏幕上,實際上它的頻率已固定就是1000HZ,也就是1s中采集1000次,然后計算出1000次數(shù)據(jù)的平均值這是他在頻率為1000HZ時的幅度值。
如果我們通過更改變量實現(xiàn)在每1S內(nèi)采集的次數(shù)不相等,不就實現(xiàn)頻率值的變化了嗎。
首先,我們定義個變量u8 FRE_NUM;FRE_NUM=100,然后我們編寫一個函數(shù),GET_ADC_VALUE(u8 channel,u8 times,u8 delayalue);該函數(shù)中channel代表ADC采集的通道,times代表采集的次數(shù),delay代表1/times的延時單位為毫秒。舉個例子 1s中采集20次 調(diào)用GET_ADC_VALUE(u8 channel,20,50);及頻率為20HZ,
制作一個表格分別顯示10HZ,20HZ,50HZ,100HZ,500HZ下的幅度值。
value=GET_ADC_VALUE(0,10,100);
draw_point(100,value,color);
value=GET_ADC_VALUE(0,20,100);
draw_point(120,value,color);
value=GET_ADC_VALUE(0,50,100);
draw_point(140,value,color);
value=GET_ADC_VALUE(0,100,100);
draw_point(160,value,color);
value=GET_ADC_VALUE(0,500,100);
draw_point(180,value,color);
這樣便可以實現(xiàn)幅頻特性曲線的畫法了。 |
|