回覆列表
  • 1 # ekuas2018

    AD轉換結果,除了與輸入電壓有關,還與所選用的AD的位數有關,與所選用的基準電壓也有關係。已知輸入電壓是2.5V,假設,選用的AD是10位的,基準電壓是5V。理論上,2的10次方是1024,2.5V是5V的一半,所以,得到的結果是512左右。反之,如果知道基準電壓是5V,10位AD的結果是512,可以推出輸入電壓是5V*(512/1024)=2.5V。 這裡還有幾個問題要說明一下 當輸入電壓達到基準電壓時,AD的輸出結果應該是1023,不可能出現1024,因為1024用二進位制表示是11位數字。但計算的時候,用1024計算比較方便。有些AD為了相容性的考慮,對轉換結果進行了一些處理,比如左對齊到16位處理,這樣在使用的時候可以讓10位AD與12位、16位AD的結果一致,可以使用同樣的程式。還有的AD,可以輸入的電壓範圍不是從0V開始的,比如輸入範圍是-5V到+5V,這個時候尤其需要搞明白輸出的格式。通常,可以使用補碼錶示轉換結果,用負數表示負電壓,用正數表示正電壓。但還有的使用移碼,用0表示負電壓,用中值表示0電壓。 回到問題,AD輸入的電壓,與輸出的數字之間必然有一個轉換規律,通常可以用這種形式表示:輸出數字=(量程最大值-量程最小值)*[(輸入電壓-電壓最小值)/(電壓最大值-電壓最小值)]如果最小值是0,電壓最大值是基準電壓,式子可以簡化:輸出數字=量程最大值* (輸入電壓/基準電壓)其中,量程最大值通常由AD位數決定,假設有AD位數為N,最大值就是(2的N次方減1),但一般可以使用2的N次方進行計算時,程式效率會高一些。

  • 2 # 使用者4666406496409

    比如滿量程是5V,用10位AD轉換,轉換出來了的就是1023,當你測到一個電壓的數值是500時,代表這個電壓就是500/1023*5=2.443V,把這個數乘以100就得到244,把244顯示出來,同時把2後的小數點也顯示出來就變成顯示“2.44“了 程式中,我是這樣做的 NUM=(unsigned long)AD*100*5/1023;

  • 中秋節和大豐收的關聯?
  • 有哪些關於宇宙星空飛船的老動漫?