基于YL-236單片機實(shí)訓裝置的數字電壓表的設計方案
一、引言
本文引用地址:http://dyxdggzs.com/article/201612/328509.htm數字電壓表采用數字化測量技術(shù),可以將模擬量轉換成數字量并加以顯示。由于其具有測量精度高、抗干擾能力強等優(yōu)點(diǎn),被廣泛應用于工業(yè)自動(dòng)化儀表領(lǐng)域。下面本文就以亞龍YL-236單片機實(shí)訓裝置為平臺,介紹數字電壓表的實(shí)現方法。
二、方案總體設計
本設計選擇AT89C51單片機作為核心控制器件,采用ADC0809實(shí)現A/D轉換,用3位LED數碼管數字來(lái)顯示采集電壓(范圍0~5V)。設計框圖如圖1所示。

三、硬件部分設計
1.轉換芯片ADC0809
ADC0809具有8路模擬輸入端口,8路模擬開(kāi)關(guān)分時(shí)選通8個(gè)模擬通道,轉換后的8位數字量鎖存到三態(tài)輸出鎖存器中,在輸出允許的情況下,可以從8條數據線(xiàn)D7~D0上讀出,并可直接與單片機接口相連。ADC0809其引腳排列和具體功能可參考ADC0809說(shuō)明文件,這里不再詳述。
2.ADC0809與單片機的硬件連接
單片機與ADC0809接口電路如圖2所示。

74HC02可實(shí)現4路2輸入或非門(mén)功能。連接時(shí),將主機模塊中單片機的P0.0~P0.7接到ADC0809的數據輸出端D0~D7,用來(lái)接收ADC0809轉換輸出的數據;將單片機的P2.5、P3.6、P3.7接到ADC0809的CS、WR、RD端,作為A/D采樣的控制聯(lián)絡(luò )線(xiàn);將ADC0809的A、B、C接到ADC0809的D0、D1、D2口,通過(guò)P0的控制來(lái)選擇ADC的采樣通道。
3.數字電壓表硬件模塊接線(xiàn)
用YL-236實(shí)訓裝置實(shí)現本任務(wù)要求的硬件模塊接線(xiàn)如圖3所示。該電路由主機模塊(MCU01)、顯示模塊(MCU04)和ADC/DAC模塊(MCU07)組成。將時(shí)鐘源1MHZ接到ADC電路的CLK口,由模擬電壓源提供0~5V輸入電壓。

地址鎖存允許信號ALE由P3.6控制通道地址選擇,以WR作寫(xiě)選通信號。我們將ALE信號與START信號接在一起,這樣使得AD0809在鎖存通道地址的同時(shí),也啟動(dòng)了A/D轉換。
將主機模塊中單片機的P0口作為數碼管顯示的段碼使用,接到數碼管的a~dp段端,將單片機的P3.6、P2.6、P2.7分別接到數碼管的WR、CS2、CS1端,對數碼管進(jìn)行動(dòng)態(tài)掃描顯示。
四、軟件部分設計
1.AD轉換
圖4為利用ADC0809進(jìn)行A/D轉換的程序流程圖。

(1)定時(shí)傳送方式;
(2)查詢(xún)法;
(3)中斷控制法。
不管采用哪種方式,只要一旦確定轉換完成,即可通過(guò)指令進(jìn)行數據傳送。
啟動(dòng)信號START啟動(dòng)后開(kāi)始模數轉換。對于A(yíng)DC0809來(lái)說(shuō),當時(shí)鐘頻率一定時(shí),其A/D轉換時(shí)間是固定的(微秒級)。因此,我們可以設計一個(gè)延時(shí)函數delay(),等待一段時(shí)間(遠大于A(yíng)/D轉換的時(shí)間),延時(shí)時(shí)間到時(shí)轉換肯定已經(jīng)完成了,之后就可以進(jìn)行數據傳送了。
參考流程圖,我們可以編寫(xiě)對模擬通道0輸入的模擬電壓進(jìn)行A/D轉換的C語(yǔ)言程序,關(guān)鍵語(yǔ)句如下:

2.主函數流程圖
主函數流程圖如圖5所示。

編程時(shí)應注意,變量vol單位為毫伏。
因為ADC0809為8位模數轉換器,輸入模擬電壓最大值為5V,即5000mV,所以分辨率為5000mV/28,因此程序中測量的電壓值為采樣AD值乘以5000mV/255,再將所得的數依次通過(guò)數碼管顯示。完成后可改變輸入直流電壓值,觀(guān)察輸入電壓的變化情況。
五、總結
本方案詳細介紹了數字電壓表系統的設計,重點(diǎn)介紹了以YL-236亞龍單片機實(shí)訓裝置為平臺的硬件連接和軟件設計的方案,系統具有轉換速度快、精度高、性能穩定等優(yōu)點(diǎn),且電路簡(jiǎn)單,工作可靠,具有很好的實(shí)用價(jià)值。
評論