基于89c51單片機(jī)的數(shù)字電壓表設(shè)計(jì)
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對(duì)輸入模擬信號(hào)進(jìn)行轉(zhuǎn)換,控制核心AT89c51N對(duì)轉(zhuǎn)換的結(jié)果進(jìn)行運(yùn)算和處理,最后驅(qū)動(dòng)輸出裝置顯示數(shù)字電壓信號(hào)。
1數(shù)字電壓表硬件電路設(shè)計(jì)
硬件電路設(shè)計(jì)主要包括:89C51單片機(jī)系統(tǒng),~D轉(zhuǎn)換電路,顯示電路。測(cè)量最大電壓為5V,顯示最大值為5.00V.圖l是數(shù)字電壓表硬件電路原理圖。
1.1 89C51單片機(jī)系統(tǒng)和顯示電路
由于單片機(jī)體積小、重量輕、價(jià)格便宜,所以本系統(tǒng)采用89C51單片機(jī),其原理圖如圖1所示。
89C51內(nèi)部有4KB的EEPROM,128字節(jié)的RAM,所以一般都要根據(jù)系統(tǒng)所需存儲(chǔ)容量的大小來擴(kuò)展,ROM和RAM.本電路/EA接高電平,沒有擴(kuò)展片外ROM和RAM.
89C51的P1、P3.0~P3.3端口作為四位LED數(shù)碼管顯示控制。P3.5端口用作單路顯示/循環(huán)顯示轉(zhuǎn)換按鈕,P3.6端口用作單路顯示時(shí)選擇通道。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路模擬信號(hào)輸入端口,地址線(23~25腳)可決定對(duì)哪一路模擬信號(hào)進(jìn)行A/D轉(zhuǎn)換。22腳為地址鎖存控制,當(dāng)輸入為高電平時(shí),對(duì)地址信號(hào)進(jìn)行鎖存。6腳為測(cè)試控制,當(dāng)輸入一個(gè)21xs寬高電平脈沖時(shí),就開始A/D轉(zhuǎn)換。7腳為A/D轉(zhuǎn)換結(jié)束標(biāo)志,當(dāng)A/D轉(zhuǎn)換結(jié)束時(shí),7腳輸出高電平。9腳為A/D轉(zhuǎn)換數(shù)據(jù)輸出允許控制,當(dāng)OE腳為高電平時(shí),A/D轉(zhuǎn)換數(shù)據(jù)從該端口輸出。10腳為0809的時(shí)鐘輸入端,利用單片機(jī)30引腳的六分頻晶振頻率再通過14024二分頻得到1MHz時(shí)鐘。
數(shù)字電壓表系統(tǒng)的軟件設(shè)計(jì)
主程序和A/D轉(zhuǎn)換測(cè)量程序流程圖如圖2所示。
評(píng)論