基于AD574的高精度數(shù)字電壓表
AD574A是單片高速12位逐次比較型A/D轉(zhuǎn)換器,內(nèi)置雙極性電路構(gòu)成的混合集成轉(zhuǎn)換顯片,具有外接元件少,功耗低,精度高等特點,并且具有自動校零和自動極性轉(zhuǎn)換功能,只需外接少量的阻容件即可構(gòu)成一個完整的A/D轉(zhuǎn)換器,其主要功能特性如下:分辨率:12位
非線性誤差:小于±1/2LBS或±1LBS 轉(zhuǎn)換速率:25us 模擬電壓輸入范圍:0—10V和0—20V,0—±5V和0—±10V兩檔四種 電源電壓:±15V和5V 數(shù)據(jù)輸出格式:12位/8位
芯片工作模式:全速工作模式和單一工作模式
我們利用AD574與ATMEL公司的低價高性能單片機(jī)AT89C2051組成一個高精度的數(shù)字電壓表,電原理圖如圖1,AD574是12位逐次比較型A/D轉(zhuǎn)換器,共有12根數(shù)據(jù)線,AT89C2051的P1與AD574的高8位數(shù)據(jù)線直接相接,AD574的低4位數(shù)據(jù)線與單片機(jī)的高半4位P1.4——P1.7直接相接,數(shù)據(jù)的讀取是依靠單片機(jī)的控制線進(jìn)行分時選通進(jìn)行。P3.5接AD574的字節(jié)短周期控制線(A0),P3.4接讀轉(zhuǎn)換數(shù)據(jù)控制腳(
),P3.7直接與工作狀態(tài)指示端(STS)相連,這樣的結(jié)構(gòu)決定只能是8位輸出形式,故
數(shù)據(jù)模式選擇端直接接地即可。AT89C2051只有15根I/O口線,上述用了11根,只余下4根口線,我們將輸出的數(shù)據(jù)通過單片機(jī)的串行口輸出,外接一片74LS164(串入并出)譯碼器進(jìn)行擴(kuò)展,同時顯示的數(shù)據(jù)為4位,剩下的2根口線仍不能滿足要求,還需要一片74LS138三——八譯碼器對顯示LED進(jìn)行地址選通。
這里我們采用10V量程的輸入模式,故AD574的Pin13為被測電壓的輸入端,因為只使用了一片AD574轉(zhuǎn)換芯片,所以CS端直接接地即可。轉(zhuǎn)換器使用±12V電源電壓供電,工作電壓為+5V。
74LS164為串入并出譯碼器,AT89C2051通過串行口輸出的BCD串行碼經(jīng)74LS164譯碼輸出為七段BCD碼,直接與LED的a——g相連,同時四位LED的數(shù)據(jù)線都一一對應(yīng)連接在一起。LED數(shù)碼管選用共陽型,74LS138輸出的地址碼經(jīng)一個三極管2SA1015(PNP)接LED的公共端,四位LED的顯示是通過地址線進(jìn)行分時選通的,這就是我們常用的動態(tài)掃描顯示方式。
值得一提的是,動態(tài)掃描顯示方式中,動態(tài)掃描的頻率有一定的要求,頻率太低,LED將出現(xiàn)閃爍現(xiàn)象。如頻率太高,由于每個LED點亮的時間太短,LED的亮度太低,肉眼無法看清,所以一般均取10ms左右為宜,這就要求在編寫程序時,選通某一位LED使其點亮并保持一定的時間,程序上常采用的是調(diào)用延時子程序。在C51指令中,延時子程序是相當(dāng)簡單的,并且延時時間也很容易更改。