基于YL-236單片機(jī)實(shí)訓(xùn)裝置的數(shù)字電壓表的設(shè)計(jì)方案
一、引言
本文引用地址:http://m.butianyuan.cn/article/201612/328509.htm數(shù)字電壓表采用數(shù)字化測(cè)量技術(shù),可以將模擬量轉(zhuǎn)換成數(shù)字量并加以顯示。由于其具有測(cè)量精度高、抗干擾能力強(qiáng)等優(yōu)點(diǎn),被廣泛應(yīng)用于工業(yè)自動(dòng)化儀表領(lǐng)域。下面本文就以亞龍YL-236單片機(jī)實(shí)訓(xùn)裝置為平臺(tái),介紹數(shù)字電壓表的實(shí)現(xiàn)方法。
二、方案總體設(shè)計(jì)
本設(shè)計(jì)選擇AT89C51單片機(jī)作為核心控制器件,采用ADC0809實(shí)現(xiàn)A/D轉(zhuǎn)換,用3位LED數(shù)碼管數(shù)字來顯示采集電壓(范圍0~5V)。設(shè)計(jì)框圖如圖1所示。
三、硬件部分設(shè)計(jì)
1.轉(zhuǎn)換芯片ADC0809
ADC0809具有8路模擬輸入端口,8路模擬開關(guān)分時(shí)選通8個(gè)模擬通道,轉(zhuǎn)換后的8位數(shù)字量鎖存到三態(tài)輸出鎖存器中,在輸出允許的情況下,可以從8條數(shù)據(jù)線D7~D0上讀出,并可直接與單片機(jī)接口相連。ADC0809其引腳排列和具體功能可參考ADC0809說明文件,這里不再詳述。
2.ADC0809與單片機(jī)的硬件連接
單片機(jī)與ADC0809接口電路如圖2所示。
74HC02可實(shí)現(xiàn)4路2輸入或非門功能。連接時(shí),將主機(jī)模塊中單片機(jī)的P0.0~P0.7接到ADC0809的數(shù)據(jù)輸出端D0~D7,用來接收ADC0809轉(zhuǎn)換輸出的數(shù)據(jù);將單片機(jī)的P2.5、P3.6、P3.7接到ADC0809的CS、WR、RD端,作為A/D采樣的控制聯(lián)絡(luò)線;將ADC0809的A、B、C接到ADC0809的D0、D1、D2口,通過P0的控制來選擇ADC的采樣通道。
3.數(shù)字電壓表硬件模塊接線
用YL-236實(shí)訓(xùn)裝置實(shí)現(xiàn)本任務(wù)要求的硬件模塊接線如圖3所示。該電路由主機(jī)模塊(MCU01)、顯示模塊(MCU04)和ADC/DAC模塊(MCU07)組成。將時(shí)鐘源1MHZ接到ADC電路的CLK口,由模擬電壓源提供0~5V輸入電壓。
地址鎖存允許信號(hào)ALE由P3.6控制通道地址選擇,以WR作寫選通信號(hào)。我們將ALE信號(hào)與START信號(hào)接在一起,這樣使得AD0809在鎖存通道地址的同時(shí),也啟動(dòng)了A/D轉(zhuǎn)換。
將主機(jī)模塊中單片機(jī)的P0口作為數(shù)碼管顯示的段碼使用,接到數(shù)碼管的a~dp段端,將單片機(jī)的P3.6、P2.6、P2.7分別接到數(shù)碼管的WR、CS2、CS1端,對(duì)數(shù)碼管進(jìn)行動(dòng)態(tài)掃描顯示。
四、軟件部分設(shè)計(jì)
1.AD轉(zhuǎn)換
圖4為利用ADC0809進(jìn)行A/D轉(zhuǎn)換的程序流程圖。
(1)定時(shí)傳送方式;
(2)查詢法;
(3)中斷控制法。
不管采用哪種方式,只要一旦確定轉(zhuǎn)換完成,即可通過指令進(jìn)行數(shù)據(jù)傳送。
啟動(dòng)信號(hào)START啟動(dòng)后開始模數(shù)轉(zhuǎn)換。對(duì)于ADC0809來說,當(dāng)時(shí)鐘頻率一定時(shí),其A/D轉(zhuǎn)換時(shí)間是固定的(微秒級(jí))。因此,我們可以設(shè)計(jì)一個(gè)延時(shí)函數(shù)delay(),等待一段時(shí)間(遠(yuǎn)大于A/D轉(zhuǎn)換的時(shí)間),延時(shí)時(shí)間到時(shí)轉(zhuǎn)換肯定已經(jīng)完成了,之后就可以進(jìn)行數(shù)據(jù)傳送了。
參考流程圖,我們可以編寫對(duì)模擬通道0輸入的模擬電壓進(jìn)行A/D轉(zhuǎn)換的C語言程序,關(guān)鍵語句如下:
2.主函數(shù)流程圖
主函數(shù)流程圖如圖5所示。
編程時(shí)應(yīng)注意,變量vol單位為毫伏。
因?yàn)锳DC0809為8位模數(shù)轉(zhuǎn)換器,輸入模擬電壓最大值為5V,即5000mV,所以分辨率為5000mV/28,因此程序中測(cè)量的電壓值為采樣AD值乘以5000mV/255,再將所得的數(shù)依次通過數(shù)碼管顯示。完成后可改變輸入直流電壓值,觀察輸入電壓的變化情況。
五、總結(jié)
本方案詳細(xì)介紹了數(shù)字電壓表系統(tǒng)的設(shè)計(jì),重點(diǎn)介紹了以YL-236亞龍單片機(jī)實(shí)訓(xùn)裝置為平臺(tái)的硬件連接和軟件設(shè)計(jì)的方案,系統(tǒng)具有轉(zhuǎn)換速度快、精度高、性能穩(wěn)定等優(yōu)點(diǎn),且電路簡(jiǎn)單,工作可靠,具有很好的實(shí)用價(jià)值。
評(píng)論