|
我們知道單片機是數字芯片,只認識由0和1組成的邏輯序列,但是我們現實當中有很多模擬的物理量,如溫度,這些模擬量該如何被單片機系統處理呢,這就會用到AD轉換,AD轉換的英文就是Analog to Digital ,由模擬量轉化為數字量;而DA,則為Digital to Analog,數字量轉化為模擬量。那單片機是如何實現轉化的呢? AD轉換芯片上的數據手冊上都會告訴你一個信息,這個芯片是8位的,這個芯片是10位,還有12位的,16的。這就代表著單片機AD采樣后所能得到的最大值。如何AD采樣時8位的那對應的值就為0-255,10位對應的值為0-1023,12位對應的值就為0-4095。對于一個12位AD轉換芯片而言,如果輸入電壓為0,那單片機讀到的就是0,如果輸入電壓是VCC,那單片機讀到的就是4095,已經知道了這兩個點(0,0),(VCC,4095),根據兩點就可以確定一個公式,這時候你就可以求出任意電壓值所對應的數字量是多少了。 還有一個重要的概念就是參考電壓,通常來講,參考電壓不能超過單片機的供電電壓。為什么參考電壓不能直接取單片機的供電電壓呢,用外用表量一下單片機的供電電壓就會發現,他不恒定為5V或者3.3V,有可能是4.95V,5.01V或者是3.29V,3.312V,在對AD采樣結果精度要求不高的情況下,可以將VCC作為參考電壓。但是對于高精度的儀表而言,就需要一個電壓值非常穩定的參考,比如說基準電壓芯片LM4040-3.3V,REF3025(輸出為2.5V)。 有些多引腳的芯片如STM32的100引腳以上的單片機,有單獨的參考電壓引腳。而引腳少的單片機如LPC11C14只有48引腳,參考電壓引腳不是單獨的,可以直接把參考電壓接在VCC上,也可以用單獨的基準電壓作為參考電壓,但是要求基準電壓喝VCC的壓差不能超過0.3V,否則單片機就不能工作了。
|