摘要:在現(xiàn)代電子測(cè)量?jī)x器儀表中,數(shù)字電壓表由于其精度高、讀數(shù)方便等優(yōu)點(diǎn),因此在電子測(cè)量領(lǐng)域應(yīng)用越來越廣泛。本設(shè)計(jì)基于單片機(jī)控制,因此整個(gè)電路較簡(jiǎn)單、易于實(shí)現(xiàn)、性能穩(wěn)定、成本低,具有較好的實(shí)用性。
關(guān)鍵詞:直流數(shù)字電壓表;單片機(jī);A/D轉(zhuǎn)換
中圖分類號(hào):TM933.22 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-7712 (2012) 12-0026-01
數(shù)字電壓表作為一種數(shù)字儀器儀表它采用數(shù)字化測(cè)量技術(shù),把連續(xù)的模擬量(待測(cè)的直流電壓值)轉(zhuǎn)換成離散的數(shù)字形式并加以顯示。由于有別于傳統(tǒng)的指針式電壓表由讀數(shù)帶來的種種誤差與不便,它具有精度高、誤差小、測(cè)量速度快、讀數(shù)準(zhǔn)確方便等優(yōu)點(diǎn)。
數(shù)字電壓表的核心部件是A/D轉(zhuǎn)換器,本設(shè)計(jì)中A/D轉(zhuǎn)換器采用ADC0809對(duì)輸入模擬量即待測(cè)電壓進(jìn)行轉(zhuǎn)換。而控制部分則由單片機(jī)AT89C51完成對(duì)轉(zhuǎn)換之后的數(shù)據(jù)進(jìn)行處理,由此產(chǎn)生相應(yīng)的段碼并送入數(shù)碼管顯示。而在軟件部分,當(dāng)A/D轉(zhuǎn)換結(jié)束,采用中斷方式對(duì)數(shù)據(jù)進(jìn)行讀取、處理,相較于查詢方式程序更為合理,實(shí)時(shí)性也更好。
一、功能設(shè)計(jì)
由AT89C51與ADC0809構(gòu)成一個(gè)簡(jiǎn)易的直流數(shù)字電壓表,采用1路模擬量輸入,能夠測(cè)量0-5V之間的直流電壓值。顯示部分采用LED數(shù)碼管動(dòng)態(tài)顯示,能夠精確到小數(shù)點(diǎn)后兩位。
二、硬件電路
硬件電路如下圖示:
1.由于采用1路模擬量輸入,因此ADC0809的三根地址線C、B、A(用于通道選擇)直接接地,默認(rèn)選擇0通道。2.單片機(jī)采用6MHz的晶振,ALE引腳輸出6MHz/6=1MHz的時(shí)鐘信號(hào),經(jīng)74LS74觸發(fā)器2分頻,最終得到500KHz的時(shí)鐘信號(hào)送入ADC0809的時(shí)鐘端。3.ADC0809的啟動(dòng)端START、地址鎖存端ALE均為高電平有效,將START與ALE端連在一起,與AT89C51的P2.7相連,當(dāng)P2.7輸出一個(gè)高電平時(shí),啟動(dòng)0809開始模數(shù)轉(zhuǎn)換。4.A/D轉(zhuǎn)換結(jié)束,采用中斷方式進(jìn)行數(shù)據(jù)的讀取處理。當(dāng)轉(zhuǎn)換結(jié)束時(shí),EOC端輸出高電平,而單片機(jī)的外部中斷均為低電平有效,因此0809的EOC端通過反相器74LS04與單片機(jī)的P3.2(即外部中斷0)相連,當(dāng)轉(zhuǎn)換結(jié)束,外部中斷0則申請(qǐng)中斷。5.0809的輸出允許OE端與單片機(jī)P2.6相連,當(dāng)OE端為高電平,模數(shù)轉(zhuǎn)換的結(jié)果輸出到0809的8位數(shù)字量輸出端。6.模數(shù)轉(zhuǎn)換的8位數(shù)字量由P0口輸入單片機(jī),經(jīng)單片機(jī)處理后產(chǎn)生用于顯示的段碼值,再由P1口輸出驅(qū)動(dòng)LED顯示器動(dòng)態(tài)顯示電壓值。三個(gè)LED數(shù)碼管的位選分別由單片機(jī)的P2.0、P2.1、P2.2三根口線控制。動(dòng)態(tài)顯示時(shí),每一位LED的選通時(shí)間為5ms,由延時(shí)程序?qū)崿F(xiàn)。
三、軟件設(shè)計(jì)
程序:
ORG 0000H
LJMP MAIN
ORG 0003H AJMP JINT0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAIN:NOP
SETB IT0
SETB EX0
SETB EA
MOV P0,#0FFH
SETB P2.0
SETB P2.1
SETB P2.2
SETB P2.3
CLR P2.7
SETB P2.7
CLR P2.7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
XS: CLR P2.1
MOV DPTR,#TAB
MOV A,31H
MOVC A,@A+DPTR
ORL A,#80H
MOV P1,A
LCALL YS
SETB P2.1
CLR P2.2
MOV DPTR,#TAB
MOV A,32H
MOVC A,@A+DPTR
MOV P1,A
LCALL YS
SETB P2.2
CLR P2.3
MOV DPTR,#TAB
MOV A,33H
MOVC A,@A+DPTR
MOV P1,A
LCALL YS
SETB P2.3
AJMP MAIN
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
JINT0:NOP
CLR EA
SETB P2.6
SA:MOV A,P0
CLR P2.6
MOV B,#51
DIV AB
MOV 31H,A
MOV A,B
MOV B,#5
DIV AB
MOV 32H,A
MOV 33H,B
SETB EA
RETI
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
YS:MOV R6,#5
YS1:MOV R7,#250
L:DJNZ R7,L
DJNZ R6,YS1
RET
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
TAB:DB 3FH,06H,5BH,4FH,66H ;0,1,2,3,4
DB 6DH,7DH,07H,7FH,6FH ;5,6,7,8,9
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
END
四、結(jié)論
由于ADC0809的分辨率為8位,當(dāng)輸入模擬電壓的變化范圍為0~5V,輸出8位二進(jìn)制數(shù)可以分辨的最小模擬電壓為5V/255≈0.0196V。這就決定了該電壓表的精度只能達(dá)到0.0196V。因此測(cè)試時(shí)電壓數(shù)值的變化一般以0.02V的電壓幅度變化,在一般的應(yīng)用場(chǎng)合可以完全滿足要求。
參考文獻(xiàn):
[1]南建輝,熊鳴,王軍茹.MCS-51單片機(jī)原理及應(yīng)用實(shí)例[M].清華大學(xué)出版社,2004
[2]王法能,尹季昆.單片機(jī)原理及應(yīng)用[M].科學(xué)出版社,2004
[作者簡(jiǎn)介]高皚瓊(1981-),女,2005年畢業(yè)于蘭州理工大學(xué)通信工程專業(yè),并獲得學(xué)士學(xué)位,于2005年任教于甘肅工業(yè)職業(yè)技術(shù)學(xué)院至今,講師。