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