51微控制器ad採集,51微控制器AD採集

2021-04-21 05:13:20 字數 2449 閱讀 7823

1樓:匿名使用者

為了得到較高精度,你將除數乘以100,再除被除數。所以最好定義為int型。記憶體中肯定以十六進位制形式(二進位制)儲存的。

2樓:匿名使用者

程式可以直接相除,但只保留整數部分,所以如果你要得到小數兩位,就先乘以100再除,顯示的時候知道最低兩位實際是小數點後兩位就行了。

3樓:風之_鏡花水月

stc12c5a60s2的話,是精度最大來可達10位的自adc,10位可以保證很高的精度。資料應該分為高2位存入一個8位位元組,低8位存入一個8位位元組,然後8位8位的取並移位等操作,最後合併到int等稍大資料型別中,具體參考對應微控制器資料手冊。採集時要保證給微控制器供電電壓相當的穩,具體電壓以微控制器的vcc為準;採集輸入電壓、輸出電壓時,若電壓過大要進行分壓(<=vcc),請選用高精度電阻,不然計算回去很不準;不能直接採集電流,要將其轉換成電壓,可以使用取樣電阻等方法;計算過程直接在程式裡處理,此外取值對應一個資料取樣10次在平均,可以減小誤差,取樣速率可以略高。

我當時採集電壓的時候有10lsb左右的誤差,到最後都沒發現是什麼原因,可能是分壓電阻原因,也可能是vcc不穩。對應一般採集足夠

51微控制器,採用4路ad採集資料,ad採集完成後,這4個資料如何儲存?

4樓:做而論道

先要設計電路,具有采集和儲存的功能。

然後,再設計軟體,進行取樣及儲存。

之後要將這4個資料進行計算分析。

當然應該分析,光是取樣儲存,技術含量就太低了。

樓主應該先去學會計算分析的方法。

5樓:匿名使用者

在程式中申明一個

陣列,用陣列儲存這4路資料;

例 unsigned char uctable[4]; // 陣列申明型別與版ad轉換精度有關。權

uctable[0] = ad0..

.uctable[3] = ad3

如有錯誤請指正。

6樓:匿名使用者

直接賦給一個變數不就可以了麼

微控制器ad轉換的時候,微控制器是靠什麼知道採集的模擬量是多大的?

7樓:匿名使用者

微控制器內有ad模組,就是進行模擬數字轉換的,並且電源電壓為基準,如10位ad轉換器,基準電壓5v,測量2·5v電壓,得到結果即為1024x2·5/5=512

8樓:匿名使用者

參考電壓,這個必須是已知並且穩定不變的,在adc中輸入的模擬量和參考電壓逐次比較來得到未知量的確定值。

9樓:匿名使用者

ad是將模擬量轉化為數字量的器件,微控制器採集到的只是數字編碼,這些數字編碼代表的模擬量大小根據你所用ad器件和參考電壓等不同而不同。

10樓:匿名使用者

1、ad轉換不是微控制器來轉換的,而是adc,現在的多微控制器有很是內部整合了adc

2、ad轉換基本原理可以參考:網頁連結

11樓:西天取經的熊

去看一下ad轉換的原理,

懂事電子設計 vgz

微控制器ad採集回來的數值如何能顯示為對應的電壓值?

12樓:墨汁諾

voltage=ad_data*vref/16777216。

voltage為電壓值:ad_data為ad晶片的採集離散數值。

vref為基準電壓:16777216為2^24。

比如是2.5v,adc轉換的電壓就是2.5/65535 *nadc(v)。

nadc就是採集的adc的值,也就是說,adc的量程為0~2.5v,最小解析度為2.5/65535=38uv。

vref就是ad的參考電壓,比如要轉換5v的電壓~ vref=10v, gnd=0v

那麼輸出的ad結果就是32768(65536的一半),而如果vref=5v,gnd=0v

那麼輸出的ad結果就是65536。

13樓:匿名使用者

和你ad的參考電壓有關,電壓都是相對的

ad有gnd和vref兩個電壓

最後得出的電壓就是:

(vref-gnd)*(result/65536)+gnd就是把vref到gnd分成了65536個,得出的值在其中

14樓:追悔七年

首先你要知道ad的精度,0到65535的值那就是16位的adc.然後要知道adc的參考電壓是多少,比如是2.5v,這樣,adc轉換的電壓就是2.

5/65535 *nadc(v).nadc就是採集的adc的值.也就是說,adc的量程為0~2.

5v,最小解析度為2.5/65535=38uv.

15樓:匿名使用者

用你採集到的電壓值除以65536,再乘以你ad的參考電壓,就是你所測的電壓值

51微控制器裡TMOD設定問題,51微控制器裡TMOD設定問題

可以理解為 同時設定了兩個定時器的工作方式。但要看t1是否有啟動,如果系統中沒有用到t1,沒有啟動,設定了也沒關係。如果兩個都需要使用,需要分別設定,標準的做法是tmod 0x01,這樣就只設定了 t0,t1保留原來的狀態。tmod是8位暫存器,高4 位和低4位分別控制定時器1和0 用或操作的話就是...

有關51實驗版微控制器的問題,關於51微控制器的問題

初步瀏覽了一下,動態顯示的話delay時間太長就會閃爍。你好 初步看一眼,數碼管閃爍的原因無非是時間間隔太長,先建議你縮短延時時間,再事實。希望我的回答能幫助到你。像是串列埠驅動的數碼管,靜態顯示。這樣的電路,不宜頻繁的顯示,一秒鐘,顯示一次就可以了。把顯示部分,移到定時中斷裡面,即可 main v...

學51微控制器需要買什麼東西,51微控制器新手一般需要買什麼東西

可以自己先做個最小系統,要買元件要建立在你自己把電路圖畫好了,不然買了也是浪費錢,學微控制器就是從最小系統開始,像樓上那個人提供了那麼多元器件,沒什麼用,因為你沒電路圖。想要自己焊接的話就焊個最小系統,然後熟練一點之後就外圍擴充套件,或者可以畫個板子去開板,至於到時侯你要買什麼元器件,你就很清楚了。...