新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于51單片機(jī)的數(shù)字電壓表仿真設(shè)計(jì)

基于51單片機(jī)的數(shù)字電壓表仿真設(shè)計(jì)

作者: 時間:2011-05-26 來源:網(wǎng)絡(luò) 收藏

2.1 AT89C51和數(shù)碼管顯示電路的接口
利用AT89C51與ADC0808一個,將模擬信號0~5 V之間的直流電壓值轉(zhuǎn)換成量信號0~FF,以兩位數(shù)碼管顯示。Proteus軟件啟動,當(dāng)前輸入電壓為2.5 V,轉(zhuǎn)換成值為7FH,用鼠標(biāo)指針調(diào)節(jié)電位器RV1,可改變輸入模/數(shù)轉(zhuǎn)換器ADC0808的電壓,并通過虛擬觀察ADC0808模擬量輸入信號的電壓值,LED數(shù)碼管實(shí)時顯示相應(yīng)的數(shù)值量。
在Proteus軟件中設(shè)置AT89C51的晶振頻率為12 MHz。本電路EA接高電平,沒有擴(kuò)展片外ROM。
2.2 A/D轉(zhuǎn)換電路的接口
A/D轉(zhuǎn)換器采用集成電路ADC0808。ADC0808具有8路模擬量輸入信號IN0~I(xiàn)N7(1~5腳、26~28腳),地址線C、B、A(23~25腳)決定哪一路模擬輸入信號進(jìn)行A/D轉(zhuǎn)換,本電路將地址線C、B、A均接地,即選擇0號通道輸入模擬量電壓信號。22腳ALE為地址鎖存允許控制信號,當(dāng)輸入為高電平時,對地址信號進(jìn)行鎖存。6腳START為啟動控制信號,當(dāng)輸入為高電平時,A/D轉(zhuǎn)換開始。本電路將ALE腳與START腳接到一起,共同由單片機(jī)的P2.0腳和WR腳通過或非門控制。7腳EOC為A/D轉(zhuǎn)換結(jié)束信號,當(dāng)A/D轉(zhuǎn)換結(jié)束時,7腳輸出一個正脈沖,此信號可作為A/D轉(zhuǎn)換是否結(jié)束的檢測信號或向CPU申請中斷的信號,本電路通過一個非門連接到單片機(jī)的P3.2腳。9腳OE為A/D轉(zhuǎn)換數(shù)據(jù)輸出允許控制信號,當(dāng)OE腳為高電平時,允許讀取A/D轉(zhuǎn)換的數(shù)字量。該OE腳由單片機(jī)的P2.0腳和RD腳通過或非門控制。10腳CLOCK為ADC0808的實(shí)時時鐘輸入端,利用單片機(jī)30引腳ALE的六分頻晶振頻率得到時鐘信號。數(shù)字量輸出端8個接到單片機(jī)的P0口。

3 數(shù)字的軟件程序設(shè)計(jì)
系統(tǒng)上電狀態(tài),初始化ADC0808的啟動地址,數(shù)碼管顯示關(guān)閉,開始啟動A/D轉(zhuǎn)換。等待啟動結(jié)束后,將ADC0808的0號通道模擬量輸入信號轉(zhuǎn)換輸出的數(shù)字量結(jié)果通過數(shù)碼管動態(tài)顯示的方式顯示到三位數(shù)碼管上。
根據(jù)設(shè)計(jì)要求結(jié)合硬件電路,在輸入模擬信號時采用電阻分壓,最終的采樣輸入電壓只有實(shí)際輸入電壓的十分之一,所以在編寫程序中要編寫一段數(shù)據(jù)調(diào)整程序,其中還應(yīng)注意硬件顯示電路采用了動態(tài)掃描顯示,在動態(tài)掃描顯示方式中,動態(tài)掃描的頻率有一定的要求,頻率太低,數(shù)碼管LED將會出現(xiàn)閃爍現(xiàn)象,通常數(shù)碼管點(diǎn)亮?xí)r間間隔一般均取5ms左右為宜,這就要求在編寫程序時,使其點(diǎn)亮并保持一定的時間??偨Y(jié)以上分析,程序流程圖如圖3,圖4所示。

本文引用地址:http://m.butianyuan.cn/article/172735.htm

d.jpg



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉