摘要:在現代電子測量儀器儀表中,數字電壓表由于其精度高、讀數方便等優點,因此在電子測量領域應用越來越廣泛。本設計基于單片機控制,因此整個電路較簡單、易于實現、性能穩定、成本低,具有較好的實用性。
關鍵詞:直流數字電壓表;單片機;A/D轉換
中圖分類號:TM933.22 文獻標識碼:A 文章編號:1674-7712 (2012) 12-0026-01
數字電壓表作為一種數字儀器儀表它采用數字化測量技術,把連續的模擬量(待測的直流電壓值)轉換成離散的數字形式并加以顯示。由于有別于傳統的指針式電壓表由讀數帶來的種種誤差與不便,它具有精度高、誤差小、測量速度快、讀數準確方便等優點。
數字電壓表的核心部件是A/D轉換器,本設計中A/D轉換器采用ADC0809對輸入模擬量即待測電壓進行轉換。而控制部分則由單片機AT89C51完成對轉換之后的數據進行處理,由此產生相應的段碼并送入數碼管顯示。而在軟件部分,當A/D轉換結束,采用中斷方式對數據進行讀取、處理,相較于查詢方式程序更為合理,實時性也更好。
一、功能設計
由AT89C51與ADC0809構成一個簡易的直流數字電壓表,采用1路模擬量輸入,能夠測量0-5V之間的直流電壓值。顯示部分采用LED數碼管動態顯示,能夠精確到小數點后兩位。
二、硬件電路
硬件電路如下圖示:
1.由于采用1路模擬量輸入,因此ADC0809的三根地址線C、B、A(用于通道選擇)直接接地,默認選擇0通道。2.單片機采用6MHz的晶振,ALE引腳輸出6MHz/6=1MHz的時鐘信號,經74LS74觸發器2分頻,最終得到500KHz的時鐘信號送入ADC0809的時鐘端。3.ADC0809的啟動端START、地址鎖存端ALE均為高電平有效,將START與ALE端連在一起,與AT89C51的P2.7相連,當P2.7輸出一個高電平時,啟動0809開始模數轉換。4.A/D轉換結束,采用中斷方式進行數據的讀取處理。當轉換結束時,EOC端輸出高電平,而單片機的外部中斷均為低電平有效,因此0809的EOC端通過反相器74LS04與單片機的P3.2(即外部中斷0)相連,當轉換結束,外部中斷0則申請中斷。5.0809的輸出允許OE端與單片機P2.6相連,當OE端為高電平,模數轉換的結果輸出到0809的8位數字量輸出端。6.模數轉換的8位數字量由P0口輸入單片機,經單片機處理后產生用于顯示的段碼值,再由P1口輸出驅動LED顯示器動態顯示電壓值。三個LED數碼管的位選分別由單片機的P2.0、P2.1、P2.2三根口線控制。動態顯示時,每一位LED的選通時間為5ms,由延時程序實現。
三、軟件設計
程序:
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
四、結論
由于ADC0809的分辨率為8位,當輸入模擬電壓的變化范圍為0~5V,輸出8位二進制數可以分辨的最小模擬電壓為5V/255≈0.0196V。這就決定了該電壓表的精度只能達到0.0196V。因此測試時電壓數值的變化一般以0.02V的電壓幅度變化,在一般的應用場合可以完全滿足要求。
參考文獻:
[1]南建輝,熊鳴,王軍茹.MCS-51單片機原理及應用實例[M].清華大學出版社,2004
[2]王法能,尹季昆.單片機原理及應用[M].科學出版社,2004
[作者簡介]高皚瓊(1981-),女,2005年畢業于蘭州理工大學通信工程專業,并獲得學士學位,于2005年任教于甘肅工業職業技術學院至今,講師。