用PIC16C73單片機實(shí)現十二位A/D轉換器
由圖3可知,運算放大器U1的輸出作為A/D轉換器的輸入,在4066的所有的開(kāi)關(guān)都關(guān)閉的情況下,則輸出的模擬電壓:
,(U2為前置偏移調整電路的輸出) (1)
取R3=10R2則,運算放大器U1輸出數據的范圍在0~4.095V之間,因基準電壓為2.55V,如果輸入的數據大于等于2.55V,則A/D轉換之后讀入的值為0FFH,此時(shí)轉換的數值就大于八位,在程序中置位RA4、 RA5 、RA2、RA1中的某一位使模擬開(kāi)關(guān)打開(kāi),此時(shí)運放U1的輸出電壓U0可表示為:
(2)
當RA1置1使相連的模擬開(kāi)關(guān)導通時(shí),所接電阻VR5的值應使
(3)
即VR5導通時(shí)所接到運算放大器輸入端的電壓為十六進(jìn)制數為800H所對應的電壓。而RA2、RA4、 RA5置1使相連的模擬開(kāi)關(guān)導通時(shí),所接到運算放大器輸入端的電壓依次為十六進(jìn)制數400H,200H,100H所對應的電壓。相應的各電阻值和VR5及VR2之間的關(guān)系為
(4)
2.2擴展A/D轉換器軟件原理
在程序中啟動(dòng)A/D轉換后,等待A/D轉換結束,讀取八位轉換結果,若為0FFH,說(shuō)明輸入端RA0/AN0已大于或等于基準VREF ,此時(shí)從高四位的最高位開(kāi)始試探,先使最高位即RA1對應的位置1,然后再次轉換,如果轉換后的結果依然等于0FFH,則保留最高位的1,使次高位即RA2對應的位置1;如果轉換后的結果為00H,則把最高位清零,使次高位即RA2對應的位置1。再次讀取轉換的結果,如果還等于0FFH則保留RA2的1,使RA4對應的位置1;若讀取的轉換結果為0,則清零RA2,置位RA4。依次循環(huán)完四位,得到最終高四位的值。程序流程如圖4所示。

3 結束語(yǔ)
通過(guò)軟件和硬件的配合,在PIC1673自帶的八位A/D轉換器基礎上,擴充了十二位的A/D轉換器,既滿(mǎn)足了系統測試精度的要求,又用了很少的硬件開(kāi)銷(xiāo)。此方法用在有機磷的測試系統上,經(jīng)實(shí)驗,速度和精度都能滿(mǎn)足系統要求。此方法也可以用在其它需要擴充A/D轉換精度的控制系統中,不失為一種很好的解決精度擴展的方案。
評論