- 論壇徽章:
- 0
|
原帖由 dreamice 于 2008-11-18 17:40 發(fā)表 ![]()
你再把你的需求詳細的寫一遍出來:
時鐘中斷是可以完成這個功能,但不能混用AD中斷。
我現(xiàn)在主要做的其實是 想實現(xiàn)一個對汽車速度的提取。用感應(yīng)器來測量汽車馬達的轉(zhuǎn)數(shù),已達到汽車測速的效果。
也就是想利用傳感器測出馬達1s的轉(zhuǎn)數(shù)。傳感器輸出的模擬量所以要使用ADC轉(zhuǎn)換為數(shù)字量i
因為 傳感器輸出的是一個脈沖信號。
所以我這個驅(qū)動就是有以下的步驟:
1.能夠一直循環(huán)的獲取新數(shù)據(jù)i,并設(shè)置一個門限轉(zhuǎn)化為0或者1,i>200,i=1,否則i=0;并用i和i-1(前一個獲取到的i值)比較不同的話就累計值M加1
因為要一直更新數(shù)據(jù),所以我考慮使用定時中斷來實現(xiàn),比如定時10MS中斷一下,這樣就能保證數(shù)據(jù)都能被采集到
2.做一個求和平均來減小誤差,比如50ms定時提取一次M,取四次,再求平均
3.還要求一個每分鐘的平均值。
4.最后傳輸?shù)絤inigui中 顯示出來
2,3再應(yīng)用上做比較簡單,但是1在應(yīng)用上做就比較麻煩,因為這個采集更新是要一直工作的,知道關(guān)機。所以覺得在用戶上做就會很麻煩
不知道這么說 是否清楚哦 |
|