生活随笔
收集整理的這篇文章主要介紹了
关于8位AD_DA转换芯片的采样率问题
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
關于使用Keil計算程序執行時間
打開Keil程序,進入“啟動/停止調試”界面。在需要暫停的地方設置斷點(在該句程序前雙擊)。在程序上方有一行工具欄:此工具欄分別代表復位、運行、停止、步進、步越、步出、運行到光標處等。 點擊運行,在斷點處會自動停止,在右方獲取程序執行時間S1。若再次點擊運行,則會在下一次斷點處停止,可獲取時間S2,S2-S1即為兩個斷點間程序執行的時間。若點擊步進,則進入函數內部一條一條執行。若點擊步越,則不進入函數,直接把此函數法當做一條語句執行,也可獲取相同的時間。關于8位AD/DA轉換芯片采樣率
這里以PCF8591為例。
1 val=PCF8591_AD(
0);
2 val=val*
0.8;
3 PCF8591_DA(val);
?則計算得程序執行時間為0.01911567秒,即采樣率在52左右。
1 val=PCF8591_AD(
0);
2 vo=val*
0.01953*
100;
//經AD轉換后的轉換值乘以精度0.01953,再放大100倍
3 vo=(
int)(vo+
0.5)>(
int)vo?(
int)vo+
1:(
int)vo;
//四舍五入
4 LCD_show(
1,
5,((
int)vo/
100)+
0x30);
5 LCD_show(
1,
6,
'.');
6 LCD_show(
1,
7,((
int)vo%
100/
10)+
0x30);
7 LCD_show(
1,
8,((
int)vo%
10)+
0x30);
8 LCD_show(
1,
9,
'V');
9 LCD_show(
1,
11,val/
100+
0x30);
10 LCD_show(
1,
12,val%
100/
10+
0x30);
11 LCD_show(
1,
13,val%
10+
0x30);*/
12 val=val*
0.8;
13 PCF8591_DA(val);
14 vo=val*
0.01953*
100;
//經AD轉換后的轉換值乘以精度0.01953,再放大100倍
15 vo=(
int)(vo+
0.5)>(
int)vo?(
int)vo+
1:(
int)vo;
//四舍五入
16 LCD_show(
2,
5,((
int)vo/
100)+
0x30);
17 LCD_show(
2,
6,
'.');
18 LCD_show(
2,
7,((
int)vo%
100/
10)+
0x30);
19 LCD_show(
2,
8,((
int)vo%
10)+
0x30);
20 LCD_show(
2,
9,
'V');
21 LCD_show(
2,
11,val/
100+
0x30);
22 LCD_show(
2,
12,val%
100/
10+
0x30);
23 LCD_show(
2,
13,val%
10+
0x30);
計算得程序執行總時間為0.41606988秒,即采樣率為2.5左右。
【注】一般情況下,信號源使用1Hz/3V正弦波電壓。
附件:https://pan.baidu.com/s/1jJv5z18
轉載于:https://www.cnblogs.com/qijunhui/p/8283862.html
總結
以上是生活随笔為你收集整理的关于8位AD_DA转换芯片的采样率问题的全部內容,希望文章能夠幫你解決所遇到的問題。
如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。