基于89c51單片機(jī)的數(shù)字電壓表設(shè)計
0引言
數(shù)字電壓表是諸多數(shù)字化儀表的核心與基礎(chǔ),電壓表的數(shù)字化是將連續(xù)的模擬量如直流電壓轉(zhuǎn)換成不連續(xù)的離散的數(shù)字形式并加以顯示,這有別于傳統(tǒng)的以指針加刻度盤進(jìn)行讀數(shù)的方法,避免了讀數(shù)的視差和視覺疲勞。目前數(shù)字萬用表的內(nèi)部核心部件是A/D轉(zhuǎn)換器,轉(zhuǎn)換器的精度很大程度上影響著數(shù)字萬用表的準(zhǔn)確度,本文AID轉(zhuǎn)換器采用ADC0809對輸入模擬信號進(jìn)行轉(zhuǎn)換,控制核心AT89c51N對轉(zhuǎn)換的結(jié)果進(jìn)行運(yùn)算和處理,最后驅(qū)動輸出裝置顯示數(shù)字電壓信號。
1數(shù)字電壓表硬件電路設(shè)計
硬件電路設(shè)計主要包括:89C51單片機(jī)系統(tǒng),~D轉(zhuǎn)換電路,顯示電路。測量最大電壓為5V,顯示最大值為5.00V.圖l是數(shù)字電壓表硬件電路原理圖。
1.1 89C51單片機(jī)系統(tǒng)和顯示電路
由于單片機(jī)體積小、重量輕、價格便宜,所以本系統(tǒng)采用89C51單片機(jī),其原理圖如圖1所示。
89C51內(nèi)部有4KB的EEPROM,128字節(jié)的RAM,所以一般都要根據(jù)系統(tǒng)所需存儲容量的大小來擴(kuò)展,ROM和RAM.本電路/EA接高電平,沒有擴(kuò)展片外ROM和RAM.
89C51的P1、P3.0~P3.3端口作為四位LED數(shù)碼管顯示控制。P3.5端口用作單路顯示/循環(huán)顯示轉(zhuǎn)換按鈕,P3.6端口用作單路顯示時選擇通道。P0端口作0809的A/D轉(zhuǎn)換數(shù)據(jù)讀入用,P2端口用作0809的A/D轉(zhuǎn)換控制。
1.2 A/D轉(zhuǎn)換電路
圖1數(shù)字電壓表電路原理圖
A/D轉(zhuǎn)換由集成電路0809完成。0809具有8路模擬信號輸入端口,地址線(23~25腳)可決定對哪一路模擬信號進(jìn)行A/D轉(zhuǎn)換。22腳為地址鎖存控制,當(dāng)輸入為高電平時,對地址信號進(jìn)行鎖存。6腳為測試控制,當(dāng)輸入一個21xs寬高電平脈沖時,就開始A/D轉(zhuǎn)換。7腳為A/D轉(zhuǎn)換結(jié)束標(biāo)志,當(dāng)A/D轉(zhuǎn)換結(jié)束時,7腳輸出高電平。9腳為A/D轉(zhuǎn)換數(shù)據(jù)輸出允許控制,當(dāng)OE腳為高電平時,A/D轉(zhuǎn)換數(shù)據(jù)從該端口輸出。10腳為0809的時鐘輸入端,利用單片機(jī)30引腳的六分頻晶振頻率再通過14024二分頻得到1MHz時鐘。
數(shù)字電壓表系統(tǒng)的軟件設(shè)計
主程序和A/D轉(zhuǎn)換測量程序流程圖如圖2所示。
評論