基于單片機(jī)的水溫控制系統(tǒng)設(shè)計(jì)-畢業(yè)設(shè)計(jì).doc
基于單片機(jī)的水溫控制系統(tǒng)設(shè)計(jì)學(xué)生: 指導(dǎo)教師:內(nèi)容摘要:說起溫度控制系統(tǒng),大家并不陌生了,在我們生活中許許多多的家用電器都可以涉及到溫度的控制,像存儲(chǔ)美食的電冰箱,為我們帶來涼爽的空調(diào)都會(huì)用到溫度控制系統(tǒng),為我們帶來熱氣騰騰開水的飲水機(jī)等等。而本文介紹了水溫控制系統(tǒng)的基本原理,本系統(tǒng)可以用于飲水機(jī)等電路,整個(gè)系統(tǒng)的核心就是AT89C51單片機(jī),它是這個(gè)系統(tǒng)的主控制單元,對(duì)于水溫控制當(dāng)然溫度控制系統(tǒng)也是必不可少的,這個(gè)系統(tǒng)則應(yīng)用了DS18B20為溫度傳感器的溫度控制系統(tǒng),采集溫度后利用數(shù)碼管顯示當(dāng)前溫度,并通過繼電器對(duì)其加熱等??偠灾疁乜刂葡到y(tǒng)在生活中的大量應(yīng)用為我們帶來了方便,提高了我們的生活質(zhì)量。 關(guān)鍵詞:水溫控制系統(tǒng) 單片機(jī) AT89C51 DS18B20 繼電器 Design for microcomputer temperature control systemAbstract: Speaking of temperature control system, everybody is not strange, in our life, many household appliances can be involved in temperature control, like food storage refrigerator, bring us cool air conditioning, the temperature control system is used for us a steaming hot water drinking machine, and so on. Water temperature control system are introduced in this paper, the basic principle of this system can be used for water dispensers circuit, such as the core of the whole system is AT89C51 single chip microcomputer, it is the main control unit to the system, the water temperature control temperature control system is also indispensable, of course, the application system, the temperature control system of temperature sensor DS18B20, after collecting temperature using digital tube display the current temperature, and through the relay on the heating, etc. Overall water temperature control system in the life of a large number of applications for our brought convenient, improve the quality of our life. Keywords: water temperature control system of single chip microcomputer AT89C51 DS18B20 relay .目 錄前言 .11 水溫控制器背景12 方案比較12.1 控制電路的方案比較12.2 溫度采集模塊22.3 顯示模塊22.4 溫度控制模塊23 硬件電路33.1 硬件框圖33.2 功能介紹33.2.1 控制電路模塊33.2.2 溫度采集模塊功能63.2.3 溫度控制模塊功能73.2.4 顯示模塊功能84 軟件設(shè)計(jì)104.1 主程序流程圖104.2 溫度采集程序114.2.1 溫度轉(zhuǎn)換124.3 按鍵處理134.4 顯示模塊135 調(diào)試說明155.1 溫度采集誤差155.2 水溫控制測(cè)試165.3 溫度突變測(cè)試176 結(jié)束語18附錄 .19參考文獻(xiàn) .21基于單片機(jī)的水溫控制系統(tǒng)設(shè)計(jì)前言電飯煲,電冰箱,電空調(diào)在我們生活中隨處可見,為我們的生活帶來了極大的方便,這一切的功勞都?xì)w屬于水溫控制系統(tǒng)的誕生。隨著科技不斷進(jìn)步,如今的水溫控制系統(tǒng)越來越精確,質(zhì)量越來越高,效率也越來越好。然而水溫控制系統(tǒng)不僅僅應(yīng)用在一些日常的家電中,還在工業(yè)上普遍應(yīng)用。例如冶金,電力生產(chǎn)等對(duì)溫度都有極其高的要求,工業(yè)冶煉都是在高溫環(huán)境下操作的,在如此惡劣的環(huán)境下,控制溫度是對(duì)員工安全的負(fù)責(zé),是對(duì)產(chǎn)品質(zhì)量的指標(biāo),是對(duì)成品數(shù)量的標(biāo)準(zhǔn),可見水溫控制的重要性,不僅提高了產(chǎn)品質(zhì)量,還相應(yīng)節(jié)約了人力勞動(dòng)。在現(xiàn)在工業(yè)發(fā)達(dá)的領(lǐng)域,自動(dòng)化控制應(yīng)用越來越廣泛,大大節(jié)約了人力物力資源,由于單片機(jī)的廣泛應(yīng)用和發(fā)展,使水溫控制系統(tǒng)越來越精確,越來越方便,越來越與我們的生活息息相關(guān),人們也越來越放心使用。1 水溫控制器背景人們對(duì)生活質(zhì)量的要求越來越高,現(xiàn)在電子技術(shù)的不斷發(fā)展推動(dòng)了水溫控制的不斷進(jìn)步,即能滿足人類現(xiàn)在的需要。目前水溫的控制系統(tǒng)一般采用以微處理器為核心的計(jì)算機(jī)控制技術(shù),代替了從前落后的控制器,從而提高了自動(dòng)化能力,并且精確度也越來越高。由于單片機(jī)的問世,自動(dòng)化控制將單片機(jī)的功能發(fā)揮到淋漓盡致,單片機(jī)也成為了大多電子產(chǎn)品中必不可少的核心元件,而對(duì)于本課題的水溫控制系統(tǒng)也涉及到了單片機(jī)的應(yīng)用,在當(dāng)代生活水溫控制系統(tǒng)應(yīng)用越來越廣泛,說明了水溫控制系統(tǒng)在我們生活中的地位,并且適合各種場(chǎng)合的智能水溫控制器也隨之誕生。本課題就是在STC89C52單片機(jī)上的水溫控制系統(tǒng)。2 方案比較2.1 控制電路的方案比較方案一:采用FPGA作為系統(tǒng)控制器。FPGA具有高速運(yùn)行,編程簡(jiǎn)單的優(yōu)勢(shì),但是本系統(tǒng)只是一個(gè)簡(jiǎn)單普通的水溫測(cè)試系統(tǒng),高速運(yùn)行對(duì)本系統(tǒng)來說與不是高速運(yùn)行的控制系統(tǒng)相比不會(huì)產(chǎn)生太大優(yōu)勢(shì),所以不需要高速運(yùn)行這個(gè)特點(diǎn),并且FPGA成本高,引腳多,十分麻煩,對(duì)于本系統(tǒng)利用不到其優(yōu)勢(shì)且由于引腳多會(huì)給其帶來額外麻煩,所以排除它。方案二:采用STC89C52RC單片機(jī)作為控制器。本單片機(jī)是在一塊芯片中集成了數(shù)據(jù)存儲(chǔ)器ROM,中央處理器,定時(shí)器,計(jì)數(shù)器和程序存儲(chǔ)器RAM,32位IO口,可通過編程實(shí)現(xiàn)邏輯,運(yùn)算等控制,且其具有體積小,功耗低,成本低的優(yōu)勢(shì),而且此單片機(jī)引腳較少,對(duì)于本系統(tǒng)是最佳的選擇。不僅可以實(shí)現(xiàn)自動(dòng)化控制水溫的功能,又可以降低成本又是十分簡(jiǎn)便的方式。綜上所述選擇方案二。2.2 溫度采集模塊 方案一:采用熱敏電阻器采集溫度,盡管其靈敏度較高,工作范圍也挺廣泛,但是其阻值與溫度關(guān)系非線性嚴(yán)重,調(diào)試較復(fù)雜,固不采用。方案二:采用熱電偶采集溫度,盡管其精確度較高,穩(wěn)定性好,但是其靈敏度低,成本較高,對(duì)污染特別敏感,調(diào)試?yán)щy,固也不采用。方案三:采用DS18B20溫度傳感器采集溫度,可直接與本系統(tǒng)控制電路單片機(jī)通信,讀取測(cè)溫?cái)?shù)據(jù)。且線路簡(jiǎn)單,耗用資源少,靈敏度高,測(cè)溫范圍-55125,分辨率最大可達(dá)0.0625 ,而且較其它溫度采集模塊,我們已對(duì)DS18B20有了初步的接觸,在我們使用時(shí)會(huì)更加等心應(yīng)手,減少不必要的麻煩,最主要是DS18B20能滿足本系統(tǒng)所有要求。綜上所述選擇方案三。2.3 顯示模塊方案一:采用LED八段數(shù)碼管。使用該方案時(shí)就要用到三個(gè)LED分別顯示溫度的十位、個(gè)位和小數(shù)位,在制作時(shí)就使其復(fù)雜麻煩。盡管數(shù)碼管低消耗,但是其引腳不規(guī)則,在辨別和確認(rèn)引腳時(shí)也較為麻煩,還有一點(diǎn)就是溫度是可以變化的,是隨著時(shí)間會(huì)改變的,固該系統(tǒng)是動(dòng)態(tài)顯示,為滿足這點(diǎn)要求LED八段數(shù)碼管在使用時(shí)要外加驅(qū)動(dòng)電路,就更為復(fù)雜。方案二:采用液晶顯示屏。液晶顯示屏不但具有數(shù)碼管顯示的特點(diǎn),但是較LED八段數(shù)碼管而言,它的引腳就較其簡(jiǎn)單,而且抗干擾能力強(qiáng),編程也相對(duì)簡(jiǎn)單容易,使本系統(tǒng)在制作時(shí)更為簡(jiǎn)單,且滿足我們的所有需求。綜上所述選擇方案二。2.4 溫度控制模塊方案一:采用可控硅來控制加熱器有效功率。采用本方案需通過控制其導(dǎo)通角來掌握電流大小,盡管可控硅開端速度快且無涌流,但該方案電路復(fù)雜,還需增加其他光耦器件,使電路更顯復(fù)雜,并且成本高,功耗大,所以不使用該方案。方案二:采用PWM控制固態(tài)繼電器來達(dá)到控制電流大小的目的,從而控制加熱溫度降低溫度,繼電器可以很容易地實(shí)現(xiàn)通過較高的電壓和電流,并且較方案一電路簡(jiǎn)單,不用外加光耦器件,且成本低,對(duì)整體系統(tǒng)無干擾,響應(yīng)快,能滿足該系統(tǒng)要求。綜上所述選擇方案二。3 硬件電路 3.1 硬件框圖該總系統(tǒng)主要以STC89C52為核心模塊來控制整個(gè)系統(tǒng),還有溫度采集模塊,顯示模塊,溫度控制模塊,鍵盤輸入等共同協(xié)調(diào)而成,該系統(tǒng)可以簡(jiǎn)單的控制水溫,并加熱水溫使其達(dá)到預(yù)設(shè)狀態(tài),該系統(tǒng)最常見的實(shí)例就是飲水機(jī)。飲水機(jī)是設(shè)置水溫達(dá)到幾乎100攝氏度,當(dāng)打開電源自動(dòng)開始加熱到預(yù)設(shè)溫度,當(dāng)達(dá)到預(yù)設(shè)溫度時(shí)保溫,保持預(yù)設(shè)溫度,當(dāng)溫度未達(dá)到時(shí),又繼續(xù)自動(dòng)加熱,以此循環(huán)。水溫控制器的硬件框圖如3.1-1所示。STC89C52單片機(jī)溫度采集鍵盤輸入數(shù)據(jù)存儲(chǔ)溫度控制數(shù)據(jù)顯示圖3.1-1 硬件框圖3.2 功能介紹 3.2.1 控制電路模塊本系統(tǒng)控制電路模塊是采用單片機(jī)STC89C52,它屬于51系列單片機(jī),具有51系列單片機(jī)的特點(diǎn),51系列單片機(jī)又被叫做位處理器,因?yàn)槠溆幸粌?yōu)點(diǎn)就是從內(nèi)的硬件到軟件都有一套按位操作的系統(tǒng),由此顯而易見51系列單片機(jī)處理方式是按位處理,單片機(jī)還具有高集成度,體積小的特點(diǎn),它是將各功能部件集成在一塊小芯片上,具有邏輯運(yùn)算,置位,清零等功能,最主要是其控制能力強(qiáng),而本系統(tǒng)用到的STC89C52單片機(jī)是一個(gè)8位單片機(jī),它的外部晶振為12MHz,一個(gè)指令周期為1S,它還有32個(gè)IO口,而單片機(jī)的IO口邏輯操作及位處理能力很強(qiáng),適用于使用控制功能系統(tǒng)。單片機(jī)STC89C52內(nèi)部有8KB單元的程序存儲(chǔ)器及256字節(jié)的數(shù)據(jù)存儲(chǔ)器。系統(tǒng)不必?cái)U(kuò)展外部程序存儲(chǔ)器和數(shù)據(jù)存儲(chǔ)器這樣大大的減少了系統(tǒng)硬件部分。單片機(jī)不但引腳少,而且功能強(qiáng)大,本系統(tǒng)主要應(yīng)用了STC89C52具有控制能力強(qiáng),及內(nèi)部又8KB單元的程序存儲(chǔ)器及256字節(jié)的數(shù)據(jù)存儲(chǔ)器,使我們采集溫度后可以直接將數(shù)據(jù)傳輸?shù)絾纹瑱C(jī),并可以記錄儲(chǔ)存到此時(shí)的數(shù)據(jù),并且它的控制能力可以協(xié)調(diào)控制各模塊之間自動(dòng)運(yùn)行,且編寫程序控制較其它而言相對(duì)簡(jiǎn)單,再者單片機(jī)引腳少,使電路不至于麻煩,為操作者帶來很大的便利。如圖3.2.1-1為STC89C52電路圖。 圖3.2.1-1 STC89C52電路圖STC89C52單片機(jī)共有40個(gè)引腳,其中有2個(gè)用于主電源引腳,分別是Vcc和Vss,位于40和20引腳;2個(gè)外接晶振的引腳,分別是XTAL1和XTAL2,其中XTAL1在單片機(jī)內(nèi)是反相放大器中的輸入端,而XTAL2則是輸出端;4個(gè)控制或與其它電源復(fù)用的引腳,分別是RST(上電復(fù)位),ALE(允許地址鎖存信號(hào)),PSEN(片外程序存儲(chǔ)器讀選通輸出端),EA/Vpp(訪問外部程序儲(chǔ)器控制信號(hào)和編程電源);以及32個(gè)輸入輸出IO引腳,其中分為P0(P0.0P0.7),P1(P1.0P1.7),P2(P2.0P2.7),P3(P3.0P3.7)口,而P3口不僅具有準(zhǔn)雙向接口的功能,還具有其它功能,具體如表3.2.1-1所示。每個(gè)輸入輸出IO口,輸入輸出的數(shù)據(jù)總類是不一樣的。P0:共有P0.0P0.7。它分為兩種接口情況,其中一種是不接不擴(kuò)展IO接口或外部存儲(chǔ)器時(shí),它就被用作準(zhǔn)雙向8位輸入輸出接口。另外一種是接有擴(kuò)展IO口或外部程序存儲(chǔ)器時(shí),P0口就被作為地址數(shù)據(jù)分時(shí)復(fù)用口,然而其中分時(shí)的接口可提供8位的雙向數(shù)據(jù)總線。在片內(nèi)含有EPROM的單片機(jī),P0還有其它作用。EPROM可以編程和檢驗(yàn),當(dāng)它進(jìn)行編程的時(shí)候,就可以從P0輸入指令字節(jié);而當(dāng)檢驗(yàn)程序的時(shí)候,對(duì)于片內(nèi)含有EPROM的單片機(jī),當(dāng)EPROM編程時(shí),從P0口輸入指令字節(jié),而當(dāng)檢驗(yàn)程序時(shí),P0口輸出指令字節(jié)。P1:共有P1.0P1.7。它具有輸入輸出端口的通用特點(diǎn)就是可被用作準(zhǔn)雙向IO接口使用。對(duì)于STC89C52單片機(jī)來說它的功能較唯一。P2:共有P2.0P2.7。它也具有輸入輸出口的一般特性就是可用作雙向IO接口。它接有外部IO接口或者外部程序存儲(chǔ)器,并且它的尋址范圍大于了256個(gè)字節(jié)的時(shí)候,P2就被用作P高8位地址總線并且可以送出高8位地址。P3:共有P3.0P3.7。它也具有輸入輸出口的一般特性就是可用作雙向IO接口。P3口又被叫作雙功能口,它的每一個(gè)引腳都可以單獨(dú)使用,不僅可以單獨(dú)用作輸入輸出接口,并且每一個(gè)單獨(dú)的引腳都有其單獨(dú)的其它功能,如表3.2.1-1P3口其它功能所示。表3.2.1-1 P3口其它功能引腳功能P3.0RXD(串行口輸入端0)P3.1TXD(串行口輸出端)P3.2INT0(部中斷0請(qǐng)求輸入端,低電平有效)P3.3INT1(中斷1請(qǐng)求輸入端,低電平有效)P3.4T0(時(shí)器/計(jì)數(shù)器0計(jì)數(shù)脈沖端)P3.5T1(時(shí)器/計(jì)數(shù)器1數(shù)脈沖端)P3.6WR(部數(shù)據(jù)存儲(chǔ)器寫選通信號(hào)輸出端,低電平有效)P3.7RD(部數(shù)據(jù)存儲(chǔ)器讀選通信號(hào)輸出端,低電平有效)4個(gè)控制引腳,它還能與其它電源復(fù)用,RST引腳又可以作為VPD引腳,叫作備用電源,它的作用就是當(dāng)VCC發(fā)生故障不能使用時(shí),譬如斷電或者電平降到低電平范圍,此時(shí)可接到備用電源VDP為系統(tǒng)RAM供電,以保證RAM繼續(xù)運(yùn)行,使其中的數(shù)據(jù)不至于丟失。EA引腳又可以作為VPP引腳,但是被看作VPP時(shí)的條件是當(dāng)片內(nèi)含有EPROM的單片機(jī),并且當(dāng)EPROM在編程的時(shí)候,這時(shí)該控制引腳用來接21V的編程電源,也就是Vpp。3.2.2 溫度采集模塊功能該系統(tǒng)采用數(shù)字溫度傳感器DS18B20,將該傳感器輸出信號(hào)上拉電阻直接接到單片機(jī)的P1.0引腳上。該傳感器上具有半導(dǎo)體溫敏器,數(shù)據(jù)存儲(chǔ)器,數(shù)模轉(zhuǎn)換等都集成在一塊芯片上,所以它具有溫度測(cè)量,通過A/D轉(zhuǎn)換之后得出溫度數(shù)值并存儲(chǔ)記憶,其測(cè)量溫度-55+125,滿足我們測(cè)溫的范圍。該學(xué)期我們?cè)谇度胧降恼n程上也初步接觸到了DS18B20,在課內(nèi)我們利用DS18B20的感溫測(cè)溫功能測(cè)試了室內(nèi)溫度并且通過SSI數(shù)碼管顯示出數(shù)據(jù)。通過那次實(shí)驗(yàn)我了解到DS18B20是一種工業(yè)中常用的數(shù)字溫度傳感器,它的接線十分方便簡(jiǎn)單,且封裝形式很多,譬如不銹鋼封裝封裝式,螺紋式,管道式,磁鐵吸附式等等。封裝后的該器件應(yīng)用廣泛,譬如用于高爐水循環(huán)測(cè)溫,機(jī)房測(cè)溫,潔凈室測(cè)溫,鍋爐測(cè)溫等。DS18B20采用的是獨(dú)特的單線接口方式,當(dāng)在與微處理器連接使用時(shí)僅僅只需要一條口線就可以實(shí)現(xiàn)其與微處理器的雙向通訊,對(duì)于該水溫測(cè)試系統(tǒng)來說十分方便,減少了安裝制作的麻煩,其測(cè)溫范圍在-55+125,測(cè)溫誤差也極其小。DS18B20還有個(gè)特點(diǎn)就是支持多點(diǎn)組網(wǎng),也就意味著在一個(gè)測(cè)溫系統(tǒng)中不僅僅只能采用一個(gè)DS18B20,還可以多個(gè)DS18B20可以并聯(lián)在唯一的三線上,其最多可以并聯(lián)8個(gè),即就能實(shí)現(xiàn)多點(diǎn)測(cè)溫的功能。但是有一點(diǎn)不足就是過多的DS18B20并聯(lián)在一起時(shí),從而造成供電的電源電壓值較低,因?yàn)殡妷哼^低,使傳輸不穩(wěn)定,即信號(hào)傳輸就不穩(wěn)定。DS18B20有三根外引線,外部構(gòu)造十分簡(jiǎn)單明了,三根引線,分別是DQ,VDD,GND,DQ就是單線數(shù)據(jù)傳輸總線端口,VDD就是外供電源線,而GND則是共用地線。了解到DS18B20的外引線之后,我們就可以更加深入了解到它的供電方式,它共有兩種常用的供電方式,其中一種為數(shù)據(jù)線供電方式,這種方法是將VDD接地,然而它獲得能量的方法是通過內(nèi)部電容在空閑時(shí)從數(shù)據(jù)線汲取,從而可任意使其完成溫度的轉(zhuǎn)換,但是有一點(diǎn)不足的就是完成相應(yīng)的溫度轉(zhuǎn)換的時(shí)間較長(zhǎng),面對(duì)這一種不足時(shí),通常采用單片機(jī)的一個(gè)I/O口來使其來完成對(duì)DS18B20總線上拉,使時(shí)間盡可能縮短。另一種方法則是外部供電方式,也就是說VDD接+5V,然而這種方式完成相應(yīng)的溫度測(cè)量的時(shí)間較短。所以我們這個(gè)水溫系統(tǒng)則采用了第二種方式以節(jié)省時(shí)間為目的。如圖3.2.2-1為DS18B20接口電路圖。圖3.2.2-1 DS18B20接口電路圖3.2.3 溫度控制模塊功能溫度控制模塊,就是經(jīng)過單片機(jī)判斷后得出此時(shí)的溫度與預(yù)設(shè)溫度相比,若大于預(yù)設(shè)值則進(jìn)行散熱,若小于預(yù)設(shè)值則進(jìn)行加熱。該系統(tǒng)采用繼電器控制電流的大小,來掌握溫度的加熱和冷卻。繼電器就是一種電控制器件,它的工作原理是當(dāng)輸入量也就是激勵(lì)量的變化達(dá)到一定的要求時(shí),從而在電氣的輸出回路中使被控制的量發(fā)生預(yù)先設(shè)定的階躍變化。通俗說就是用小電流來控制大電流是否運(yùn)行的開關(guān)。繼電器有許多種類,按功能可以分為電磁繼電器,固體繼電器,舌簧繼電器,溫度繼電器,高頻繼電器,光繼電器等等。按外形尺寸可以分為微繼電器,小型繼電器,超小型微型繼電器。按防護(hù)特征可分為密封繼電器敞開式繼電器等。按反應(yīng)的物理量可分為電流繼電器,電壓繼電器,阻抗繼電器等。按原理可以分為電磁型,電子型,整流型等等。按保護(hù)回路可以分為啟動(dòng)繼電器,出口繼電器等?,F(xiàn)采用兩個(gè)繼電器分別控制加熱和降溫的功能,根據(jù)控制電流的大小來進(jìn)行加熱或降溫。當(dāng)溫度比預(yù)設(shè)溫度低時(shí),此時(shí)系統(tǒng)需要加熱,對(duì)于加熱系統(tǒng)繼電器的兩輸出端輸出220V的交流電,通過控制繼電器的閉合來控制電熱絲是否加熱;當(dāng)溫度比預(yù)設(shè)溫度高時(shí),此時(shí)需要降溫,對(duì)于冷卻系統(tǒng)通過控制繼電器閉合,從而控制+12V直流電機(jī)的轉(zhuǎn)與停來降低溫度。然而繼電器直流可通過36V,交流最高可達(dá)250V,滿足該系統(tǒng)的要求,且電路方便,如下圖3.2.3-1為繼電器組成的溫度控制電路。圖3.2.3-1 溫度控制電路圖3.2.4 顯示模塊功能該系統(tǒng)采用的是液晶屏128*64作為顯示模塊,抗干擾能力強(qiáng),顯示清晰明了。當(dāng)有電源通過的時(shí)候,排列有秩序,從而光線就較容易通過,當(dāng)電源斷開不導(dǎo)電時(shí),排列就變得換混亂無序,阻止了光線的通過。液晶就像一個(gè)開關(guān)一樣,可以阻止光線通過,或允許光線通過。通常,液晶的面板包括了兩片十分精密的無鈉玻璃素材,在兩片無鈉玻璃之間就夾了一層液晶。然而當(dāng)光束透過中間那層液晶時(shí),其本身會(huì)一排排的站立,或者扭轉(zhuǎn)而變成不規(guī)則的形狀,因此就可以使光束通過或阻止它通過。大多數(shù)的液晶都屬于有機(jī)的復(fù)合物,它們是由長(zhǎng)棒形狀的分子而構(gòu)成,在無外界干擾條件下,他們的長(zhǎng)軸大致相平行。而LCD技術(shù),也就是單色液晶顯示器,它是把液晶倒入兩個(gè)平面間的,而在這兩個(gè)平面上有各有一列細(xì)槽,且互相垂直。就在兩個(gè)平面之間的分子不得不也成為了90度的扭轉(zhuǎn)形態(tài),再加上光線是沿著分子排列的方向傳播的,所以光線在經(jīng)過液晶之后就旋轉(zhuǎn)了90度。但是一旦液晶有電壓通過時(shí),分子由于受外界影響,就重新垂直的排列,從而光線就能直接射出,就不會(huì)發(fā)生旋轉(zhuǎn)了。在了解了液晶顯示的原理后,我們關(guān)心的就是怎樣將它接入我們的系統(tǒng)。下圖3.2.3-1為液晶顯示接口電路。 圖3.2.3-1 液晶顯示接口電路3.2.5 鍵盤電路模塊功能鍵盤的功能顧名思義,既然為水溫控制,必然會(huì)有溫度等一系列參數(shù)的設(shè)定,該系統(tǒng)采用四個(gè)按鍵來更改參數(shù),功能分別為預(yù)設(shè)溫度加1,預(yù)設(shè)溫度減1,更改預(yù)設(shè)溫度,確定等按鍵。按鍵模塊,不僅要使參數(shù)設(shè)定得到實(shí)現(xiàn),而且還要讓使用者一眼便能清楚明白每個(gè)按鍵的功能,所以我們采用較少的按鍵,以免使程序復(fù)雜,使用較少的按鍵也可以使接入電路更為簡(jiǎn)單。如圖3.2.4-1為鍵盤模塊電路。 圖3.2.4-1 鍵盤模塊電路4 軟件設(shè)計(jì)4.1 主程序流程圖該系統(tǒng)是水溫控制系統(tǒng),屬于溫度控制中的一種,其軟件部分主要采用編寫程度使系統(tǒng)自動(dòng)運(yùn)行,主要應(yīng)用C語言的編寫來對(duì)單片機(jī)等硬件系統(tǒng)的控制。主程序大概分為溫度初始化設(shè)定,采集水溫模塊收集水溫,通過單片機(jī)的控制和BCD的轉(zhuǎn)換,在液晶顯示的作用下讀出溫度,通過單片機(jī)的判斷,對(duì)水溫是否達(dá)到預(yù)設(shè)溫度通過繼電器做出相應(yīng)的加熱或散熱措施。主程序流程圖如下圖4.1-1 所示。 開始系統(tǒng)界面初始化溫度讀取、顯示及控制按鍵掃描,設(shè)置預(yù)設(shè)溫度當(dāng)前溫度預(yù)設(shè)值Y啟動(dòng)降溫N當(dāng)前溫度預(yù)設(shè)值YN啟動(dòng)加熱溫度保持 圖4.1-1 主程序流程 4.2 溫度采集程序 水溫系統(tǒng)固然溫度是至關(guān)重要的因素,對(duì)于溫度采集選擇了DS18B20,它具有高靈敏度,高精度的優(yōu)勢(shì)。當(dāng)整個(gè)系統(tǒng)連接了DS18B20,則溫度采集系統(tǒng)開始運(yùn)作,通過識(shí)別DS18B20是否連接,當(dāng)確定連接后,ROM操作命令開始運(yùn)行,從而進(jìn)行存儲(chǔ)操作,最后可以讀出當(dāng)前溫度,以此循環(huán)。如圖4.3-1溫度采集流程圖所示。開始初始化DS18B20存在?操作指令存儲(chǔ)操作命令讀取溫度值返回4.2-1 溫度采集流程圖4.2.1 溫度轉(zhuǎn)換 溫度的轉(zhuǎn)換也需要程序運(yùn)行,在硬件系統(tǒng)中運(yùn)行傳輸數(shù)據(jù),就要將十進(jìn)制碼轉(zhuǎn)換成機(jī)器能識(shí)別的代碼,現(xiàn)在的的計(jì)算機(jī)一般都是二進(jìn)制代碼,所以首先要將RAM中存儲(chǔ)的值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,然后來判斷溫度的正負(fù)值。如圖4.2.1-1所示。 開始溫度是否零下溫度值取補(bǔ)碼置“”標(biāo)志計(jì)算小數(shù)位溫度BCD值計(jì)算整數(shù)位溫度BCD值 結(jié)束置“+”標(biāo)志NY圖4.2.1-1 溫度轉(zhuǎn)換流程圖4.3 按鍵處理溫度初始化通過鍵盤輸入,每按下一次鍵盤上的按鍵,通過系統(tǒng)設(shè)置的程序掃描該按鍵下是否會(huì)有一系列操作,若有則根據(jù)按下的按鍵進(jìn)入相應(yīng)程序,從而進(jìn)行對(duì)應(yīng)的操作設(shè)置,若沒有則退出程序,不做出反應(yīng)。該按鍵系統(tǒng)主要有如下幾個(gè)按鍵功能:預(yù)設(shè)溫度設(shè)定,溫度增加1,溫度減少1,確定保存等按鍵。流程如圖附錄2所示。4.4 顯示模塊顯示模塊采用的液晶顯示,也要通過編譯相應(yīng)程序做出一系列操作,該系統(tǒng)顯示主要包括當(dāng)前溫度顯示,和正在進(jìn)行的操作提示。譬如預(yù)設(shè)溫度加1或減1等等。如圖4.4-1所示。液晶驅(qū)動(dòng)函數(shù)寫命令函數(shù)寫數(shù)據(jù)函數(shù)液晶管腳宏定義畫圖及溫度讀取顯示子函數(shù)圖4.4-1 液晶顯示流程圖 溫度是可以變幻的,隨著時(shí)間的變化,經(jīng)過一系列的加熱或散熱操作,溫度會(huì)逐漸增加或者逐漸降低,在設(shè)置參數(shù)時(shí),溫度的顯示也會(huì)根據(jù)按鍵的操作而改變數(shù)據(jù),自然液晶屏上溫度的顯示是不斷更新的,而顯示數(shù)據(jù)的刷新其實(shí)就是對(duì)顯示緩沖器中的數(shù)據(jù)進(jìn)行刷新更改操作,且最重要一點(diǎn)就是最高位前的符號(hào)表示,當(dāng)最高顯示位為0時(shí)將符號(hào)顯示位移入下一位。如圖4.4-2所示。溫度數(shù)據(jù)移入顯示寄存器十位數(shù)0?百位數(shù)0?十位數(shù)顯示符號(hào)百位數(shù)不顯示百位數(shù)顯示數(shù)據(jù)(不顯示符號(hào)) 結(jié)束NNYY 圖4.4-2 數(shù)據(jù)刷新流程圖4.5 繼電器加熱系統(tǒng)通過單片機(jī)控制,接收到DS18B20傳輸?shù)亩M(jìn)制代碼經(jīng)過一系列的公式計(jì)算將二進(jìn)制代碼轉(zhuǎn)換成十進(jìn)制數(shù)得出實(shí)際測(cè)量溫度,根據(jù)事先預(yù)設(shè)的溫度值做出比較,并判斷出對(duì)溫度到底是加熱還是降溫,繼而繼電器做出一些列反應(yīng),通過控制電流的大小從而控制溫度。5 調(diào)試說明水溫控制器對(duì)水溫的精確度要求較高,現(xiàn)在我們需要將制作的基于單片機(jī)的水溫控制器對(duì)其溫度誤差,顯示誤差,水溫控制等進(jìn)行調(diào)試,使的該系統(tǒng)更加精確。 該調(diào)試過程需用到精密溫度計(jì)(量程是0-100,分度值是0.5,且防水);秒表等。該調(diào)試過程中,室內(nèi)溫度在13。5.1 溫度采集誤差在該水溫控制系統(tǒng),設(shè)置溫度的最小分度為1,按一下上調(diào)和下調(diào)鍵分別增加溫度1和減少溫度1,固按鍵系統(tǒng)調(diào)整成功,顯示預(yù)設(shè)參數(shù)值模塊也調(diào)試成功。然而,在本系統(tǒng)中溫度采集部分相當(dāng)重要,該水溫控制系統(tǒng)是否可靠就是看溫度采集數(shù)據(jù)的精確度到什么地步。對(duì)溫度采集模塊調(diào)試采用精密溫度計(jì)測(cè)試出的溫度作為基準(zhǔn)溫度,測(cè)不同的水溫,在溫度穩(wěn)定且不在上升或下降時(shí)讀出當(dāng)前溫度,并與顯示值做比較,得出誤差。調(diào)試結(jié)果如表5.1-1所示。表5.1-1 溫度數(shù)據(jù)采集及誤差 實(shí)測(cè)顯示值()系統(tǒng)顯示值()誤差()40.140.3+0.252.652.5-0.165.265.2076.476.7+0.286.686.5-0.1由上表數(shù)據(jù)可知,實(shí)際測(cè)量溫度與系統(tǒng)顯示得出溫度值誤差掌握在1以內(nèi),誤差及其小,可以滿足我們的實(shí)際所需,固該采集溫度模塊運(yùn)行正常,調(diào)試成功。5.2 水溫控制測(cè)試水溫控制系統(tǒng)是對(duì)單片機(jī)通過判斷,對(duì)繼電器進(jìn)行控制,進(jìn)而進(jìn)行對(duì)水溫的加熱或是散熱的操作。固然控制系統(tǒng)也較為重要,使水溫能達(dá)到我們預(yù)設(shè)值,水溫控制的調(diào)試,我們采用的方法是先預(yù)設(shè)一個(gè)溫度,通過向之前的水里添加較之前水溫更熱的水或比之前水溫更低的水來改變之前水的水溫,通過繼電器控制電流的大小對(duì)當(dāng)前水溫進(jìn)行操作,使其與預(yù)設(shè)值相當(dāng)。測(cè)試數(shù)據(jù)如下表5.2-1所示。表5.2-1 水溫控制測(cè)試預(yù)設(shè)溫度()當(dāng)前溫度()工作狀態(tài) 測(cè)試結(jié)果45.035.4加熱通過45.045.2保持通過45.050.3降溫通過60.052.3加熱通過60.059.5保持通過60.068.8降溫通過80.074.4加熱通過80.080.1保持通過80.086.5降溫通過我們采用三組實(shí)驗(yàn),設(shè)置溫度分別為45.0,60.0,80.0使測(cè)試數(shù)據(jù)更精確,更有可靠性。由上表數(shù)據(jù)可知當(dāng)水溫未達(dá)到預(yù)設(shè)值,繼電器會(huì)對(duì)水溫進(jìn)行加熱或降溫使其與接近預(yù)設(shè)值,固控制模塊能正常工作,調(diào)試成功。 5.3 溫度突變測(cè)試對(duì)于水溫控制系統(tǒng)運(yùn)用,溫度是變化的,當(dāng)一個(gè)溫度達(dá)到預(yù)設(shè)值恒溫時(shí),這時(shí)突然改變預(yù)設(shè),當(dāng)前水溫達(dá)不到預(yù)設(shè)值,系統(tǒng)將會(huì)對(duì)其進(jìn)行調(diào)節(jié),我們將對(duì)其調(diào)節(jié)時(shí)間和起調(diào)溫度做一個(gè)測(cè)試記錄,對(duì)于溫度突變測(cè)試采用起初設(shè)置溫度為40,將其設(shè)定溫度提高到60,當(dāng)調(diào)到60用秒表開始計(jì)時(shí)。測(cè)試數(shù)據(jù)如表5.3-1所示。表5.3-1 溫度突變測(cè)試當(dāng)前溫度()突變?cè)O(shè)置溫度()時(shí)間(S)超調(diào)溫度()40.060.0740.540.060.0710.340.060.0770.6由上表數(shù)據(jù)可知,當(dāng)溫度突變時(shí),本測(cè)試是從40突變到60,其調(diào)節(jié)時(shí)間掌握在80秒內(nèi),時(shí)間夠短,且起調(diào)溫度也在1以內(nèi),起調(diào)量較小,符合我們的需求。6 結(jié)束語這次寫作論文過程中,也遇到過許多麻煩和問題,譬如在硬件的選擇上就很是糾結(jié),面對(duì)那么多的硬件都可以采用,怎么才能選出最佳方案,使整個(gè)系統(tǒng)制作起來更簡(jiǎn)單,要想選出最佳方案,就要了解每個(gè)硬件系統(tǒng)的工作原理,這些就需要大量在網(wǎng)上和書本上搜集資料,光是靠平時(shí)在課內(nèi)學(xué)習(xí)的知識(shí)遠(yuǎn)遠(yuǎn)是不夠的,通過這次寫論文的過程我深刻明白了課內(nèi)學(xué)習(xí)的知識(shí)固然重要,不但要認(rèn)真踏實(shí)學(xué)好課內(nèi)老師教授的知識(shí),還要靈活的去掌握和應(yīng)用,不然對(duì)于其它系統(tǒng)的制作時(shí),就不能游刃有余,不能靈活將所學(xué)知道應(yīng)用到實(shí)際生活中去,課內(nèi)的時(shí)間畢竟是有限的,學(xué)到的知道也必然是極少一部分的,這還需要我們平時(shí)多看書不斷充實(shí)自己,使自己知識(shí)面更廣闊,在遇到不懂的問題時(shí),要學(xué)會(huì)充分利用網(wǎng)絡(luò)和圖書館的資源。通過這次論文的寫作,我還感受到了自學(xué)在大學(xué)生活中的重要性,大學(xué)沒有了初中高中老師天天監(jiān)督著大家學(xué)習(xí),就算你成核差經(jīng)常不去上課,也不會(huì)有老師在給家長(zhǎng)打小報(bào)告這回事了,大學(xué)學(xué)習(xí)每天也沒有了家長(zhǎng)的嘮叨,所有的學(xué)習(xí)任務(wù)都要靠自己自覺自愿完成,這次寫作論文,沒有老師每天催促我們完成,也沒有老師每天給我們講授系統(tǒng)工作原理等等,要完成這次論文就要靠自己自覺利用時(shí)間請(qǐng)教老師,詢問同學(xué),查閱資料。大學(xué)生活已經(jīng)有兩年多了,我領(lǐng)會(huì)到大學(xué)的學(xué)習(xí)自由,最終的學(xué)業(yè)效果主要靠自覺,是否會(huì)利用課余時(shí)間,因?yàn)榇髮W(xué)期間自己的休息時(shí)間是很多的,如果應(yīng)用好課余時(shí)間,大學(xué)這幾年我們會(huì)學(xué)到很多。這次論文能夠完成,我要感謝我的爸爸媽媽,是他們的辛勤工作才能給我提供一個(gè)學(xué)習(xí)環(huán)境,在這里有耐心的老師,友好的同學(xué),豐富的書籍資料;我要感謝我的老師,是他們教授了我許多知識(shí),讓我在寫作論文過程可以將所學(xué)知識(shí)應(yīng)用其中,并且在我遇到很難解決的問題時(shí),向他們請(qǐng)教,他們都會(huì)耐心的給我一一解答,直到我明白為止;我要感謝我的室友,在我遇到有些問題拿摸不準(zhǔn)時(shí),他們可以給我提出一些有用的信息使我可以繼續(xù)完成我的論文,為我在寫作時(shí)節(jié)省了不少時(shí)間,并且當(dāng)我在寫論文時(shí)他們給我提供了一個(gè)安靜舒適的環(huán)境,營(yíng)造了學(xué)習(xí)的好氛圍。這次的論文寫作不僅讓我了解了水溫控制系統(tǒng)的工作原理,也讓我學(xué)習(xí)到了不少硬件的原理結(jié)構(gòu),還讓我對(duì)通信知識(shí)產(chǎn)生了極大的興趣,令我受益匪淺!附錄1:系統(tǒng)原理圖附錄2:按鍵處理流程圖開始ENTER鍵是否按下ENTER_FLAG為1是否有ENTER按下是否有UP按下是否有DOWN按下是否是否是否是ENTER子程序flag=1DISPLAY顯示否是否是UP子程序DOWN子程序退出子程序(RET)返回主程序是是參考文獻(xiàn)1郭天祥:51單片機(jī)C語言教程,電子工業(yè)出版社,2008.11,P3-P92屈召貴、劉強(qiáng)、孫活、晏勇:嵌入式系統(tǒng)原理及應(yīng)用,電子科技大學(xué)出版社,2011.9,P100-P1213張富:C及C+程序設(shè)計(jì),人民郵電出版社,2008.10,P12-P284華成英、童詩白:模擬電子技術(shù)基礎(chǔ),北京,高等教育出版社,2000.9,P200-P2135閻石著:數(shù)字電子技術(shù)基礎(chǔ)編,北京,高等教育出版社,2005.3,P111-P2346黃鴻、陳杰:傳感器與檢測(cè)技術(shù),北京,高等教育出版社,2008.2,P10-P187張毅剛:單片機(jī)原理及應(yīng)用,高等教育出版社, 2003.5,P20-P298余錫存、曹國(guó)華:?jiǎn)纹瑱C(jī)原理及接口技術(shù),西安電子科技大學(xué)出版社,2004.9,P89-P129 9于海生:計(jì)算機(jī)控制技術(shù),機(jī)械工業(yè)出版社,2007.5,P229-P28910黃智偉全國(guó)大學(xué)生電子設(shè)計(jì)競(jìng)賽系統(tǒng)設(shè)計(jì),北京航空航天大學(xué)出版社,2006.12,P236-P310