基于單片機(jī)游泳池溫度控制系統(tǒng)的設(shè)計(jì)_第1頁(yè)
基于單片機(jī)游泳池溫度控制系統(tǒng)的設(shè)計(jì)_第2頁(yè)
基于單片機(jī)游泳池溫度控制系統(tǒng)的設(shè)計(jì)_第3頁(yè)
基于單片機(jī)游泳池溫度控制系統(tǒng)的設(shè)計(jì)_第4頁(yè)
基于單片機(jī)游泳池溫度控制系統(tǒng)的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、精選優(yōu)質(zhì)文檔-傾情為你奉上洛陽(yáng)理工學(xué)院游泳池水溫控制系統(tǒng)設(shè)計(jì)課程答辯王明超2014/12/29班級(jí):B110411 學(xué)號(hào):B11041117 姓名:王明超 摘   要 隨著人民生活的進(jìn)步,恒溫游泳池走進(jìn)了我們的生活,而游泳池的保溫控制器,它能自動(dòng)控制游泳池的水溫。從而大大的方便了人們對(duì)游泳池水溫恒溫的需求。本文對(duì)該測(cè)控儀系統(tǒng)進(jìn)行了分析設(shè)計(jì)。本游泳池恒溫控制系統(tǒng)選用AT89C51單片機(jī)作為控制器,利用PID和PWM技術(shù)實(shí)現(xiàn)對(duì)游泳池的水溫控制。該控制系統(tǒng)主要由CPU主控制模塊、主電源模塊、鍵盤處理模塊、溫度采集模塊、繼電器控制模塊及LED顯示模塊構(gòu)成。 本游泳池恒溫控制系統(tǒng)選用

2、AT89C51單片機(jī)作為控制器,利用PID和PWM技術(shù)實(shí)現(xiàn)對(duì)游泳池的水溫控制。該控制系統(tǒng)主要由CPU主控制模塊、主電源模塊、鍵盤處理模塊、溫度采集模塊、繼電器控制模塊及LED顯示模塊構(gòu)成。DS18B20用來(lái)采集溫度信號(hào),其體積小,精度高,適用電壓寬,抗干擾能力強(qiáng)。繼電器控制兩臺(tái)電機(jī)的轉(zhuǎn)動(dòng),分別對(duì)應(yīng)控制熱水閥和冷水閥,從而,實(shí)現(xiàn)水溫的實(shí)時(shí)控制。最后,采用共陽(yáng)極數(shù)碼管LG5641A動(dòng)態(tài)顯示水溫。關(guān)鍵詞: AT89C51單片機(jī), 游泳池 ,溫度控制,模糊控制。 目錄第1章 緒論 31.1選題的背景與意義 31.1.1自動(dòng)控控系統(tǒng)可溫度控制系統(tǒng) 31.2 溫度控制系統(tǒng)的設(shè)計(jì) 3 4 2.1方案的選擇

3、42.2系統(tǒng)總體設(shè)計(jì) 4第3章 硬件設(shè)計(jì) 53.1硬件選型 53.2硬件電路設(shè)計(jì) 5 3.2.1主電源電路 5 3.2.2溫度采集模塊 6 3.2.3按鍵輸入電路 6 3.2.4繼電器模塊 7 3.2.5 顯示模塊 7第4章 軟件設(shè)計(jì) 84.1系統(tǒng)程序設(shè)計(jì) 84.2各部分程序流程圖 8 4.2.1. 計(jì)算溫度子程序 9 4.2.2.按鍵處理子程序 9 4.2.3.計(jì)算溫度子程序 10第5章 仿真結(jié)果 125.2仿真結(jié)果 125.1本系統(tǒng)仿真 135.2仿真結(jié)果 13結(jié)論 14參考文獻(xiàn) 15附錄 16 第1章 緒論1.1選題的背景與意義1.1.1自動(dòng)控控系統(tǒng)可溫度控制系統(tǒng)  電子技術(shù)的

4、發(fā)展,特別是隨著大規(guī)模集成電路的產(chǎn)生,給人們的生活帶來(lái)了根本性的變化,如果說(shuō)微型計(jì)算機(jī)的出現(xiàn)使現(xiàn)代的科學(xué)研究得到了質(zhì)的飛躍,那么單片機(jī)技術(shù)的出現(xiàn)則是給現(xiàn)代工業(yè)控制測(cè)控領(lǐng)域帶來(lái)了一次新的革命。目前,單片機(jī)在工業(yè)控制系統(tǒng)諸多領(lǐng)域得到了極為廣泛的應(yīng)用。特別是其中的C51系列的單片機(jī)的出現(xiàn),具有更好的穩(wěn)定性,更快和更準(zhǔn)確的運(yùn)算精度,推動(dòng)了工業(yè)生產(chǎn),影響著人們的工作和學(xué)習(xí)。    自動(dòng)控制系統(tǒng)在各個(gè)領(lǐng)域尤其是工業(yè)領(lǐng)域中有著及其廣泛的應(yīng)用,溫度控制是控制系統(tǒng)中最為常見(jiàn)的控制類型之一。隨著單片機(jī)技術(shù)的飛速發(fā)展,通過(guò)單片機(jī)對(duì)被控對(duì)象進(jìn)行控制日益成為今后自動(dòng)控制領(lǐng)域的一個(gè)重要發(fā)展方

5、向, 電流、電壓、溫度、壓力、流量、流速和開(kāi)關(guān)量都是常用的主要被控參數(shù)。例如:在冶金工業(yè)、化工生產(chǎn)、電力工程、造紙行業(yè)、機(jī)械制造和食品加工等諸多領(lǐng)域中,人們都需要對(duì)各類加熱爐、熱處理爐、反應(yīng)爐和鍋爐中的溫度進(jìn)行檢測(cè)和控制。采用MCS-51單片機(jī)來(lái)對(duì)溫度進(jìn)行控制,不僅具有控制方便、組態(tài)簡(jiǎn)單和靈活性大等優(yōu)點(diǎn),而且可以大幅度提高被控溫度的技術(shù)指標(biāo),從而能夠大大提高產(chǎn)品的質(zhì)量和數(shù)量。因此,單片機(jī)對(duì)溫度的控制問(wèn)題是一個(gè)工業(yè)生產(chǎn)中經(jīng)常會(huì)遇到的問(wèn)題。   單片機(jī)具有集成度高,處理能力強(qiáng),可靠性高,系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,價(jià)格低廉的優(yōu)點(diǎn),因此被廣泛應(yīng)用。   溫度控制系

6、統(tǒng)則是單片機(jī)在工業(yè)生產(chǎn)中的一個(gè)典型的應(yīng)用。溫度控制系統(tǒng)就是通過(guò)單片機(jī)的控制,使溫度再設(shè)定的范圍內(nèi)。   在現(xiàn)代社會(huì)中,溫度控制不僅應(yīng)用在工廠生產(chǎn)方面,其作用也體現(xiàn)到了各個(gè)方面,隨著人們生活質(zhì)量的提高,酒店廠房及家庭生活中都會(huì)見(jiàn)到溫度控制的影子,溫度控制將更好的服務(wù)于社會(huì)??照{(diào)等家用電器隨著生產(chǎn)技術(shù)的發(fā)展和生活水平的提高越來(lái)越普及,一個(gè)簡(jiǎn)單,穩(wěn)定的溫度控制系統(tǒng)能更好的適應(yīng)市場(chǎng)。1.2 溫度控制系統(tǒng)的設(shè)計(jì) 我國(guó)目前在恒溫控制技術(shù)這方面總體技術(shù)水平處于20世紀(jì)80年代中后期水平,成熟產(chǎn)品主要以“點(diǎn)位”控制及常規(guī)的PID控制器為主,它只能適應(yīng)一般溫度系統(tǒng)控制,難于控制滯后

7、、復(fù)雜、時(shí)變的溫度系統(tǒng)控制。在適應(yīng)于較高控制場(chǎng)合的智能化、自適應(yīng)控制儀表領(lǐng)域內(nèi),國(guó)內(nèi)技術(shù)還不十分成熟,形成商品化并廣泛應(yīng)用的控制儀表較少。本文設(shè)計(jì)一個(gè)游泳池恒溫自動(dòng)控制系統(tǒng),游泳池中的水溫可以在一定范圍內(nèi)由人工設(shè)定,并能在環(huán)境溫度降低時(shí)實(shí)現(xiàn)自動(dòng)調(diào)節(jié),以保持與設(shè)定的溫度一致。利用單片機(jī)AT89C51實(shí)現(xiàn)水溫的智能控制,采用數(shù)字溫度傳感器讀出水溫,并在此基礎(chǔ)上將水溫調(diào)節(jié)到鍵盤設(shè)定的溫度,并通過(guò)數(shù)碼管顯示器實(shí)現(xiàn)當(dāng)前溫度的實(shí)時(shí)顯示。 2.1方案的選擇 方案一:采用運(yùn)放等模擬電路搭建一個(gè)控制器,用模擬方式實(shí)現(xiàn)PID控制,對(duì)于純粹的水溫控制,這是足夠的。但是附加顯示、溫度設(shè)定等功能,還要附加許多電路,稍顯

8、麻煩。同樣,使用邏輯電路也可實(shí)現(xiàn)控制功能,但總體的電路設(shè)計(jì)和制作比較煩瑣。  方案二:采用FPGA實(shí)現(xiàn)控制功能。使用FPGA時(shí),電路設(shè)計(jì)比較簡(jiǎn)單,通過(guò)相應(yīng)的編程設(shè)計(jì),可以很容易地實(shí)現(xiàn)控制和顯示、鍵盤等功能,是一種可選的方案。但與單片機(jī)相比,價(jià)格較高,顯然大材小用。  方案三:?jiǎn)纹瑱C(jī)為控制核心的控制系統(tǒng),尤其對(duì)溫度控制,它可達(dá)到核心的控制作用,并且可方便實(shí)現(xiàn)數(shù)碼顯示、鍵盤設(shè)定及利用PID算法來(lái)控制PWM波形的產(chǎn)生,進(jìn)而控制繼電器的通斷,最終實(shí)現(xiàn)游泳池的恒溫控制, 其所測(cè)結(jié)果精度也大大的得到了提高,利用PID算法來(lái)控制PWM波形的產(chǎn)生,并有效地控制數(shù)字脈沖的輸出寬度,使固態(tài)繼電

9、器得到有效和有序的邏輯控制,不會(huì)使固態(tài)繼電器產(chǎn)生誤動(dòng)作。 論證選擇方案三2.2系統(tǒng)總體設(shè)計(jì) 此方案是以單片機(jī)為控制核心的控制系統(tǒng),尤其對(duì)溫度控制,它可達(dá)到核心的控制作用,并且可方便實(shí)現(xiàn)數(shù)碼顯示、鍵盤設(shè)定及利用PID算法來(lái)控制PWM波形的產(chǎn)生,進(jìn)而控制繼電器的通斷,最終實(shí)現(xiàn)游泳池的恒溫控制,其所測(cè)結(jié)果精度也大大的得到了提高,利用PID算法來(lái)控制PWM波形的產(chǎn)生,并有效地控制數(shù)字脈沖的輸出寬度,使固態(tài)繼電器得到有效和有序的邏輯控制,不會(huì)使固態(tài)繼電器產(chǎn)生誤動(dòng)作。 游泳池恒溫自動(dòng)控制系統(tǒng)主要由六部分組成CPU主控制模塊、主電源模塊、鍵盤處理模塊、溫度采集模塊、繼電器控制模塊及LED顯示模塊。CPU主控

10、制模塊采用AT89C51芯片,把數(shù)字溫度傳感器采集到的溫度信號(hào)與原預(yù)先設(shè)定值進(jìn)行比較,然后根據(jù)其差值通過(guò)PID調(diào)節(jié)進(jìn)行整定,控制繼電器的通斷,進(jìn)而控制冷水還是熱水電機(jī)的轉(zhuǎn)動(dòng),能用鍵盤輸入數(shù)據(jù)以及溫度信號(hào)的實(shí)時(shí)顯示。本著簡(jiǎn)單、實(shí)用的原則,這里最后選用了一個(gè)比較典型的硬件方案: 測(cè)溫電路可選用DS18B20集成數(shù)組測(cè)溫電路;芯片采用常見(jiàn)的AT89C51顯示方式采用1602字符液晶顯示器1602鍵盤采用4獨(dú)立按鍵次用RS-232串口與計(jì)算機(jī)通行。LED數(shù)碼管顯示單片機(jī)電機(jī)1鍵盤設(shè)定固態(tài)繼電器1數(shù)據(jù)PID調(diào)整復(fù)位電路數(shù)據(jù)采集1電機(jī)2固態(tài)繼電器2數(shù)據(jù)采集2電源電路圖2.2.系統(tǒng)框圖第3章 硬件

11、設(shè)計(jì)3.1硬件選型游泳池恒溫自動(dòng)控制系統(tǒng)主要由六部分組成CPU主控制模塊、主電源模塊、鍵盤處理模塊、溫度采集模塊、繼電器控制模塊及LED顯示模塊。3.1.1 CPU主控模塊等主要部分元件選型CPU主控制模塊采用AT89C51單片機(jī),把數(shù)字溫度傳感器采集到的溫度信號(hào)與原預(yù)先設(shè)定值進(jìn)行比較,然后根據(jù)其差值通過(guò)PID調(diào)節(jié)進(jìn)行整定,控制繼電器的通斷,進(jìn)而控制冷水還是熱水電機(jī)的轉(zhuǎn)動(dòng),能用鍵盤輸入數(shù)據(jù)以及溫度信號(hào)的實(shí)時(shí)顯示。主電源模塊采用整流橋進(jìn)行AC-DC電源變換,電容用470uf 5v,0.1uf,100uf 5v的構(gòu)成穩(wěn)壓諧波調(diào)節(jié)電路,穩(wěn)壓器采用三端穩(wěn)壓集成電路LM7805 。由于單片機(jī)供電電壓5V

12、故繼電器采用5V-SPDT OMRON繼電器即可滿足設(shè)計(jì)要求。溫度采集采用DS18B20溫度傳感器。DS18B20是一種新型的“一線器件”,其體積更小、更適用于多種場(chǎng)合、且適用電壓更寬、更經(jīng)濟(jì)。DALLAS 半導(dǎo)體公司的數(shù)字化溫度傳感器DS18B20是世界上第一片支持“一線總線”接口的溫度傳感器。溫度測(cè)量范圍為-55+125 攝氏度,可編程為9位12 位轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625攝氏度,分辨率設(shè)定參數(shù)以及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在EEPROM 中,掉電后依然保存。3.2硬件電路設(shè)計(jì)3.2.1主電源電路 圖3.2.1 主電源電路為防止電源之間的相互

13、干擾,需對(duì)電路進(jìn)行獨(dú)立供電,本系統(tǒng)采用雙電源輸出,一個(gè)正常之用,一個(gè)應(yīng)急備用。因此電源電路設(shè)計(jì)輸出兩路為+5V的穩(wěn)壓電源,同時(shí)主電路的開(kāi)關(guān)元件為固態(tài)繼電器,其直流側(cè)的供電電源可選擇為+5V。由于固態(tài)繼電器內(nèi)部帶有光耦,其直流側(cè)與交流側(cè)相互隔離,因此其直流側(cè)的供電電源可與數(shù)字電路的+5V電源共用,另外DS18B20也用+5V的穩(wěn)壓電源供電,另外一個(gè)+5V的穩(wěn)壓電源用來(lái)備用,當(dāng)遇到系統(tǒng)斷電時(shí)可以把那個(gè)備用的穩(wěn)壓電源來(lái)應(yīng)急,這樣就給系統(tǒng)增加了一道應(yīng)急保險(xiǎn)。本裝置的直流穩(wěn)壓電源采用通常的橋式全波整流、電容濾波、三端固定輸出的集成穩(wěn)壓器件進(jìn)行設(shè)計(jì)。系統(tǒng)的供電電源電路如圖2所示 3.2.2溫度采集模塊由于

14、在傳統(tǒng)的模擬信號(hào)遠(yuǎn)距離溫度測(cè)量系統(tǒng)中,需要很好的解決引線誤差補(bǔ)償問(wèn)題、多點(diǎn)測(cè)量切換誤差問(wèn)題和放大電路零點(diǎn)漂移誤差問(wèn)題等技術(shù)問(wèn)題,這樣才能達(dá)到較高的測(cè)量精度。而且一般監(jiān)控現(xiàn)場(chǎng)的電磁環(huán)境都非常惡劣,各種干擾信號(hào)較強(qiáng),模擬溫度信號(hào)容易受到干擾而產(chǎn)生測(cè)量誤差,影響測(cè)量精度。本設(shè)計(jì)的溫度測(cè)量系統(tǒng)采用美國(guó)Dollas半導(dǎo)體公司的DS18B20溫度芯片對(duì)游泳池的水溫進(jìn)行溫度數(shù)據(jù)的采集。DS18B20數(shù)字溫度計(jì)是單總線器件,具有線路簡(jiǎn)單,體積小的特點(diǎn)。因此,用它來(lái)組成一個(gè)測(cè)溫系統(tǒng)在一根通信線上可以掛很多個(gè)這樣的數(shù)字溫度計(jì)。DS18B20的測(cè)溫電路如圖所示 圖3.2.2. DS18B20的測(cè)溫電路3.2.3按鍵

15、輸入電路在按鍵模塊電路中有4個(gè)按鍵,溫度設(shè)定范圍是24到29,可通過(guò)溫度上限加一減一按鈕改變?cè)O(shè)定溫度上限,溫度下限加一減一按鈕改變溫度下限。四個(gè)鍵分別為: 溫度上限加一鍵,溫度上限減一鍵,溫度下限加一鍵,溫度下限減一鍵圖3.2.3. 顯示電路3.2.4繼電器模塊是一個(gè)控制電機(jī)的電路圖,單片機(jī)通過(guò)P31和P34口的輸出控制繼電器的開(kāi)合并進(jìn)行通訊,其中P31口的輸出控制繼電器RL1的開(kāi)合進(jìn)而控制COLDWATER電機(jī)的轉(zhuǎn)動(dòng),決定向游泳池中加入冷水來(lái)降溫;P34口的輸出控制繼電器RL2的開(kāi)合進(jìn)而控制HOTWATER電機(jī)的轉(zhuǎn)動(dòng),決定向游泳池中加入熱水來(lái)升溫系統(tǒng)圖3.2.4. 繼電器電路 3.2.5 顯

16、示模塊用單片機(jī)驅(qū)動(dòng)LCD數(shù)碼管有很多方法,按顯示方式分,有靜態(tài)顯示和動(dòng)態(tài)顯示,按譯碼方式可分硬件譯碼和軟件譯碼之分。靜態(tài)顯示數(shù)據(jù)穩(wěn)定,使用的硬件較多本電路采用共陽(yáng)極數(shù)碼管LG5641A進(jìn)行動(dòng)態(tài)顯示,用P20P27口作為位選控制,P00P07口傳輸要顯示的數(shù)據(jù),數(shù)據(jù)線和位選線直接接AT89C51單片機(jī)的I/O口即可,因?yàn)镮/O口輸出電流很小并且加上了上拉電阻,這樣可以對(duì)LCD進(jìn)行驅(qū)動(dòng),它的電壓值足以驅(qū)動(dòng)LCD。本設(shè)計(jì)就是采用動(dòng)態(tài)顯示電路,其電路如圖3.2.5所示。圖3.2.5顯示電路 4.1系統(tǒng)程序設(shè)計(jì)系統(tǒng)的軟件主要是采用C語(yǔ)言,對(duì)單片機(jī)進(jìn)行變成實(shí)現(xiàn)各項(xiàng)功能。主程序?qū)δK進(jìn)行初始化,而后調(diào)用讀溫

17、度、處理溫度、顯示、鍵盤等模塊。用的是循環(huán)查詢方式,來(lái)顯示和控制溫度,主程序的主要功能是負(fù)責(zé)溫度的實(shí)時(shí)顯示、讀出并處理DS18B20的測(cè)量的當(dāng)前溫度值并負(fù)責(zé)調(diào)用各子程序,其程序流程如圖4.1系統(tǒng)程序流程圖。圖4.1. 系統(tǒng)程序流程圖 4.2各部分程序流程圖 4.2.1. 計(jì)算溫度子程序  讀出溫度子程序的主要功能包括初始化,判斷DS18B20是否存在,若存在則進(jìn)行一系列的讀操,作若不存在則返回。其程序流程圖如圖4.2所示。圖4.2. 讀程序流程圖4.2.2.按鍵處理子程序   按鍵處理子程序主要是負(fù)責(zé)參數(shù)的設(shè)置,主程序每循環(huán)一次都要對(duì)按鍵進(jìn)行掃

18、描,判斷是否有輸入鍵按下則進(jìn)行一系列的按鍵輸入操作。其程序流程框圖如圖4.2.2所示。開(kāi) 始 圖4.2.2程序流轉(zhuǎn)程序圖4.2.3.計(jì)算溫度子程序 計(jì)算溫度子程序?qū)AM中讀取值進(jìn)行BCD碼的轉(zhuǎn)換運(yùn)算,并進(jìn)行溫度值正負(fù)的判定,其程序流程圖如圖4.4所示圖4.2.3計(jì)算溫度子程序第5章 仿真結(jié)果5.1本系統(tǒng)仿真因本系統(tǒng)是利用單片機(jī)進(jìn)行系統(tǒng)控制,所以需采用單片機(jī)仿真工具Proteus進(jìn)行仿真。Proteus軟件具有和其它EDA工具一樣的原理布圖、PCB自動(dòng)或人工布線及電路仿真的功能外,其電路仿真是互動(dòng)的,針對(duì)微處理器的應(yīng)用,還可以直接在基于原理圖的虛擬原型上編程,并實(shí)現(xiàn)軟件源碼級(jí)的實(shí)時(shí)調(diào)

19、試,如有顯示及輸出,還能看到運(yùn)行后輸入輸出的效果Proteus為使用者建立了完備的電子設(shè)計(jì)開(kāi)發(fā)環(huán)境,用戶可以對(duì)基于微控制器的設(shè)計(jì)連同所有的周圍電子器件一起仿真,是一款非常優(yōu)秀的單片機(jī)仿真軟件。可以使用Keilc51和Proteus進(jìn)行聯(lián)調(diào),使調(diào)試和仿真更為方便。如果設(shè)定溫度下限值為24,在水溫24及以下時(shí),發(fā)光二極管閃爍報(bào)警,繼電器RL2接通,HOTWATER電機(jī)轉(zhuǎn)動(dòng),向游泳池中加入熱水升溫。5.2仿真結(jié)果仿真圖如圖所示仿真1仿真2仿真3圖5.2仿真圖結(jié)論 本文設(shè)計(jì)的游泳池恒溫自動(dòng)控制系統(tǒng),是以單片機(jī)為控制核心的恒溫系統(tǒng)。該系統(tǒng)利用數(shù)字溫度傳感器,將采樣到的溫度信號(hào)輸入到單片機(jī),再由單片機(jī)根據(jù)

20、測(cè)量溫度與設(shè)定溫度的差值和PID算法生成控制信號(hào),控制固態(tài)繼電器的通斷。整個(gè)系統(tǒng)結(jié)構(gòu)緊湊、所用芯片少、控制精度高、響應(yīng)速度快,體積小,成本低。在鍵盤、顯示電路上都采用了串行方式,減小了單片機(jī)口線的使用,減小了成本開(kāi)支。雖然在主電源電路未采用流行的開(kāi)關(guān)穩(wěn)壓電源,但經(jīng)濟(jì)實(shí)惠,性能穩(wěn)定。在這次難得的論文設(shè)計(jì)過(guò)程中我鍛煉了自己的思考能力和動(dòng)手能力。通過(guò)題目選擇和設(shè)計(jì)電路的過(guò)程中,加強(qiáng)了我思考問(wèn)題的完整性和實(shí)際生活聯(lián)系的可行性。在方案設(shè)計(jì)選擇和芯片的選擇上,培養(yǎng)了我們綜合應(yīng)用單片機(jī)的能力,對(duì)單片機(jī)的各個(gè)管腳的功能也有了進(jìn)一步的認(rèn)識(shí)。還鍛煉我們個(gè)人的查閱技術(shù)資料的能力,動(dòng)手能力,發(fā)現(xiàn)問(wèn)題,解決問(wèn)題的能力。

21、并且我們熟練掌握了有關(guān)器件的性能及測(cè)試方法。  由于時(shí)間有限和本身知識(shí)水平的限制,本系統(tǒng)還存在一些不夠完善的地方,要作為實(shí)際應(yīng)用還有一些具體細(xì)節(jié)問(wèn)題需要解決。如將溫度更精確,和自動(dòng)隨著環(huán)境變化而自行調(diào)整適合溫度。我感受到做論文是要真真正正用心去做的一件事情,是真正的自己學(xué)習(xí)的過(guò)程和研究的過(guò)程,沒(méi)有學(xué)習(xí)就不可能有研究的能力,沒(méi)有自己的研究,就不會(huì)有所突破,那也就不叫論文了。希望這次的經(jīng)歷能讓我在以后學(xué)習(xí)中激勵(lì)我繼續(xù)進(jìn)步。參考文獻(xiàn):1吳炳勝,王桂梅80C51單片機(jī)原理與應(yīng)用M北京:冶金工業(yè)出版社,2汪孝國(guó),王婉麗高精度PID溫度控制器J電子與自動(dòng)化,20013耿長(zhǎng)清單片機(jī)應(yīng)用技術(shù)M北京:

22、化學(xué)工業(yè)出版社,20034夏紅,賞星耀PID參數(shù)自整定方法綜述J浙江科技學(xué)院學(xué)報(bào),2002 2003,(4)5催東劍多點(diǎn)恒溫自動(dòng)控制系統(tǒng)設(shè)計(jì)J電工技術(shù),2003,(7)6郁有文,程繼紅傳感器原理及工程應(yīng)用M西安:西安電子科技大學(xué) 20037戴永微機(jī)控制技術(shù)M長(zhǎng)沙:湖南大學(xué)出版社,20048陶永華新型PID控制及其應(yīng)用M北京:機(jī)械工業(yè)出版社,20029劉普寅,吳孟達(dá)模糊理論及其應(yīng)用M北京:國(guó)防工業(yè)出版社,199810諸靜模糊控制原理與應(yīng)用M北京:機(jī)械工業(yè)出版社,1995.11付家才單片機(jī)控制工程實(shí)踐技術(shù)M北京:化學(xué)工業(yè) 出版社,200412肖亮,陶學(xué)恒新型的智能化液位溫度測(cè)量系統(tǒng)J儀表技術(shù)與傳感

23、器, 2005,(8)13 陳偉強(qiáng).MSC-51實(shí)用子程序集M.北京:北京北京航空航天大學(xué)出版社, 1998.4:78-80,82-85 14 趙晶.PROTEL高級(jí)應(yīng)用M:人發(fā)郵電出版社,2002.12:224-226 15 王福瑞.單片微機(jī)測(cè)控系統(tǒng)設(shè)計(jì)大全M.北京:中國(guó)電力出版社,2002: 178-179 16 于海生等.微型計(jì)算機(jī)控制系統(tǒng)M.清華大學(xué)出版社,1998. 17 蔡自興.智能控制M.北京:電子工業(yè)出版社,2004 18 吳同茂.溫度控制系統(tǒng)實(shí)驗(yàn)指導(dǎo)書(shū)M.長(zhǎng)沙:中南大

24、學(xué)出版社,200219 王順晃,舒迪前.智能控制系統(tǒng)及其應(yīng)用M.北京:機(jī)械工業(yè)出版1995 20 張艷妍.一種模糊PID控制在熱加工對(duì)象中的應(yīng)用J.自動(dòng)化技術(shù)與應(yīng)用, 2003 22(9):45-48附錄附錄1主電路圖附錄2軟件程序/延時(shí) N ms /DS1820引腳定義 sbit  TMDAT  =P10;  void DS1820_DelayCount (unsigned char Coun) 

25、0;    data unsigned char Count;     Count=Coun;     while(Count>0) Count-;     Count=Coun;     while(Count>0) Count-;  /復(fù)位DS18B20 void

26、 DS1820_Reset(void)      TMDAT=0;     DS1820_DelayCount(412);          TMDAT=1;     DS1820_DelayCount(16);      /等待DS18B20應(yīng)答 unsig

27、ned char DS1820_Answer(void)   data unsigned int i;  data unsigned char j; i=0xc000;     while(TMDAT)       i-;  if (i=0)  return(aban_return);&#

28、160;              i=0xffff;      j=3;     while(TMDAT)       i-;  if (i=0)     if(j=0)  &#

29、160;     return(aban_return);      else                 j-;         i=0xffff;      &#

30、160;           DS1820_DelayCount(16);         return(done_return);  /等待DS18B20應(yīng)答 /讀取位 bit DS1820_Readbit(void)      data int i=0; 

31、 bit dat;     TMDAT=0;i+;i+;i+;i+;         TMDAT=1;i+;i+;i+;i+;i+;i+;i+;i+;     dat = TMDAT; /  DS1820_DelayCount(8);     DS1820_DelayCount(32);&

32、#160;    return dat;  /讀取字節(jié) unsigned char DS1820_Readbyte(void)  data unsigned char i,j,dat=0;      for(i=1;i<=8;i+)            

33、0; j=DS1820_Readbit();         dat=(j<<7)|(dat>>1);          return dat;  /寫一個(gè)字節(jié) void DS1820_Writebyte(unsigned char dat)     &#

34、160;data signed char   i=0;     data unsigned char j;     bit testb;      for(j=1;j<=8;j+)             

35、0;testb=dat & 0x01;dat = dat>>1;         if(testb)                      TMDAT=0;      

36、;       i+;i+;i+;i+;i+;i+;i+;i+;             TMDAT=1;             /DS1820_DelayCount(8);        

37、;     DS1820_DelayCount(32);                  else                      TMD

38、AT=0;             /DS1820_DelayCount(8);             DS1820_DelayCount(32);                

39、;         TMDAT=1;             i+;i+;i+;i+;i+;i+;i+;i+;                /讀操作開(kāi)始 unsigned char DS1

40、820_StartTem(void)      EA=0;     DS1820_Reset();          if(DS1820_Answer()=aban_return)          EA=Ea;     return(ab

41、an_return);     /    DS1820_Delayms(1);     DS1820_Delayms(4);         DS1820_Writebyte(0xcc);  /   DS1820_Writebyte(0x55);    / for(i=

42、0;i<8;i+)     /DS1820_Writebyte(DS1820_tempi);     DS1820_Writebyte(0x44);     EA=Ea;     return(done_return);  /讀所有傳感器 int DS1820_ReadTem(void)  data unsigned

43、60;char a,b; data  int  y3; data float y4; data unsigned char i;     EA=0;          DS1820_Reset();          i

44、f(DS1820_Answer()=aban_return)                 EA=Ea;         return(0xffff);             DS1820_Delayms(

45、4);     DS1820_Writebyte(0xcc);  /跳過(guò)匹配傳感器              /DS1820_Writebyte(0x55);  /   for(i=0;i<8;i+)     /DS1820_Writebyte(run_inf.system_inde

46、x.DS1820_tempi);                DS1820_Writebyte(0xbe);    /讀取溫度     for(i=0;i<9;i+)              

47、0;run_inf.system_index.DS1820_tempi=DS1820_Readbyte();              if(CRC(9)!=0)               EA=1;         

48、return(0xffff);      /計(jì)算CRC       a =  run_inf.system_index.DS1820_temp0;     b =  run_inf.system_index.DS1820_temp1;          DS1

49、820_Reset();              y3 = (b<< 8)|a;     y4=y3;     y4=(y4*25)/4;     EA=1;     return(int)(y4); &#

50、160;2. DS1602驅(qū)動(dòng)程序sbit rtc_sc=P34; sbit rtc_io=P35; sbit rst_1302=P36; bdata unsigned char temp; sbit temp_0 = temp0; sbit temp_7 = temp7;  /* DS1302驅(qū)動(dòng)程序開(kāi)始 */ /功能: 往DS1302寫入1Byte數(shù)據(jù) 

51、void v_RTInputByte(unsigned char ucDa)    unsigned char i; temp = ucDa; for(i=8; i>0; i-)  rtc_io = temp_0; /*相當(dāng)于匯編中的 RRC */ rtc_sc = 1; rtc_sc = 0; tem

52、p = temp >> 1;     /功能: 從DS1602讀取1Byte數(shù)據(jù) unsigned char uc_RTOutputByte(void)    unsigned char i; rtc_io=1; for(i=8; i>0; i-)      temp = 

53、;temp >>1;     /*相當(dāng)于匯編中的 RRC */     temp_7 = rtc_io;        rtc_sc = 1;     rtc_sc = 0;       retur

54、n(temp);    /功能: 往DS1602寫入數(shù)據(jù) void write1302(unsigned char ucAddr,unsigned char ucDa)      bit ea;     ea=EA;     EA=0; rtc_rs_port&=(rtc_rs_bit); 

55、rtc_sc = 0; rtc_rs_port|=rtc_rs_bit; v_RTInputByte(ucAddr); /* 地址,命令 */ v_RTInputByte(ucDa); /* 寫1Byte數(shù)據(jù)*/ rtc_sc = 1; rtc_rs_port&=(rtc_rs_bit); EA = ea;   /功能: 讀取DS1602某地址的數(shù)據(jù) unsigned&

56、#160;char read1302(unsigned char ucAddr)  unsigned char ucDa;     bit ea;     ea=EA; EA=0; rtc_rs_port&=(rtc_rs_bit); rtc_sc = 0; rtc_rs_port|=rtc_rs_bit; v_RTInputByte(uc

57、Addr); /* 地址,命令 */ ucDa = uc_RTOutputByte(); /* 讀1Byte數(shù)據(jù) */ rtc_sc = 1; rtc_rs_port&=(rtc_rs_bit); EA = ea; return(ucDa);   /功能: 設(shè)置初始時(shí)間 void Set1302(pTime_S time_temp) 

58、60;     unsigned char i= 0x80;     write1302(0x8e,0x00); /* 控制命令,WP=0,寫操作*/     write1302(i,time_temp->sec);     i +=2;     write1302(i,time_t

59、emp->min);     i +=2;     write1302(i,time_temp->hou);     i +=2;     write1302(i,time_temp->day);     i +=2;     write1302(i,

60、time_temp->mon);     i +=2;     write1302(i,0x02);     i +=2; write1302(i,time_temp->yea); i +=2;      write1302(0x8e,0x80); /* 控制命令,WP=1,寫保護(hù)*/  

61、; /功能: 讀取DS1302當(dāng)前時(shí)間 void get1302(void)   unsigned char i,time_bcd_temp6; unsigned char ucAddr = 0x81; for (i=0;i<7;i+)           time_bcd_tempi = read1302(ucAddr);/*格式為: 秒 分 時(shí) 日 月       星期 年 */   

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論