數(shù)字電壓表的仿真電路設計
本文采用ADC0808對輸入模擬信號進行轉換,控制核心AT89C51單片機對轉換的結果進行運算和處理,最后驅動輸出裝置顯示數(shù)字電壓信號,通過Proteus仿真軟件實現(xiàn)接口電路設計,并進行實時仿真。
Proteus軟件是一種電路分析和實物模擬仿真軟件。它運行于Windows操作系統(tǒng)上,可以進行仿真、分析(SPICE)各種模擬器件和集成電路,是集單片機和SPICE分析于一身的仿真軟件,功能強大,具有系統(tǒng)資源豐富、硬件投入少、形象直觀等優(yōu)點,近年來受到廣大用戶的青睞。
1 系統(tǒng)概述
1.1 設計任務
利用單片機AT89C51與ADC0808設計一個數(shù)字電壓表,將模擬信號0~5 V之間的電壓值轉換成數(shù)字量信號,以兩位數(shù)碼管顯示,并通過虛擬電壓表觀察ADC0808模擬量輸入信號的電壓值,LED數(shù)碼管實時顯示相應的數(shù)值量。
1.2 總體方案
數(shù)字電壓表電路組成框圖如圖1所示。
本設計中需要用到的電路有電源電路、模/數(shù)轉換電路、單片機控制電路、顯示電路等。設計中需要用到的芯片有AT89C51單片機、ADC-0808、74LS74、LED數(shù)碼管等。
數(shù)字電壓表的Proteus軟件仿真電路設計#e#2 數(shù)字電壓表的Proteus軟件仿真電路設計
待測電壓輸入信號在ADC0808芯片承受的最大工作電壓范圍內,經(jīng)過模/數(shù)轉換電路實現(xiàn)A/D轉換,通過單片機控制電路進行程序數(shù)據(jù)處理,然后通過七段譯碼/驅動顯示電路實現(xiàn)數(shù)碼管顯示輸入電壓。
硬件電路原理圖如圖2所示。
2.1 AT89C51單片機和數(shù)碼管顯示電路的接口設計
利用單片機AT89C51與ADC0808設計一個數(shù)字電壓表,將模擬信號0~5 V之間的直流電壓值轉換成數(shù)字量信號0~FF,以兩位數(shù)碼管顯示。Proteus軟件啟動仿真,當前輸入電壓為2.5 V,轉換成數(shù)字值為7FH,用鼠標指針調節(jié)電位器RV1,可改變輸入模/數(shù)轉換器ADC0808的電壓,并通過虛擬電壓表觀察ADC0808模擬量輸入信號的電壓值,LED數(shù)碼管實時顯示相應的數(shù)值量。
在Proteus軟件中設置AT89C51單片機的晶振頻率為12 MHz。本電路EA接高電平,沒有擴展片外ROM。
2.2 A/D轉換電路的接口設計
A/D轉換器采用集成電路ADC0808。ADC0808具有8路模擬量輸入信號IN0~IN7(1~5腳、26~28腳),地址線C、B、A(23~25腳)決定哪一路模擬輸入信號進行A/D轉換,本電路將地址線C、B、A均接地,即選擇0號通道輸入模擬量電壓信號。22腳ALE為地址鎖存允許控制信號,當輸入為高電平時,對地址信號進行鎖存。6腳START為啟動控制信號,當輸入為高電平時,A/D轉換開始。本電路將ALE腳與START腳接到一起,共同由單片機的P2.0腳和WR腳通過或非門控制。7腳EOC為A/D轉換結束信號,當A/D轉換結束時,7腳輸出一個正脈沖,此信號可作為A/D轉換是否結束的檢測信號或向CPU申請中斷的信號,本電路通過一個非門連接到單片機的P3.2腳。9腳OE為A/D轉換數(shù)據(jù)輸出允許控制信號,當OE腳為高電平時,允許讀取A/D轉換的數(shù)字量。該OE腳由單片機的P2.0腳和RD腳通過或非門控制。10腳CLOCK為ADC0808的實時時鐘輸入端,利用單片機30引腳ALE的六分頻晶振頻率得到時鐘信號。數(shù)字量輸出端8個接到單片機的P0口。
3 數(shù)字電壓表的軟件程序設計
系統(tǒng)上電狀態(tài),初始化ADC0808的啟動地址,數(shù)碼管顯示關閉,開始啟動A/D轉換。等待啟動結束后,將ADC0808的0號通道模擬量輸入信號轉換輸出的數(shù)字量結果通過數(shù)碼管動態(tài)顯示的方式顯示到三位數(shù)碼管上。
評論