用PIC16C73單片機(jī)實(shí)現(xiàn)十二位A/D轉(zhuǎn)換器
由圖3可知,運(yùn)算放大器U1的輸出作為A/D轉(zhuǎn)換器的輸入,在4066的所有的開關(guān)都關(guān)閉的情況下,則輸出的模擬電壓:
,(U2為前置偏移調(diào)整電路的輸出) (1)
取R3=10R2則,運(yùn)算放大器U1輸出數(shù)據(jù)的范圍在0~4.095V之間,因基準(zhǔn)電壓為2.55V,如果輸入的數(shù)據(jù)大于等于2.55V,則A/D轉(zhuǎn)換之后讀入的值為0FFH,此時(shí)轉(zhuǎn)換的數(shù)值就大于八位,在程序中置位RA4、 RA5 、RA2、RA1中的某一位使模擬開關(guān)打開,此時(shí)運(yùn)放U1的輸出電壓U0可表示為:
(2)
當(dāng)RA1置1使相連的模擬開關(guān)導(dǎo)通時(shí),所接電阻VR5的值應(yīng)使
(3)
即VR5導(dǎo)通時(shí)所接到運(yùn)算放大器輸入端的電壓為十六進(jìn)制數(shù)為800H所對應(yīng)的電壓。而RA2、RA4、 RA5置1使相連的模擬開關(guān)導(dǎo)通時(shí),所接到運(yùn)算放大器輸入端的電壓依次為十六進(jìn)制數(shù)400H,200H,100H所對應(yīng)的電壓。相應(yīng)的各電阻值和VR5及VR2之間的關(guān)系為
(4)
2.2擴(kuò)展A/D轉(zhuǎn)換器軟件原理
在程序中啟動(dòng)A/D轉(zhuǎn)換后,等待A/D轉(zhuǎn)換結(jié)束,讀取八位轉(zhuǎn)換結(jié)果,若為0FFH,說明輸入端RA0/AN0已大于或等于基準(zhǔn)VREF ,此時(shí)從高四位的最高位開始試探,先使最高位即RA1對應(yīng)的位置1,然后再次轉(zhuǎn)換,如果轉(zhuǎn)換后的結(jié)果依然等于0FFH,則保留最高位的1,使次高位即RA2對應(yīng)的位置1;如果轉(zhuǎn)換后的結(jié)果為00H,則把最高位清零,使次高位即RA2對應(yīng)的位置1。再次讀取轉(zhuǎn)換的結(jié)果,如果還等于0FFH則保留RA2的1,使RA4對應(yīng)的位置1;若讀取的轉(zhuǎn)換結(jié)果為0,則清零RA2,置位RA4。依次循環(huán)完四位,得到最終高四位的值。程序流程如圖4所示。
本文引用地址:http://cafeforensic.com/article/173578.htm
3 結(jié)束語
通過軟件和硬件的配合,在PIC1673自帶的八位A/D轉(zhuǎn)換器基礎(chǔ)上,擴(kuò)充了十二位的A/D轉(zhuǎn)換器,既滿足了系統(tǒng)測試精度的要求,又用了很少的硬件開銷。此方法用在有機(jī)磷的測試系統(tǒng)上,經(jīng)實(shí)驗(yàn),速度和精度都能滿足系統(tǒng)要求。此方法也可以用在其它需要擴(kuò)充A/D轉(zhuǎn)換精度的控制系統(tǒng)中,不失為一種很好的解決精度擴(kuò)展的方案。
評論