吳順柳
(玉林師范學(xué)院,廣西玉林,537000)
本設(shè)計(jì)主要設(shè)計(jì)一個(gè)準(zhǔn)確、簡(jiǎn)潔的測(cè)量直流電壓的數(shù)字電壓表。利用MSU-51系列的控制系統(tǒng),采用數(shù)字化技術(shù),將連在一起的數(shù)量如直流電壓轉(zhuǎn)換成不是連在一起的分開(kāi)的數(shù)字形式并用液晶來(lái)顯示出來(lái)的數(shù)。
本次設(shè)計(jì)要具體實(shí)現(xiàn)的功能如下:
(1)分為四檔量程:0~4V,4~8V,8~20V,20~40V;(2)按鍵換擋選擇量程;(3)采用字符液晶LCD1602顯示;(4)具有自動(dòng)過(guò)壓保護(hù)功能,有一定的抗干擾功能;(5)當(dāng)檢測(cè)的電壓超出一定的量程范圍時(shí),蜂鳴器和二極管指示燈發(fā)出聲光報(bào)警提示。
在設(shè)計(jì)中的各個(gè)模塊主要是使用下面的幾種方案:控制信號(hào)系統(tǒng)主要以單片機(jī)STC89C52為核心;A/D轉(zhuǎn)換模塊:主要使用AD0832,主要是因?yàn)锳D0832具有引腳少,方便焊接,體積小,不占地方,使得電路不會(huì)那么的復(fù)雜,而且操作方法簡(jiǎn)單、方便等優(yōu)點(diǎn),還可以直接由單片機(jī)提供的數(shù)據(jù)轉(zhuǎn)換所需的數(shù)字信號(hào),時(shí)鐘信號(hào),轉(zhuǎn)換速度快,滿足設(shè)計(jì)需要。因此,首選用AD0832;顯示模塊:液晶1602顯示模塊具有功耗低、價(jià)格便宜、電路連接方便等優(yōu)點(diǎn),所以本設(shè)計(jì)采用LCD1602液晶顯示。報(bào)警模塊使用蜂鳴器,實(shí)現(xiàn)過(guò)壓報(bào)警功能,當(dāng)電壓被測(cè)電壓超過(guò)檔位電壓進(jìn)行報(bào)警。量程換檔模塊:換檔功能主要是獨(dú)立按鍵換檔,簡(jiǎn)單、方便、易操作,具有當(dāng)電壓超過(guò)或小于檔位電壓過(guò)大或過(guò)小時(shí),不能進(jìn)行換檔,具有一定過(guò)壓保護(hù)作用。數(shù)字電壓表的總體框圖如圖1所示。
圖1 系統(tǒng)總體框架
主要模塊的劃分:
(1)AD0832模塊:系統(tǒng)硬件設(shè)計(jì)的核心部分,主要作用是把模擬量轉(zhuǎn)換成數(shù)字量。
(2)量程轉(zhuǎn)換模塊:主要電阻分壓和繼電器衰減電壓倍數(shù)。
(3)按鍵電路模塊:設(shè)計(jì)采用了S2、S3、S4、S5等四個(gè)獨(dú)立按鍵,分別作為0~4V,4~8V,8~20V,20~40V電壓換擋,方便操作。
(4)液晶顯示模塊:本設(shè)計(jì)采用LCD1602液晶顯示屏,通過(guò)顯示屏可以實(shí)時(shí)顯示電壓變化,可以精確測(cè)量電壓。
(5)報(bào)警電路模塊:當(dāng)檢測(cè)的電壓超出量程的范圍時(shí),蜂鳴器和二極管指示燈發(fā)出聲光報(bào)警提示。
本設(shè)計(jì)的核心是通過(guò)數(shù)模轉(zhuǎn)換實(shí)現(xiàn)需要被測(cè)數(shù)的采集,基于單片機(jī)和C語(yǔ)言編程。通過(guò)STC89C52的控制,實(shí)現(xiàn)A/D轉(zhuǎn)換采集得到的數(shù)字量轉(zhuǎn)換為模擬后的數(shù)據(jù)經(jīng)過(guò)MSU-51控制系統(tǒng)在LCD上顯示出來(lái)。硬件電路主要有AD0832模塊、STC89C52主控模塊、LCD1602液晶顯示模塊、按鍵模塊、過(guò)壓報(bào)警模塊和量程轉(zhuǎn)換模塊等六個(gè)模塊電路的設(shè)計(jì)。整體電路如圖2所示。
圖2
根據(jù)A/D電路的原理劃分A/D轉(zhuǎn)化器可以劃分為:逐次逼近、雙積分式、并行式等等A/D轉(zhuǎn)換器,AD0832轉(zhuǎn)換器是串行式的A/D轉(zhuǎn)換器,是屬于逐次逼近型的一種轉(zhuǎn)換器。
逐次逼近比較A/D型轉(zhuǎn)換器的工作原理是:它將采樣輸入信號(hào)直接進(jìn)入A/D轉(zhuǎn)換器的DI端,然后進(jìn)行通道選擇,因?yàn)槭谴械?,它具有串行的特點(diǎn),串行的特點(diǎn)是數(shù)據(jù)依次逐個(gè)輸入。
STC89C52是STC公司生產(chǎn)的一種低功耗、高性能CMOS 8位微控制器,片內(nèi)含8KB可編程Flash存儲(chǔ)器和512字節(jié)隨機(jī)存取存儲(chǔ)器。該器件雖然使用經(jīng)典的MCS-51內(nèi)核,但是做了很多的改進(jìn)使得芯片具有傳統(tǒng)的51單片機(jī)不具備的功能。STC89C52單片機(jī)最小系統(tǒng)的電路有復(fù)位電路、時(shí)鐘電路以及電源電路三部分組成。在單片機(jī)芯片上,擁有靈巧的8 位CPU 和在系統(tǒng)可編程Flash,STC89C52使用靈活方便易學(xué),而且還為嵌入式存在的缺點(diǎn),提供了許多有效的解決辦法,為嵌入式的發(fā)展有巨大的貢獻(xiàn)。
本設(shè)計(jì)就是使用51系列單片機(jī)最小系統(tǒng),系統(tǒng)采用STC89C52芯片作為系統(tǒng)的控制中心,用數(shù)模轉(zhuǎn)換芯片ADC0832模數(shù)轉(zhuǎn)換模塊,這樣不僅可以達(dá)到設(shè)計(jì)的硬性指標(biāo),而且準(zhǔn)確度高、操作特別的簡(jiǎn)捷,單片機(jī)具有開(kāi)發(fā)時(shí)間短、控制功能強(qiáng)大、穩(wěn)定性好、價(jià)格便宜、程序比較容易學(xué)習(xí)等眾多優(yōu)點(diǎn)。
2.2.1 時(shí)鐘電路
時(shí)鐘電路用于產(chǎn)生MCS-51單片機(jī)工作時(shí)所必需的時(shí)鐘控制信號(hào),時(shí)鐘電路的穩(wěn)定性會(huì)直接影響單片機(jī)系統(tǒng)的穩(wěn)定性。時(shí)鐘電路有兩種電路工作方式,分別為內(nèi)部和外部,本設(shè)計(jì)的時(shí)鐘電路為內(nèi)部時(shí)鐘電路。內(nèi)部時(shí)鐘電路的自激振蕩器由晶體振蕩器和兩個(gè)電容并聯(lián)構(gòu)成的,電容約為30pF,振蕩頻率范圍為1~11.0592MHz。
2.2.2 復(fù)位電路
復(fù)位是單片機(jī)初始化的操作。當(dāng)MCU開(kāi)始工作時(shí),必須先重置,即按復(fù)位按鍵,使CPU和部分系統(tǒng)處于初始狀態(tài)。這是很有必要的操作,因?yàn)閱纹瑱C(jī)自身沒(méi)有自動(dòng)復(fù)位的功能。STC89C52有兩種外部復(fù)位模式,一種是上電自動(dòng)復(fù)位,另一種是按鍵手動(dòng)復(fù)位。在本設(shè)計(jì)中采用的是手動(dòng)按鍵復(fù)位的方式,該復(fù)位方式是在普通的RC電路的基礎(chǔ)上在加一個(gè)的10k電阻,10μF的電容。
2.2.3 電源電路
主要是為整個(gè)系統(tǒng)提供電源,因本系統(tǒng)各個(gè)模塊需要的電壓源均為+5V的直流電壓源供電,系統(tǒng)采用按鍵的電源開(kāi)關(guān),P0為電源接口,S0為按鍵開(kāi)關(guān)。
顯示器是單片機(jī)應(yīng)用系統(tǒng)中常用的輸出顯示設(shè)備,本設(shè)計(jì)選用LCD1602液晶顯示器,第一行顯示的是檔位量程,第二行顯示的被測(cè)電壓的測(cè)量電壓值。它是以字符為基礎(chǔ)的液晶,能顯示數(shù)字和字母,控制簡(jiǎn)單,低功耗。設(shè)計(jì)的主要作用是能夠?qū)崟r(shí)的顯示電壓。
在系統(tǒng)設(shè)計(jì)中,通過(guò)運(yùn)用獨(dú)立按鍵實(shí)現(xiàn)換擋的功能。這種獨(dú)立的按鈕當(dāng)電壓超過(guò)某個(gè)檔位的量程,可以直接通過(guò)按鍵實(shí)現(xiàn)換擋,反應(yīng)靈活,硬件結(jié)構(gòu)簡(jiǎn)單,可以快速地實(shí)現(xiàn)所需的選擇,而且因?yàn)槭仟?dú)立的按鍵,按鍵之間互不干擾,具有自動(dòng)過(guò)壓保護(hù)的功能。過(guò)壓保護(hù)功能主要表現(xiàn)在在超出某個(gè)檔位電壓值比較大的情況下,再按這個(gè)小的量程是換不了檔位的,這說(shuō)明在具有一定的過(guò)壓能,從而不會(huì)燒壞芯片。
四個(gè)按鍵的分別表示:S2:0~4V檔;S3:4~8V檔;S4:8~20V檔;S5:20~40V檔。
通過(guò)單片機(jī)的判斷,LCD顯示頻上顯示的檔位電壓,用P2^0腳控制三極管的截止與開(kāi)通,從而開(kāi)啟與關(guān)閉蜂鳴器的作用,當(dāng)被測(cè)電壓超過(guò)顯示屏上的電壓量程時(shí),蜂鳴器和LED會(huì)出現(xiàn)聲光報(bào)警。但是由于數(shù)模轉(zhuǎn)換器AD00832的測(cè)量電壓的范圍只能在0~5V,所以在沒(méi)有測(cè)量任何電壓的情況下,當(dāng)換擋到4~8V,8~20V,20~40V警報(bào)器也會(huì)有警報(bào),這是因?yàn)锳D0832的對(duì)電壓的判斷的是超過(guò)5V,超過(guò)AD0832的量程范圍,再傳輸?shù)絾纹瑱C(jī),由單片機(jī)傳輸?shù)椒澍Q器,此時(shí),蜂鳴器報(bào)警。
設(shè)計(jì)中的量程轉(zhuǎn)換電路模擬電壓輸入端為P4。但AD0832可承受的電壓量程是0~5V,因此在設(shè)計(jì)中的電路中需要有分壓電阻和能控制電壓衰減電壓倍數(shù)的器件,使得模擬電壓控制在AD0832的能承受的量程范圍之內(nèi)。因此,本設(shè)計(jì)用七個(gè)電阻R3、R4、R5、R6、R7、R8、R9作為分壓電阻和繼電器K1、K2、K3、K4作為控制電壓衰減倍數(shù)的器件。
本設(shè)計(jì)中,單片機(jī)C語(yǔ)言程序用Keil軟件編寫(xiě),進(jìn)行編譯,得到的HEX文件是單片機(jī)需要的,把HEX文件燒入STC89C52RC單片機(jī)中然后進(jìn)行硬件調(diào)試。主要使用ADC0832模擬/數(shù)字轉(zhuǎn)換器芯片設(shè)計(jì)數(shù)字電壓表的轉(zhuǎn)換電路。本設(shè)計(jì)方案以單片機(jī)STC89C52RC為主控芯片,以ADC0832模擬/數(shù)字轉(zhuǎn)換器芯片為核心轉(zhuǎn)換模擬/數(shù)字量的芯片,組成數(shù)字電壓表電路。該電路能夠準(zhǔn)確地測(cè)出需要測(cè)量的有效電壓值,并且誤差相對(duì)來(lái)說(shuō)比較小,而LCD1602能實(shí)時(shí)而清晰顯示被測(cè)電壓值。主程序流程圖如圖3所示。
圖3 主程序流程圖
成品制作完成后,首先用萬(wàn)用表檢測(cè)電路板是否存在漏焊、虛焊,焊接不良等現(xiàn)象。檢查電路的線路有沒(méi)有存在短路或斷路。檢測(cè)電源電路及電路中的電源和地連接正常了沒(méi)有,測(cè)試每個(gè)芯片的引腳是否出現(xiàn)短路的情況,檢查無(wú)誤后,然后把單片機(jī)的程序燒錄到硬件中去,不斷的調(diào)試硬件,燒錄程序完畢后,進(jìn)行實(shí)驗(yàn),分析實(shí)驗(yàn)數(shù)據(jù)及誤差。
本課題設(shè)計(jì)已經(jīng)完成了指導(dǎo)老師要求的任務(wù)內(nèi)容。本設(shè)計(jì)基于AD0832集成芯片結(jié)合STC89C52RC單片機(jī)實(shí)現(xiàn)電壓換擋的測(cè)量,LCD1602液晶為顯示器,通過(guò)軟件與硬件相結(jié)合的方法。所設(shè)計(jì)的數(shù)字電壓表測(cè)量范圍是0~40 V的電壓,過(guò)壓報(bào)警功能。設(shè)計(jì)方案簡(jiǎn)潔,操作便捷,設(shè)計(jì)成本不高,在總體上取得一定的效果,但尚存在不足之處,并且調(diào)試還存在一些問(wèn)題,在5V以下的誤差較小,但是超過(guò)5V的電壓誤差較大,不適合測(cè)量過(guò)大的電壓。