文/李泳東
(臺山市技工學(xué)校 廣東省臺山市 529200)
單片機(jī)的計(jì)算機(jī)水溫控制系統(tǒng)的重點(diǎn)便是測量、控制和保溫度,這也是應(yīng)用單片機(jī)計(jì)算機(jī)水溫控制系統(tǒng)的關(guān)鍵所在。所以,唯有做好單片機(jī)計(jì)算機(jī)水溫控制系統(tǒng)在測量溫度、控制溫度和保持溫度方面的設(shè)計(jì),才能夠保障其在機(jī)械制造、冶金、化工等各個(gè)方面得到有效的應(yīng)用。因此,本文以AT89C51為核心的計(jì)算機(jī)水溫控制系統(tǒng)為例對系統(tǒng)設(shè)計(jì)進(jìn)行了分析。
為了對以AT89C51為核心的計(jì)算機(jī)水溫控制系統(tǒng)進(jìn)行設(shè)計(jì)分析,于是本文對水箱的溫度顯示、溫度報(bào)警以及溫度控制進(jìn)行了一系列操作和設(shè)計(jì),進(jìn)而實(shí)現(xiàn)了能夠?qū)τ?jì)算機(jī)的水溫進(jìn)行實(shí)時(shí)的顯示和控制。首先是計(jì)算機(jī)水溫的控制部分,本文利用AT89C51單片機(jī)、DS18S20以及LED屏幕來實(shí)現(xiàn)對水溫的顯示、控制以及保持。其次,便是計(jì)算機(jī)水溫的警報(bào)系統(tǒng),本文主要是通過利用DS18S20和AT89C51相連接的硬件和軟件之間的配合來實(shí)現(xiàn)對熱電阻絲的控制,從而實(shí)現(xiàn)了水溫在超過規(guī)定的上下限的時(shí)候能夠?qū)ζ溥M(jìn)行警報(bào)。除此之外,在對單片機(jī)計(jì)算機(jī)水溫控制系統(tǒng)設(shè)計(jì)的時(shí)候其爐內(nèi)溫度檢測系統(tǒng)設(shè)計(jì)也會(huì)是必要的,對爐內(nèi)溫度監(jiān)測系統(tǒng)的設(shè)計(jì)主要是通過PID閉環(huán)反饋系統(tǒng)來完成的,利用PID閉環(huán)反饋系統(tǒng)對爐內(nèi)溫度進(jìn)行檢測,將檢測到的數(shù)值和事先設(shè)定好的檢測值進(jìn)行對比得到差值,然后在將差值利用閉環(huán)反饋系統(tǒng)傳輸給控制器,以此來調(diào)節(jié)爐內(nèi)溫度,進(jìn)而實(shí)現(xiàn)計(jì)算機(jī)水溫系控制系統(tǒng)的設(shè)計(jì)[1]。
利用AT89C51單片機(jī)、DS18S20以及PID閉環(huán)反饋系統(tǒng)進(jìn)行水溫單片機(jī)的計(jì)算機(jī)水溫系統(tǒng)控制具有簡單易操作、高性能低能耗、干擾能力強(qiáng)等很多優(yōu)點(diǎn),所以非常適合構(gòu)建多點(diǎn)的溫度控制系統(tǒng)。并且DS18S20芯片每一個(gè)都具有自己單獨(dú)的產(chǎn)品號,所以很容易就被分辨出來,因此,在設(shè)計(jì)單片機(jī)的計(jì)算機(jī)水溫控制系統(tǒng)的時(shí)候可以連接多個(gè)DS18S20芯片。不僅如此,因?yàn)槊總€(gè)DS18S20具有自己的產(chǎn)品好,所以再進(jìn)行系統(tǒng)設(shè)計(jì)的時(shí)候僅需要一根單獨(dú)的線就可以。
總而言之,通過本次水溫控制系統(tǒng)的設(shè)計(jì)可以實(shí)現(xiàn)計(jì)算機(jī)水溫的顯示、檢測以及控制,并且此次以AT89C51為主機(jī),通過一根線和多個(gè)DS18S20芯片相連接,水溫控制系統(tǒng)的工作效率將會(huì)大大提升。
1.2.1 并行接口
單片機(jī)內(nèi)部有一項(xiàng)最主要的功能就是并行接口,而AT89C51單片機(jī)的并行O/I接口是八位的,一共有四個(gè)且每一個(gè)接口內(nèi)部都具有一個(gè)鎖存器,一個(gè)輸出驅(qū)動(dòng)器,一個(gè)輸入緩沖器。為了設(shè)計(jì)計(jì)算機(jī)水溫系統(tǒng)的方便性,本文將其機(jī)作為P1、P2、P3、P4。AT89C51系列單片機(jī)的并行O/I接口具有字節(jié)和位置尋址的功能。并且在訪問儲存器的時(shí)候,P1負(fù)責(zé)傳送低8位的地址和數(shù)據(jù),高8位的數(shù)據(jù)和地址由P3負(fù)責(zé)傳送[2]。
1.2.2 定時(shí)器
定時(shí)器是單片機(jī)中最重要的部件之一。AT89C51單片機(jī)中的定時(shí)器也可以換成計(jì)數(shù)器。定時(shí)器或者是計(jì)數(shù)器具有工作方式靈活、編程簡單等優(yōu)勢,所以能夠有效的減輕電腦CPU的負(fù)擔(dān)。在AT89C51系列的單片機(jī)中一共有兩個(gè)十六位的定時(shí)器,這兩個(gè)定時(shí)器是可以編程的,為方便本文將其記為T0和T1,C51系列單片機(jī)還具有一個(gè)8位的定時(shí)器。當(dāng)其中一個(gè)定時(shí)器的數(shù)字由0變?yōu)?的時(shí)候,定時(shí)器增加1進(jìn)而實(shí)現(xiàn)計(jì)數(shù)功能,而對單片機(jī)的定時(shí)器進(jìn)行周期技術(shù),進(jìn)而可以實(shí)現(xiàn)其定時(shí)功能[3]。
1.2.3 振蕩器
C51系列單片機(jī)內(nèi)部還具有反向放大器的輸入和輸出,分別為XTAL1和XTAL2,這個(gè)反向放大器就可以配置為內(nèi)振蕩器,這種單片機(jī)內(nèi)的振蕩器材料可選,石晶和陶瓷都可以使用。
1.2.4 中斷裝置
中斷裝置也是單片機(jī)最為重要的組成部分,在對單片機(jī)進(jìn)行實(shí)時(shí)控制以及故障的自動(dòng)處理的時(shí)候、單片機(jī)和其他的設(shè)備之間的數(shù)據(jù)傳輸便是采用中斷裝置,這大大提高了單片機(jī)的工作效率。而AT89C51系列的中斷裝置非常復(fù)雜,其中和中斷相關(guān)寄存器就有四個(gè),分別是中斷有限級控制寄存器IP,中斷允許控制寄存器IE,中斷源寄存器TOON和中斷源寄存器SOON。中斷源有五個(gè),分別是串行中斷請求,定時(shí)器0溢出中斷請求,定時(shí)器1溢出中斷請求,外部中斷0請求以及外部中斷1請求。
1.2.5 芯片擦除
AT89C51系列單片機(jī)中都設(shè)有穩(wěn)態(tài)邏輯,以便于實(shí)現(xiàn)在C51單片機(jī)在低到零頻率之下的時(shí)候的靜態(tài)邏輯可以有選擇的進(jìn)行掉電。在低至零頻率的時(shí)候,CPU會(huì)停止工作,但是單片機(jī)中的RAM、定時(shí)器以及中斷系統(tǒng)都在是處于工作狀態(tài)中的,也就是說,在掉電模式之下,可以保存單片機(jī)的內(nèi)容并且停止單片機(jī)的振蕩器進(jìn)而防止其使用其他芯片功能,一直到整個(gè)單片機(jī)系統(tǒng)恢復(fù)使用[4]。
本文在進(jìn)行單片機(jī)的計(jì)算機(jī)水溫控制系統(tǒng)的硬件設(shè)計(jì)的時(shí)候采用的是按鍵的形式作為輸入控制,通過溫度采集獲取溫度信息,將采集到的溫度信息利用LM324放大器放大以及數(shù)模轉(zhuǎn)換器經(jīng)期轉(zhuǎn)換成數(shù)據(jù),最后在LED顯示器上顯示出來。
考慮到實(shí)用性以及價(jià)格,本文在進(jìn)行系統(tǒng)設(shè)計(jì)的時(shí)候利用的是電容充電電路,這樣的電路僅需要兩個(gè)外部元件就可以測量出溫度,不需要用到轉(zhuǎn)換器轉(zhuǎn)換電路等,這樣做不僅電路簡單,而其還具有耗能小、穩(wěn)定可靠的特優(yōu)勢,所以在進(jìn)行系統(tǒng)設(shè)計(jì)的時(shí)候利用電容充電電路具有很大優(yōu)勢[5]。
溫度采樣的部分是硬件設(shè)施中非常重要的一個(gè)部分。溫度采樣單部分主要是用來采集被控制的對象溫度。硬件設(shè)施的溫度采樣主要由三部分構(gòu)成,分別是:溫度電壓轉(zhuǎn)化、信號放大以及A/D轉(zhuǎn)換三部分,其中將溫度轉(zhuǎn)換為溫度電壓主要是由熱敏電阻實(shí)現(xiàn)的。而其中A/D轉(zhuǎn)換選擇的模數(shù)轉(zhuǎn)換器為ADC0809,ADC0809能夠?qū)⒉杉臏囟刃盘栟D(zhuǎn)化為單片機(jī)能夠處理的數(shù)據(jù)信號。所謂的ADC0809其實(shí)就是A/D轉(zhuǎn)換的芯片,ADC0809是通過逐次逼近的方法來實(shí)現(xiàn)轉(zhuǎn)換的。ADC0809是由單+5v的電源來供電的,整個(gè)芯片內(nèi)帶有鎖存功能,所以可以對0到5v的電壓進(jìn)行轉(zhuǎn)化。
在單片機(jī)的計(jì)算機(jī)水溫控制系統(tǒng)設(shè)計(jì)之中,單片機(jī)包含了中央處理部件、儲存器、定時(shí)器、計(jì)數(shù)器以及其他各種設(shè)備等,所以具有集成度高、功能強(qiáng)、耗能小、體積小、使用方便等特點(diǎn)。而在計(jì)算機(jī)的使用過程中,電流、電壓、溫度等都是非常常用的被控制參數(shù)。在這些參數(shù)里面,溫度正變得越來越重要。因此,利用單片機(jī)進(jìn)行溫度控制非常重要,能夠充分發(fā)揮單片機(jī)的各項(xiàng)優(yōu)點(diǎn),提高溫度控制的準(zhǔn)確性和穩(wěn)定性,進(jìn)行提高計(jì)算機(jī)工作的效率[6]。
數(shù)模轉(zhuǎn)換就是將獲取到的溫度信息轉(zhuǎn)換為可以顯示和處理的數(shù)據(jù)形式。也就是說,通過數(shù)模轉(zhuǎn)換可以將模擬輸入溫度信號轉(zhuǎn)換為N位數(shù)字輸出信號。因?yàn)閿?shù)字輸出信號能夠適應(yīng)各種算法,進(jìn)而更加方便實(shí)現(xiàn)溫度的顯示和控制。所以傳統(tǒng)的模擬信號正在被數(shù)字信號所代替,但是數(shù)字信號作為一種新技術(shù)目前為止還未得到全面應(yīng)用,所以介于兩者之間的數(shù)模轉(zhuǎn)換技術(shù)就顯得尤為重要,且應(yīng)用也越來越廣。
2.4.1 模數(shù)轉(zhuǎn)換技術(shù)
數(shù)模轉(zhuǎn)換技術(shù)也分為四個(gè)部分,分別是溫度采樣、溫度保持、溫度量化以及溫度編碼四個(gè)過程。數(shù)模轉(zhuǎn)換技術(shù)中的采樣就是將一個(gè)連續(xù)變化的模擬信號轉(zhuǎn)換為時(shí)間上的離散信號。而數(shù)模轉(zhuǎn)換技術(shù)中的保持就是將采樣獲得的離散信號保持一段時(shí)間,這就是所謂的保持。數(shù)模轉(zhuǎn)換技術(shù)中的量化就是將離散信號轉(zhuǎn)化為數(shù)字信號,但是數(shù)模轉(zhuǎn)換技術(shù)中的量化存在著誤差的缺陷。最后編碼就是將獲取的信號轉(zhuǎn)化為二進(jìn)制的數(shù)據(jù)形式[7]。
2.4.2 積分型模數(shù)轉(zhuǎn)換
積分模型轉(zhuǎn)換器又稱為多斜率數(shù)據(jù)轉(zhuǎn)換器,這也是單片機(jī)中應(yīng)用最為廣泛的轉(zhuǎn)換器模型。積分新模擬轉(zhuǎn)換器主要由三部分構(gòu)成,分別是模擬積分器、比較器和計(jì)數(shù)單元構(gòu)成。積分新模擬轉(zhuǎn)換器的采樣速度是非常低的,但是精確度卻很好。這樣在各種環(huán)境之中都可以有效應(yīng)用[8]。
此次水溫控制系統(tǒng)的顯示部分的電路主要是由7段數(shù)碼管以及移位寄存芯片74LS164構(gòu)成。其中將要被顯示的數(shù)據(jù)信號由單片機(jī)通過I20C總線傳輸給74LS164寄存芯片,最后由移位寄存芯片74LS164控制數(shù)碼管的現(xiàn)實(shí),進(jìn)而實(shí)現(xiàn)數(shù)據(jù)的現(xiàn)實(shí)。并且因?yàn)閱纹瑱C(jī)的工作頻率可以到達(dá)12M,所以移位寄存芯片74LS164的移位速度也是非??斓?,因此表現(xiàn)在數(shù)碼管上面,我們是沒有辦法看到數(shù)據(jù)轉(zhuǎn)化一位一位的變換的,而是一起變化的[9]。
單片機(jī)計(jì)算機(jī)水溫控制系統(tǒng)的軟件設(shè)計(jì)主要是通過高級語言實(shí)現(xiàn)的。高級語言主要是用來解決計(jì)算機(jī)問題的一種語言,高級語言適用于不同的計(jì)算機(jī)。高級語言的優(yōu)勢非常強(qiáng)大,使用者在進(jìn)行高級語言進(jìn)行單片機(jī)計(jì)算機(jī)水溫控制系統(tǒng)的軟件設(shè)計(jì)的時(shí)候不必對其進(jìn)行詳細(xì)的變成和設(shè)計(jì),只需要設(shè)計(jì)一個(gè)語句就行,因?yàn)楦呒壵Z言中一個(gè)語句就可以相當(dāng)于很多條計(jì)算機(jī)指令。因此,在對高級語言編制水溫控制的程序非常方便,也很簡單,容易上手。
單片機(jī)的計(jì)算機(jī)水溫控制系統(tǒng)的軟件設(shè)計(jì)主要是由主程序流程、中斷子程序流程、按鍵流程以及顯示流程四個(gè)部分構(gòu)成。從主程序流程來說,一旦有信號輸入到單片機(jī)的時(shí)候,主程序會(huì)啟動(dòng),并按照事先設(shè)計(jì)好的條件逐步進(jìn)行運(yùn)行,以達(dá)到需要的目的。從中斷子程序流程方面來說,其功能的實(shí)現(xiàn)主要是依靠讀溫度子程序以及計(jì)算溫度子程序兩部分構(gòu)成,讀溫度子程序的主要作用是將RAM中的九個(gè)字節(jié)讀出來,而計(jì)算溫度子程序則是將RAM中讀出來的字節(jié)進(jìn)行BCD碼的轉(zhuǎn)換。從按鍵流程方面來說主要是方便讓使用者通過外部按鍵來調(diào)節(jié)計(jì)算機(jī)的水溫,從而實(shí)現(xiàn)對其的手動(dòng)控制。從顯示流程來說,其主要功能就是將傳輸過來的信號進(jìn)行顯示,方便使用者觀看。這四個(gè)部分是單片機(jī)的計(jì)算機(jī)水溫控制系統(tǒng)的主要是路,通過這使部分流程的設(shè)計(jì),可以有效的實(shí)現(xiàn)計(jì)算機(jī)水溫的控制和顯示等等[10]。
總而言之,對單片機(jī)的計(jì)算機(jī)水溫控制系統(tǒng)進(jìn)行設(shè)計(jì)是非常有必要的,因?yàn)殡S著科學(xué)技術(shù)的發(fā)展,單片機(jī)以其獨(dú)特的優(yōu)勢應(yīng)用將會(huì)愈發(fā)廣泛,而溫度也正在變?yōu)樵絹碓街匾谋豢貐?shù)。因此說,對水溫控制系統(tǒng)進(jìn)行設(shè)計(jì)必要的。所以,相關(guān)的工作人員以及研發(fā)者一定要重視起來,加強(qiáng)水溫控制系統(tǒng)的設(shè)計(jì),以提高單片機(jī)的計(jì)算機(jī)的工作效率和質(zhì)量。