【摘要】 本文中數字電壓表的控制系統采用AT89C51單片機,A/D轉換器采用ADC0809為主要硬件,實現數字電壓表的硬件電路與軟件設計。該系統的數字電壓表電路簡單,所用的元件較少,成本低,調節工作可實現自動化。還可以方便地進行8路A/D轉換量的測量,遠程測量結果傳送等功能。數字電壓表可以測量0~5V的8路輸入電壓值,并在LCD液晶顯示屏上顯示出來。
【關鍵詞】 單片機 數字電壓表 A/D轉換器 液晶顯示屏
一、總體框圖
設計電壓表的總體框圖如圖1所示。被測電壓經A/D轉換器轉換由模擬值變為數字值,在單片機的邏輯控制下輸出到液晶屏上顯示出來。
圖1 電壓表總體框圖
二、電壓表硬件設計
本設計要實現基于單片機的LCD電壓表,計劃以51單片機為核心,以ADC0809為A/D轉換器,實現模擬電壓的數字化測量及顯示。輸入電壓為直流電壓,設計電壓表的顯示位數為3?位,工作電壓為5V,最大測量值為5V,測量速率約為2.5次/秒,準確度±0.1%,分辨率0.05%,顯示容量16×2個字符。
采用ADC0809作為A/D轉換器,AT89S51單片機作為控制部分,把測得的模擬電壓值經A/D轉換后顯示在液晶顯示屏上。設計中用ADC0809進行8路數據的采樣。
該電壓表可測量0~5V直流電壓,通過電位器調節產生,顯示位數3?位,工作電壓5V。A/D轉換器將采集到的電壓值進行A/D轉換后,輸出到AT89S51的P2口,再由AT89S51的P3口將電壓值送入液晶顯示器顯示出來。
三、A/D轉換模塊程序設計
ADC0809 START端為A/D轉換啟動信號,ALE端為通道選擇地址的鎖存信號。實驗電路中將其相連,以便同時鎖存通道地址并開始A/D采樣轉換。
ADC0809是8位A/D芯片,數字量表示最大為16進制#FFH,也就是10進制的255.5V對應的是255數字量,3V就是255×3/5。每個數字量表示的模擬量為5/255V,約0.02V,也就是說精度(最小分辨率)為0.02V。如果想提高精度,可以適當降低基準電壓。例如降為3V,精度就可以達到0.0118V,但是超過3V的就沒有辦法表示了。因此,實際電壓值應等于測量到的數值乘以5,然后除以255。
本設計中,把AT89S51的P0.0~P0.3作為控制端,P3口作為A/D轉換數據的接收端。
四、液晶顯示模塊程序設計
4.1 1602的初始化設置
控制器內部設有一個數據地址指針,用戶可以通過它們來訪問全部80字節RAM。
4.2 1602的初始化過程
1602的初始化過程即復位過程。液晶顯示模塊是一個慢顯示器件,所以在執行每條指令之前一定要確認模塊的忙標志為低電平,表示不忙,否則此指令失效。要顯示字符時要先輸入顯示字符地址,也就是告訴模塊在哪里顯示字符。初始化過程如下:
寫指令38H:顯示模式設置;寫指令08H:顯示關閉;寫指令01H:顯示清屏;寫指令06H:顯示光標移動設置;寫指令0CH:顯示開關及光標設置。
4.3數據采集部分
中斷方式使用EOC信號作為向AT89C51的中斷申請。在主程序中,向ADC發出首次啟動轉換信號。當檢測到EOC的請求后,轉去執行中斷服務程序,讀取轉換結果,并啟動下一次轉換,后繼續執行。
五、模塊的仿真
利用C51語言設計波形產生程序,并采用Proteus進行模塊化仿真,仿真圖如下圖2所示。
圖2 電壓表仿真結果圖
當改變連接在AD轉換器上的滑動變阻器時,模擬電壓源的電壓發生了變化,液晶顯示屏上的電壓也隨之改變(兩者的值基本上是一致的,準確度±0.1%)。
六、結束語
數字電壓表對A/D轉換的速度要求不高,因此采用了精度、速度、價格適中的逐次逼進式A/D轉換方式。在實時性要求不高的應用領域中,是一種低價格,高性能的A/D轉換方法,達到了設計要求。
在本次設計中,通過使用Proteus繪制電路圖,制圖繪制流程圖,匯編語言編寫程序,程序運行完畢后,電壓表的顯示屏上就可以顯示出電壓數值來。調節電位器,顯示數值就會發生變化。
剛開始總是無法正確顯示出實際電壓值來。后來經過調試,并根據ADC0809的轉換特性,修改了程序。再調節電位器的時候,電壓表的就可以正確顯示實際電壓值了。電壓表的最小顯示值是0V,最大顯示值是5V,這與設計目的是一致。電壓表顯示的電壓值精確到小數點后2位,精度為0.02V,一秒鐘內大約可以測量2次電壓值。液晶顯示屏上顯示出電壓值后,斷開電源,再接通電源時,還是會出現電壓值,經過實驗才發現,是忘了擦除實驗板上的程序而引起的,每次擦除程序后,再復位就可以清屏了。
張玲麗,1980,女,漢族,碩士研究生,講師,主要研究方向:通信技術
電話18071753047,QQ:46763348
湖北省武漢市洪山區珞瑜東路劍橋春天34-804
參 考 文 獻
[1]周潤景,張麗娜,劉映群.PROTEUS入門使用教程.機械工業出版社.2007
[2]馬俊,劉曉林.智能鍵盤字符輸入及LCD顯示系統設計.2009
[3]柳金龍.淺談數字電壓表的特點.北京:中國計量,2004
[4]王韜.3位半積分式A/D轉換DC電壓表.北京:電子世界,2002