汕頭市林百欣科學(xué)技術(shù)中等專業(yè)學(xué)校 李新海
基于ADC0809、AT89S51的數(shù)字電壓測量系統(tǒng)設(shè)計
汕頭市林百欣科學(xué)技術(shù)中等專業(yè)學(xué)校 李新海
本文針對普通電壓表在測量過程中顯示不夠清晰、測量范圍窄、抗干擾能力弱等缺點,結(jié)合生產(chǎn)實際情況,利用ADC0809有8路模擬量輸入,并將模擬量輸入轉(zhuǎn)換成數(shù)字量顯示出來的功能,同時用單片機(jī)芯片AT89S51設(shè)計電路,結(jié)合A/D 轉(zhuǎn)換器以及由它們構(gòu)成的直流數(shù)字電壓表的工作原理,從而實現(xiàn)0-10V的電壓測量,該測量系統(tǒng)具有讀數(shù)準(zhǔn)確、測量范圍寬、和微功耗等優(yōu)點。
數(shù)字電壓表;ADC0809;AT89S51;電壓測量
隨著現(xiàn)代化科學(xué)技術(shù)的日益普及,社會對電子測量也就相應(yīng)的有更高的要求,時代的發(fā)展要求工作人員必須在精細(xì)測量的基礎(chǔ)上實現(xiàn)多樣化的功能。在微電子技術(shù)迅速發(fā)展的當(dāng)今社會,集成電路固然是以多種形態(tài)出現(xiàn)。在復(fù)雜多變的測量控制儀表領(lǐng)域中,單片機(jī)正引領(lǐng)著新的技術(shù)革命。由此筆者認(rèn)為,基于ADC0809、AT89S51的數(shù)字電壓測量系統(tǒng)設(shè)計的研究對我國電子測量技術(shù)的未來發(fā)展和進(jìn)一步探索具有重大意義。針對普通電壓表在測量過程中顯示不夠清晰、測量范圍窄、抗干擾能力弱等缺點,結(jié)合生產(chǎn)實際情況,因此需要一個具有讀數(shù)準(zhǔn)確、測量范圍寬、擴(kuò)展能力強、集成度高和微功耗等優(yōu)點數(shù)字電壓表。
系統(tǒng)基于ADC0809的電壓測量系統(tǒng)主要由硬件設(shè)計和軟件設(shè)計兩大部分組成。硬件部分主要由AT89C51單片機(jī)、ADC0809模數(shù)轉(zhuǎn)換器、四位一體的LED數(shù)碼管和模擬量采集系統(tǒng)搭建。其中AT89C51單片機(jī)起控制作用,控制外圍電路的工作,ADC0809模數(shù)轉(zhuǎn)換器是本次設(shè)計的關(guān)鍵器件,它用來將連續(xù)的模擬量轉(zhuǎn)化為不連續(xù)的數(shù)字量,四位一體的LED數(shù)碼管用來顯示轉(zhuǎn)化來的數(shù)字電壓值。軟件部分通過對單片機(jī)C語言MCS-51編程實現(xiàn)。
圖1 系統(tǒng)的原理框圖
數(shù)字電壓表系統(tǒng)是否能正常工作取決于硬件和軟件的相互作用,因此,在進(jìn)行設(shè)計時要充分考慮到所用到的軟件以及硬件的各自特點,實現(xiàn)相互融合,保證整個綜合系統(tǒng)能正常穩(wěn)定的工作。
2.1硬件設(shè)計
2.1.1ADC0809芯片的工作原理及應(yīng)用說明
ADC0809有8 條模擬量輸入通道,其要求的電壓范圍是0-5V,信號極性為單極性,如果電壓信號低于要求,不可工作,需將電壓信號進(jìn)行放大后維持穩(wěn)定。另外,ADC0809在工作的過程中,輸入的模擬量不可產(chǎn)生高頻率變化,模擬量在不斷轉(zhuǎn)換過程中要盡量保持不變,如果出現(xiàn)模擬量變化過快的情況,需要設(shè)計者在輸入模擬量之前采取相應(yīng)的措施。ADC0809有4條輸入和控制線,高電平的ALE線才能鎖存地址線的地址信號,并將被選中的模擬量進(jìn)行轉(zhuǎn)換,而低電平則不行,低電平的ALE線無法破譯輸入模擬量,也就無法完成后續(xù)的轉(zhuǎn)換工作。
ADC0809有11條數(shù)字量輸出及控制線。在其結(jié)構(gòu)原理圖中,ST代表的是轉(zhuǎn)換啟動信號。其中,在輸出轉(zhuǎn)換的過程中,ST是處于低電平狀態(tài)的,ST下跳是A/D 轉(zhuǎn)換的信號,ST上跳則表示系統(tǒng)自動將所有內(nèi)部寄存器清零。EOC與ST完全相反,其是轉(zhuǎn)換結(jié)束信號。EOC需要在高電平環(huán)境下實現(xiàn)其功能,即當(dāng)EOC為高電平時,表示轉(zhuǎn)換結(jié)束,當(dāng)EOC為低電平時,表示A/D 轉(zhuǎn)換正在進(jìn)行。ST和EOC是轉(zhuǎn)換信號,而OE是一個輸出信號,其表示單片機(jī)輸出轉(zhuǎn)換得到的數(shù)據(jù),當(dāng)OE=0時,表示輸出數(shù)據(jù)線呈高阻狀態(tài),而當(dāng)OE=1時,則表示轉(zhuǎn)換數(shù)據(jù)的過程正在進(jìn)行。因為ADC0809在工作的過程中無法自給需要的時鐘信號,所以CLK作為時鐘輸入信號線的作用十分重大,其穩(wěn)定電業(yè)頻率為500KHZ,不宜過高,亦不宜過低,通常由VREF(+)和VREF(-)為整個系統(tǒng)提供電壓,一般情況下,兩者中正極連接VDD ,負(fù)極接地。
2.1.2液晶顯示部分
液晶顯示部分圖如圖2所示。
圖2 液晶顯示部分圖
采用液晶1602,能夠16*02即32個字符(16列2行)。1602采用標(biāo)準(zhǔn)的16腳接口,其中:
第1腳:VSS為電源地。
第2腳:VDD接5V電源正極。
第3腳:V0為液晶顯示器對比度調(diào)整端。
第4腳:RS為寄存器選擇。
第5腳:RW為讀寫信號線。
第6腳:E(或EN)端為使能端。
第7-14腳:D0-D7為8位雙向數(shù)據(jù)端。
第15-16腳:空腳或背燈電源。15腳背光正極,16腳背光負(fù)極。
2.1.3 切換通道電路部分
AD0809 轉(zhuǎn)換器有IN0-IN7共8 條模擬量輸入通道;電路功能測量時,用兩個大的按鍵開關(guān)來切換通道,實現(xiàn)測量。其中,一個是通過手按按鍵來切換,另一個按下則實現(xiàn)是自動順序切換,切換通道的電路圖如圖3所示。
圖3 切換通道電路圖
2.2軟件設(shè)計
2.2.1程序設(shè)計流程圖
根據(jù)設(shè)計要求,結(jié)合硬件電路,在輸入模擬信號時采用電阻分壓,最終價的采樣輸入電壓只有實際輸入電壓的二分之一,所以在變下程序時,要編寫一段數(shù)據(jù)調(diào)整程序,其中還應(yīng)注意硬件顯示電路采用了液晶顯示,液晶顯示的頻率有一定的要求,這就要求再編寫程序時,還要考慮到顯示子程序。
程序設(shè)計流程圖如圖4所示:
圖4 程序設(shè)計流程圖
2.2.2應(yīng)用程序設(shè)計
設(shè)計者在編寫具體工作程序時,根據(jù)電壓測量系統(tǒng)的實際情況設(shè)計跳轉(zhuǎn)指令,形成“自我保護(hù)”,避免意外情況出現(xiàn)造成單片機(jī)系統(tǒng)的無故損壞。當(dāng)CPU接到中斷請求信號并予以響應(yīng)后,CPU把當(dāng)前的PC內(nèi)容壓入棧中進(jìn)行保護(hù),然后轉(zhuǎn)入響應(yīng)的中斷服務(wù)程序。
AD0809時鐘脈沖信號 本方案中,采用軟件定時的方式,該單片機(jī)的時鐘頻率為12MHZ,1個機(jī)器周期時間為1us,可以計算出計數(shù)初值:TC=65536-5,即有TH0=(65536-5)/256;TL0=(65536-5)%256;定時器T0以定時方式1完成定時。
(1)電壓測量:由測量可知該表測量電壓較準(zhǔn)確,與萬用表有一定的差異應(yīng)是分壓電阻和切換開關(guān)的導(dǎo)通電阻引起的。
(2)切換量程測試:由測量可知切換量程功能能夠?qū)崿F(xiàn)。
(3)測試數(shù)據(jù)分析:液晶顯示的電壓值與用萬用表測得的數(shù)據(jù)如下表格:
測量次數(shù) 1 2 3 4 5 6 7 8顯示數(shù)據(jù) 2.50V 3.49V 4.97V 5.48V 6.98V 7.49V 8.01V 9.97V測量數(shù)據(jù) 2.49V 3.52V 4.99V 5.52V 6.99V 7.47V 8.02V 9.97V
(4)誤差計算:
顯示數(shù)據(jù)的平均值=(2.50+3.49+4.97+5.48+6.98+7.49+8.01+9.97) /8=6.1112
測量數(shù)據(jù)的平均值=(2.49+3.52+4.99+5.52+6.99+7.47+8.02+9.97) /8=6.1213
誤差值=(6.1112-6.1213)/6.1112=0.16%
所以,在誤差允許的范圍內(nèi)可以認(rèn)為,測試結(jié)果還是比較準(zhǔn)確的。
在利用ADC0809進(jìn)行電壓的精確測量的過程中,筆者雖然遇到了一系列的各種棘手的問題,但最終還是基本達(dá)到了實現(xiàn)提高產(chǎn)品質(zhì)量的目的。在筆者的精心設(shè)計下,參數(shù)設(shè)定合理,設(shè)備選型匹配,整個測量過程不僅操作方便,而且能大大提高生產(chǎn)效率,能為實現(xiàn)提高產(chǎn)品精度的目標(biāo)貢獻(xiàn)一份力量。
注釋:
①江思敏,姚鵬翼,胡榮.PROTEL電路設(shè)計教程[M].北京:清華大學(xué)出版社,2003.
②[英]A.M.L魯特金.常用電子測量儀器的使用[M].北京:電子工業(yè)出版社,1999.
③劉浩斌,汪良能,劉煒.數(shù)字電路與邏輯設(shè)計[M].北京:電子工業(yè)出版社,2001.
④沙占友,沙占為.數(shù)字萬用表的原理、使用與維修[M].北京:電子工業(yè)出版社,1988.
⑤王賢勇,趙傳申.單片機(jī)原理與接口技術(shù)應(yīng)用教程[M].北京:清華大學(xué)出版社,2004.
⑥宋浩,田豐.單片機(jī)原理及應(yīng)用[M].北京:北京交通大學(xué)出版社,2005.
⑦張培仁.基于C語言編程MCS-51單片機(jī)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2003.
[1]江思敏,姚鵬翼,胡榮.PROTEL電路設(shè)計教程[M].北京:清華大學(xué)出版社,2003.
[2][英]A.M.L魯特金.常用電子測量儀器的使用[M].北京:電子工業(yè)出版社,1999.
[3劉浩斌、汪良能、劉煒.數(shù)字電路與邏輯設(shè)計[M].北京:電子工業(yè)出版社,2001.
[4]沙占友,沙占為.數(shù)字萬用表的原理、使用與維修[M].北京:電子工業(yè)出版社,1988.
[5]王賢勇,趙傳申.單片機(jī)原理與接口技術(shù)應(yīng)用教程[M].北京:清華大學(xué)出版社,2004.
[6]宋浩,田豐.單片機(jī)原理及應(yīng)用[M].北京:北京交通大學(xué)出版社,2005.
[7]張培仁.基于C語言編程MCS-51單片機(jī)原理與應(yīng)用[M].北京:清華大學(xué)出版社,2003.
李新海(1980—),男,廣東羅定人,工學(xué)學(xué)士,電子電工講師,現(xiàn)工作于廣東汕頭林百欣科學(xué)技術(shù)中等專業(yè)學(xué)校,主要從事電子、通信、通訊及自動化等課程教學(xué)研究工作。