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