版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 畢業(yè)論文題 目 水位水溫控制系統(tǒng) 院 (系) 工程技術(shù)學(xué)院 專 業(yè) 應(yīng)用電子 年 級(jí) 11級(jí) 學(xué)生姓名 劉會(huì)超 學(xué) 號(hào) 201125110115 指導(dǎo)教師 許春香 二一四年 五月 摘 要溫度的精度控制一直是個(gè)難題,因此為了實(shí)現(xiàn)高精度的水溫水位控制,我的論文介紹了一種以AT89C51單片機(jī)為控制核心,采用一種數(shù)字溫度傳感器(DS18B20)為溫度采集器來實(shí)現(xiàn)水溫的控制。論文著重介紹核心器件的選擇、各部分電路設(shè)計(jì)及軟件的實(shí)現(xiàn)。AT89C51單片機(jī)完善的內(nèi)部結(jié)構(gòu)、優(yōu)良的性能和強(qiáng)大的中斷處理能力,決定了該控制系統(tǒng)具有電路結(jié)構(gòu)簡(jiǎn)單、程序簡(jiǎn)短、系統(tǒng)可靠性高的特點(diǎn)。水位以AT89C51單片機(jī)檢測(cè)缺水、溢流
2、,實(shí)現(xiàn)自動(dòng)控制;溫度采集采用數(shù)字溫度傳感器(DS18B20),不需要復(fù)雜的信號(hào)調(diào)理電路和A/D轉(zhuǎn)換電路,簡(jiǎn)單的數(shù)字處理電路大大降低了硬件和軟件的設(shè)計(jì)復(fù)雜度,直接與單片機(jī)完成數(shù)據(jù)的采集和處理;采用LCD1602液晶實(shí)時(shí)顯示溫度值,實(shí)現(xiàn)方便、簡(jiǎn)單。本系統(tǒng)根據(jù)不同需要可用于各種場(chǎng)合。【關(guān)鍵詞】AT89C51單片機(jī),DS18B20,LCD1602Abstract The temperature has been a difficult problem accuracy control of, so in order to realize high precision temperature level
3、 control, my paper introduces an AT89C51 as control core, using a digital temperature sensor (DS18B20) for temperature water temperature control unit to realize. This paper mainly introduces the core device of choice, each part circuit design and software realization. AT89C51 perfect internal struct
4、ure, excellent performance and powerful interrupt handling ability, decided the control system has the circuit is simple in structure, procedures brief, system reliability high characteristic. Water level detection by AT89C51, water shortage, the realization of automatic control overflow; Temperatur
5、e gathering adopting digital temperature sensor (DS18B20), not in need of sophisticated signal regulate circuit and A/D circuit, simple digital processing circuit greatly reduces the hardware and software design complexity, direct and single-chip commputer completes data acquisition and processing;
6、LCD1602 LCD display by temperature, realize convenient, simple. This system can be used according to different requirements on various occasions.【Keywords】AT89C51 microcontroller ,DS18B20 ,LCD1602 28目 錄引 言5第一章 系統(tǒng)方案設(shè)計(jì)6(一)水溫水位控制系統(tǒng)的設(shè)計(jì)任務(wù)和要求6(二)系統(tǒng)總體方案的選擇6(三)溫度傳感器的選擇7第二章 元器件介紹及硬件電路設(shè)計(jì)8(一)元器件介紹8(二)硬件電路設(shè)計(jì)15第
7、三章 系統(tǒng)軟件設(shè)計(jì)19(一)程序結(jié)構(gòu)說明19(二)程序流程圖19(三)操作指引24第四章 實(shí)驗(yàn)測(cè)試25(一)LCD1602顯示“ABCD1234”25(二)鍵盤及數(shù)字顯示結(jié)合25(三)整機(jī)調(diào)試25第五章 設(shè)計(jì)總結(jié)27致 謝28參考文獻(xiàn)29引 言上個(gè)世紀(jì),由于工業(yè)過程控制的需要,特別是電子技術(shù)的迅猛發(fā)展,以及在自動(dòng)控制理論和設(shè)計(jì)方法的推動(dòng)下,溫度控制系統(tǒng)發(fā)展迅速,并在智能化、自適應(yīng)參數(shù)、自整定等方面取得了優(yōu)異成果。現(xiàn)在的溫度控制系統(tǒng)及儀器儀表正朝著高精度、智能化、小型化等方面快速發(fā)展。 溫度控制系統(tǒng)在各行各業(yè)的應(yīng)用雖然已經(jīng)十分廣泛,但從國(guó)內(nèi)生產(chǎn)的溫度控制器來講,總體發(fā)展水平仍然不高,同日本、美國(guó)
8、、德國(guó)等技術(shù)先進(jìn)的國(guó)家相比,仍然有著較大的差距。成熟產(chǎn)品主要以“點(diǎn)位”控制及常規(guī)的PID控制器為主,它只能適應(yīng)一般溫度系統(tǒng)控制,難于控制滯后復(fù)雜時(shí)變溫度系統(tǒng)控制,而且應(yīng)用于較高控制場(chǎng)合的智能化、自適應(yīng)控制儀表國(guó)內(nèi)的技術(shù)還不十分成熟,形成商品化并廣泛應(yīng)用的控制儀表較少。溫度、壓力、流量和液位是四種最常見的過程變量,其中溫度是一個(gè)非常重要的過程變量,因?yàn)樗苯佑绊懭紵?、化學(xué)反應(yīng)、發(fā)酵、烘烤、煅燒、蒸餾、濃度、擠壓成形、結(jié)晶以及空氣流動(dòng)等物理和化學(xué)過程。溫度控制在工業(yè)領(lǐng)域應(yīng)用非常廣泛,由于其具有工況復(fù)雜、參數(shù)多變、運(yùn)行慣性大、控制滯后等特點(diǎn),它對(duì)控制調(diào)節(jié)器要求較高。溫度控制不好就可能引起生產(chǎn)安全,產(chǎn)
9、品質(zhì)量和產(chǎn)量等一系列問題。盡管溫度控制很重要,但是要控制好溫度常常會(huì)遇到意想不到的困難。隨著嵌入式系統(tǒng)開發(fā)技術(shù)的快速發(fā)展及其在各個(gè)領(lǐng)域的廣泛應(yīng)用,人們對(duì)電子產(chǎn)品的小型化和智能化要求越來越高,作為高新技術(shù)之一的單片機(jī)以其體積小、價(jià)格低、可靠性高、適用范圍大、本身的指令系統(tǒng)等諸多優(yōu)勢(shì),在各個(gè)領(lǐng)域、各個(gè)行業(yè)都得到了廣泛應(yīng)用。本文主要介紹以單片機(jī)控制溫度的系統(tǒng)設(shè)計(jì)過程,其中涉及系統(tǒng)結(jié)構(gòu)設(shè)計(jì)、元器件的選取、程序的調(diào)試和系統(tǒng)參數(shù)的整定。在系統(tǒng)構(gòu)建時(shí)選取了AT89C51芯片作為該控制系統(tǒng)的核心,溫度信號(hào)由新型的可編程溫度傳感器(DS18B20)提供。通過軟件實(shí)現(xiàn)對(duì)水溫的控制,使用繼電器作執(zhí)行部件對(duì)水位的自動(dòng)
10、控制。系統(tǒng)控制對(duì)象為水箱。水溫可以在一定范圍內(nèi)由人工設(shè)定,并能在環(huán)境溫度降低時(shí)實(shí)現(xiàn)自動(dòng)控制,以保持設(shè)定的溫度基本不變,具有較好的快速性與較小的超調(diào)。該系統(tǒng)為一實(shí)驗(yàn)系統(tǒng),要求系統(tǒng)有控制能力,實(shí)現(xiàn)對(duì)主要可變參數(shù)的實(shí)時(shí)監(jiān)控。使用軟件編程既減少了系統(tǒng)設(shè)計(jì)的工作量,又提高了系統(tǒng)開發(fā)的速度,使用軟件還可以提高所設(shè)計(jì)系統(tǒng)的穩(wěn)定性。第一章 系統(tǒng)方案設(shè)計(jì)(一)水溫水位控制系統(tǒng)的設(shè)計(jì)任務(wù)和要求該系統(tǒng)為一實(shí)驗(yàn)系統(tǒng),系統(tǒng)設(shè)計(jì)任務(wù):設(shè)計(jì)一個(gè)水溫水位自動(dòng)控制系統(tǒng),控制對(duì)象為水箱。水位實(shí)現(xiàn)自動(dòng)加水和自動(dòng)溢出控制,水溫可以在一定范圍內(nèi)由人工設(shè)定,并能在環(huán)境溫度降低時(shí)實(shí)現(xiàn)自動(dòng)調(diào)整,以保持設(shè)定的溫度基本不變。利用AT89C51單
11、片機(jī)實(shí)現(xiàn)對(duì)水溫的智能控制,使水溫在設(shè)定溫度下控制溫度恒定。利用儀器讀出水溫,并在此基礎(chǔ)上將水溫調(diào)節(jié)到我們通過鍵盤輸入的溫度(其方式是加熱或降溫),而且能夠?qū)囟蕊@示在LCD1602液晶上。系統(tǒng)設(shè)計(jì)具體要求:(1)由鍵盤設(shè)定溫度,設(shè)定范圍為40一90,最小區(qū)分度為l,標(biāo)定溫差1。(2)溫度低于設(shè)定溫度值時(shí)加熱,溫度高于設(shè)定值時(shí)降溫(3)用LCD1602液晶實(shí)時(shí)顯示水的實(shí)際溫度。(4)實(shí)現(xiàn)容器中無水時(shí)自動(dòng)加水,溢出自動(dòng)控制,防止燒干,故障報(bào)警。(5)環(huán)境溫度降低時(shí)(例如用電風(fēng)扇降溫)溫度控制約靜態(tài)誤差1(二)系統(tǒng)總體方案的選擇1方案一 (如圖1-1)此方案是傳統(tǒng)的二位式模擬控制方案,其基本思想與方
12、案采用上下限比較電路,控制精度比較高。這種方法還是模擬控制方法,因此也不能實(shí)現(xiàn)復(fù)雜的控制算法使控制溫度做的更精確。而且不能用數(shù)碼管顯示和鍵盤設(shè)定。信號(hào)采集信號(hào)放大上限比較下限比較信號(hào)處理固態(tài)繼電器負(fù)載溫度預(yù)置圖1-1 模擬電路2方案二 (如圖1-2)此方案采用AT89C51單片機(jī)系統(tǒng)來實(shí)現(xiàn)。單片機(jī)軟件編程靈活,自由度大,可用軟件編程實(shí)現(xiàn)各種控制算法和邏輯控制【1】。單片機(jī)系統(tǒng)可用數(shù)碼管顯示水溫的實(shí)際值,能用鍵盤輸入設(shè)定值等功能。本方案選用了AT89C51芯片,不需要外擴(kuò)展存儲(chǔ)器,可使系統(tǒng)整體結(jié)構(gòu)更為簡(jiǎn)單。3方案論證 方案一是傳統(tǒng)的模擬控制方式,而模擬控制系統(tǒng)難以實(shí)現(xiàn)復(fù)雜控制規(guī)律,控制方案的修改
13、也較麻煩。而方案二是采用以AT89C51為控制核心的單片機(jī)控制系統(tǒng),尤其對(duì)溫度控制,可以達(dá)到模擬控制所達(dá)不到的控制效果,并且可以實(shí)現(xiàn)顯示、鍵盤設(shè)定,報(bào)警等功能。大大提高系統(tǒng)的智能化,也使得系統(tǒng)所測(cè)結(jié)果的精度大大提高了。所以本次設(shè)計(jì)采用方案二。單片機(jī)鍵盤輸入溫度傳感器水位檢測(cè)電源LCD1602液晶顯示加熱裝置降溫裝置蜂鳴報(bào)警燒干溢流控制圖1-2 溫度控制系統(tǒng)框圖(三)溫度傳感器的選擇本設(shè)計(jì)方案的選擇主要是感溫元件的選擇,經(jīng)查閱資料,IC式感溫器在市場(chǎng)上應(yīng)用比較廣泛的有以下幾種:1 AD590:電流輸出型的測(cè)溫組件,溫度每升高1 攝氏度K (凱式溫度),電流增加1A,溫度測(cè)量范圍在一55 150之
14、間。其所采集到的數(shù)據(jù)需經(jīng)A/D 轉(zhuǎn)換,才能得到實(shí)際的溫度值。2 DS18B20:除了測(cè)量溫度外,它還可以把溫度值以數(shù)字的方式(9 B i t ) 送出,溫度送出的精度為0.5,溫度測(cè)量范圍在-55 125 之間,可以做恒溫控制。3 SMARTEC感溫組件:這是一只3個(gè)管腳感溫IC,溫度測(cè)量范圍在-45 13,誤差可以保持在0.7 以內(nèi)。本設(shè)計(jì)選用DS18B20感溫IC,這是因其性能參數(shù)符合設(shè)計(jì)要求,接口簡(jiǎn)單,內(nèi)部集成了A/D 轉(zhuǎn)換,測(cè)溫更簡(jiǎn)便,精度較高,反應(yīng)速度快,且經(jīng)過市場(chǎng)考察,該芯片易購(gòu)買,使用方便。第二章 元器件介紹及硬件電路設(shè)計(jì)(一)元器件介紹1 溫度傳感器溫度傳感器選用可編程溫度傳感
15、器(DS18B20)芯片。DS18B20是DALLAS公司生產(chǎn)的1Wire,即單總線器件,具有線路簡(jiǎn)單,體積小的特點(diǎn)。它在測(cè)溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面較DS1820有了很大的改進(jìn), 給用戶使用帶來了更多方便。(1)DS18B20產(chǎn)品的特點(diǎn) (a)單線接口:僅需一根線與單片機(jī)相連;(b)由用總線提供電源,也可用數(shù)據(jù)線供電,電壓范圍:3.05.5V;(c)測(cè)溫范圍為-55+125,在-1085時(shí),精度為0.5;(d)可編程的分辨率為912位,對(duì)應(yīng)的分辨率為0.50.0625;(e)用戶可編程的溫度報(bào)警設(shè)置;(f)12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字量。(2)DS18B2
16、0的引腳介紹 DS18B20可編程溫度傳感器有3個(gè)管腳。(如圖2-1) GND為接地線,DQ為數(shù)據(jù)輸入輸出接口,通過一個(gè)較弱的上拉電阻與單片機(jī)相連。VDD為電源接口,既可由數(shù)據(jù)線提供電源,又可由外部提供電源,范圍3O55 V【7】。本文使用外部電源供電。 圖2-1 DS18B20管腳(3)DS18B20的內(nèi)部結(jié)構(gòu)DS18B20內(nèi)部功能模塊主要由4部分組成:64位光刻R0M、溫度傳感器、非易失性的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。R0M 中的64位序列號(hào)是出廠前被光刻好的,他可以看作是該DSISB20的地址序列碼,每個(gè)DSI8B20的64位序列號(hào)均不相同。高低溫報(bào)警觸發(fā)器TH 和TL,配置寄
17、存器均由一個(gè)字節(jié)的E2PROM組成,使用一個(gè)存儲(chǔ)器功能命令可對(duì) TH,TL或配置寄存器寫入。配置寄存器中R1,R0決定溫度轉(zhuǎn)換的精度位數(shù):R1R000,9位精度,最大轉(zhuǎn)換時(shí)間為93.75 ms;R1R0 = 01,10位精度,最大轉(zhuǎn)換時(shí)間為187.5 ms;R1R0 = 10,11位精度,最大轉(zhuǎn)換時(shí)間為375 ms;R1R0 =11,12位精度,最大轉(zhuǎn)換時(shí)間為750 ms;未編程時(shí)默認(rèn)為12位精度。(4)DS18B20的使用方法由于DS18B20采用的是1Wire總線協(xié)議方式,即在一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸【8】,而對(duì)AT89C51單片機(jī)來說,硬件上并不支持單總線協(xié)議,因此,我們必須采用軟件
18、的方法來模擬單總線的協(xié)議時(shí)序來完成對(duì)DS18B20芯片的訪問。DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對(duì)讀寫的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。DS18B20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序:初始化時(shí)序、讀時(shí)序、寫時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備,單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫時(shí)序開始,如果要求單總線器件回送數(shù)據(jù),在進(jìn)行寫命令后,主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。DS18B20的復(fù)位時(shí)序圖2-2 DS18B20的復(fù)位時(shí)序圖DS18B20的讀時(shí)序?qū)τ贒S18B20的讀時(shí)序分為讀0時(shí)序和讀
19、1時(shí)序兩個(gè)過程。 對(duì)于DS18B20的讀時(shí)序是從主機(jī)把單總線拉低之后,在15us之內(nèi)就得釋放單總線,以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20要完成一個(gè)讀時(shí)序過程,至少需要60us才能完成。 圖2-3 DS18B20的讀時(shí)序圖DS18B20的寫時(shí)序?qū)τ贒S18B20的寫時(shí)序仍然分為寫0時(shí)序和寫1時(shí)序兩個(gè)過程【10】。對(duì)于DS18B20寫0時(shí)序和寫1時(shí)序的要求不同,當(dāng)要寫0時(shí)序時(shí),單總線要被拉低至少60us,保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平,當(dāng)要寫1時(shí)序時(shí),單總線被拉低之后,在15us之內(nèi)就得釋放單總線。圖2-4 DS18B20的寫時(shí)
20、序圖2 AT89C51的特性AT89C51是一個(gè)低電壓,高性能CMOS 8位單片機(jī),片內(nèi)含4Kbytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和128byt 的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,內(nèi)置功能強(qiáng)大的微型計(jì)算機(jī)的AT89C51提供了高性價(jià)比的解決方案。AT89C51主要的功能特點(diǎn)如下:(1)兼容MCS-51指令系統(tǒng)(2)32個(gè)雙向I/O口(3)兩個(gè)16位可編程定時(shí)/計(jì)數(shù)器(4)一個(gè)串行中斷(5)兩個(gè)外部中斷源(6)可直接驅(qū)動(dòng)LED(7)低功耗空閑和掉電模式(8)4K可反復(fù)查寫ROM(9)3級(jí)加密位(10)全靜態(tài)操作
21、0MHz-24MHz(11)軟件設(shè)置睡眠和喚醒功能3 LCD1602液晶字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式LCD,市面上字符液晶絕大多數(shù)是基于HD44780液晶芯片,HD44780是帶西文字庫(kù)的液晶顯示控制器,用戶只需要向HD44780送ASCII的字符碼,HD44780就按照內(nèi)置的ROM點(diǎn)陣發(fā)生器自動(dòng)在LCD液晶顯示器上顯示出來。所以,HD44780主要適用于顯示西文ASCII字符內(nèi)容的液晶顯示。圖2-5 LCD1602引腳圖1602字符型LCD能夠同時(shí)顯示16*2即32個(gè)字符(16列2行)。其內(nèi)置192種字符(160個(gè)5*7點(diǎn)陣字符和32個(gè)5*10點(diǎn)陣字符),具有
22、64個(gè)字節(jié)的自定義字符RAM,可自定義8個(gè)5*8點(diǎn)陣字符或4個(gè)5*11點(diǎn)陣字符。1602通常有14條引腳線或16條引腳線兩種,多出來的2條線是背光電源線和地線,帶背光的比不帶背光的略厚,控制原理與14腳的LCD完全一樣,是否帶背光在應(yīng)用中并無差別。本設(shè)計(jì)中采用帶背光16引腳線的。其主要技術(shù)參數(shù)為:顯示容量:162個(gè)字符。芯片工作電壓:4.5-5.5V。工作電流:2.0mA(5.0V)。模塊最佳工作電壓:5.0V。字符尺寸:2.954.35(WH)mm。LCD1602的16個(gè)引腳可參照?qǐng)D2-5,其引腳功能分別為:VSS:電源地(GND)。VCC:電源電壓(5V)。V0:LCD驅(qū)動(dòng)電壓,液晶顯示器
23、對(duì)比度調(diào)整端。使用時(shí)可以通過一個(gè)10K的電位器調(diào)整對(duì)比度,接正電源時(shí)對(duì)比度最弱,接地電源時(shí)對(duì)比度最高。RS:寄存器選擇輸入端,選擇模塊內(nèi)部寄存器類型信號(hào)。RS=0,進(jìn)行寫模塊操作時(shí)指向指令寄存器,進(jìn)行讀模塊操作時(shí)指向地址計(jì)數(shù)器。RS=1,無論進(jìn)行讀操作還是寫操作均指向數(shù)據(jù)寄存器。R/W:讀寫控制輸入端,選擇讀/寫模塊操作信號(hào)。R/W=0,讀操作;R/W=1,寫操作。本設(shè)計(jì)中只需往LCD里寫數(shù)據(jù)即可,寫時(shí)序見圖3-4。E:使能信號(hào)輸入端。讀操作時(shí),高電平有效;寫操作時(shí),下降沿有效DB0DB7:數(shù)據(jù)輸入/輸出口,單片機(jī)與模塊之間的數(shù)據(jù)傳送通道。選擇4圖2-6 LCD1602寫時(shí)序位方式通訊時(shí),不使
24、用DB0DB3。BLA:背光的正端+5V。BLK:背光的負(fù)端0V。1602模塊內(nèi)部主要由LCD顯示屏、控制器、列驅(qū)動(dòng)器和偏壓產(chǎn)生電路構(gòu)成??刂破鹘邮軄碜訫PU的指令和數(shù)據(jù),控制著整個(gè)模塊的工作。主要由顯示數(shù)據(jù)緩沖區(qū)DDRAM,字符發(fā)生器CGROM,字符發(fā)生器CGRAM,指令寄存器IR,地址寄存器DR,忙標(biāo)志BF,地址計(jì)數(shù)器AC以及時(shí)序發(fā)生電路組成。模塊通過數(shù)據(jù)總線DB0DB7和E、R/W、RS三個(gè)輸入控制端與MPU接口。這三根控制線按照規(guī)定的時(shí)序相互協(xié)調(diào)作用,使控制器通過數(shù)據(jù)總線接受MPU發(fā)來的數(shù)據(jù)和指令,從CGROM中找到欲顯示字符的字符碼,送入DDRAM,在LCD顯示屏上與DDRAM存儲(chǔ)單
25、元對(duì)應(yīng)的規(guī)定位置顯示出該字符??刂破鬟€可以根據(jù)MPU的指令,實(shí)現(xiàn)字符的顯示,閃爍和移位等顯示效果。CGROM內(nèi)提供的是內(nèi)置字符碼,CGRAM則是供用戶存儲(chǔ)自定義的點(diǎn)陣圖形字符。模塊字符在LCD顯示屏上的顯示位置與該字符的字符代碼在顯示緩沖區(qū)DDRAM內(nèi)的存儲(chǔ)地址一一對(duì)應(yīng)。LCD1602模塊內(nèi)部具有兩個(gè)8位寄存器:指令寄存器IR和地址寄存器DR,用戶可以通過RS和R/W輸入信號(hào)的組合選擇指定的寄存器,進(jìn)行相應(yīng)的操作。表2-1中列出了組合選擇方式:表2-1 寄存器選擇組合RSR/W操 作00將DB0DB7的指令代碼寫入指令寄存器IR中01分別將狀態(tài)標(biāo)志BF和地址計(jì)數(shù)器AC內(nèi)容讀到DB7和DB6DB
26、010將DB0DB7的數(shù)據(jù)寫入數(shù)據(jù)寄存器中,模塊的內(nèi)部操作將數(shù)據(jù)寫到DDRAM或者CGRAM中的數(shù)據(jù)送入數(shù)據(jù)寄存器中11將數(shù)據(jù)寄存器內(nèi)的數(shù)據(jù)讀到DB0DB7,模塊的內(nèi)部操作自動(dòng)將DDRAM或者CGRAM中的數(shù)據(jù)送入數(shù)據(jù)寄存器中1602提供了較為豐富的指令設(shè)置,通過選擇相應(yīng)的指令設(shè)置,用戶可以實(shí)現(xiàn)多種字符顯示樣式。下面僅簡(jiǎn)要介紹本次設(shè)計(jì)中需要用到的一些指令設(shè)置。l 清屏指令 Clear display清顯示指令將空位字符碼20H送入全部DDRAM地址中,時(shí)DDRAM中的內(nèi)容全部清除,顯示消失,地址計(jì)數(shù)器AC=0,自動(dòng)增一模式。顯示歸位,光標(biāo)閃爍回到原點(diǎn)(顯示屏左上角),但不改變移位設(shè)置模式。清屏
27、指令碼見表2-2。表2-2 清屏指令碼RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000000001l 進(jìn)入模式設(shè)置指令 Entry mode set 見表2-3,進(jìn)入模式設(shè)置指令用于設(shè)定光標(biāo)移動(dòng)方向和整體顯示是否移動(dòng)。表2-3 模式設(shè)置指令碼RSR/WDB7DB6DB5DB4DB3DB2DB1DB000000001I/DS I/D:字符碼寫入或者讀出DDRAM后DDRAM地址指針AC變化方向標(biāo)志。I/D=1,完成一個(gè)字符碼傳送后,AC自動(dòng)加1。I/D=0,完成一個(gè)字符碼傳送后,AC自動(dòng)減1。 S:顯示移位標(biāo)志。S=1,完成一個(gè)字符碼傳送后顯示屏整體向右(I/D=0)或向左(I
28、/D=1)移位。S=0,完成一個(gè)字符碼傳送后顯示屏不移動(dòng)。l 顯示開關(guān)控制指令 Display on/off control 指令碼見表2-4,該指令功能為控制整體顯示開關(guān),光標(biāo)顯示開關(guān)和光標(biāo)閃爍開關(guān)。表2-4 顯示開關(guān)控制指令碼RSR/WDB7DB6DB5DB4DB3DB2DB1DB00000001DCB D:顯示開/關(guān)標(biāo)志。D=1,開顯示;D=0,關(guān)顯示。關(guān)顯示后,顯示數(shù)據(jù)仍保持在DDRAM中,開顯示即可再現(xiàn)。 C:光標(biāo)顯示控制標(biāo)志。C=1,光標(biāo)顯示;C=0,光標(biāo)不顯示。不顯示光標(biāo)并不影響模塊其他顯示功能。顯示5*8點(diǎn)陣字體時(shí),光標(biāo)在第八行顯示;顯示5*10點(diǎn)陣字符時(shí),光標(biāo)在第11行顯示。
29、 B:閃爍顯示控制標(biāo)志。B=1,光標(biāo)所在位置會(huì)交替顯示全黑點(diǎn)陣和顯示字符,產(chǎn)生閃爍效果;B=0,光標(biāo)不閃爍。l 功能設(shè)置指令 Function set 功能設(shè)置指令用于設(shè)置接口數(shù)據(jù)位數(shù),顯示行數(shù)以及字形。指令碼見表2-5。表2-5 功能設(shè)置指令碼RSR/WDB7DB6DB5DB4DB3DB2DB1DB000001DLNF* DL:數(shù)據(jù)接口寬度標(biāo)志。DL=1,8位數(shù)據(jù)總線DB7DB0;DL=0,4位數(shù)據(jù)總線DB7DB4,DB3DB0不使用,此方式傳送數(shù)據(jù)需分兩次進(jìn)行。 N:顯示行數(shù)標(biāo)志。N=0,顯示一行;N=1,顯示兩行。F:顯示字符點(diǎn)陣字體標(biāo)志。F=0,顯示5*7點(diǎn)陣字符;F=1,顯示5*10
30、點(diǎn)陣字符。1602模塊內(nèi)部設(shè)有上電自動(dòng)復(fù)位電路,當(dāng)外加電源電壓超過+4.5V時(shí),自動(dòng)對(duì)模塊進(jìn)行初始化操作,將模塊設(shè)置為默認(rèn)的顯示工作狀態(tài)。初始化大約持續(xù)10ms左右。初始化進(jìn)行的指令操作為:l 清顯示l 功能顯示DL=1:8位數(shù)據(jù)接口。N=0:顯示一行。F=0:顯示5*8點(diǎn)陣字符字體。l 顯示開/關(guān)控制D=0:關(guān)顯示。C=0:不顯示光標(biāo)。B=0:光標(biāo)不閃爍。l 輸入模式設(shè)置I/D=1:AC自動(dòng)增一。S=0:顯示不移位。 但是需要特別注意的是,倘若供電電源達(dá)不到要求,模塊內(nèi)部復(fù)位電路無法正常工作,上電復(fù)位初始化就會(huì)失敗。因此,最好在系統(tǒng)初始化時(shí)通過指令設(shè)置對(duì)模塊進(jìn)行手動(dòng)初始化。4繼電器 本系統(tǒng)利
31、用繼電器的吸合與否來控制加熱裝置和降溫裝置,實(shí)現(xiàn)水溫的自動(dòng)化控制。本次設(shè)計(jì)采用型號(hào)為JRC-21F的繼電器。其特點(diǎn)有:(1)超小型,低功耗;(2)觸點(diǎn)型式:1H,1Z(1A.AC);(3)觸點(diǎn)負(fù)載:2A,120VAC;(4)外型尺寸:15.7X10.4X11.4;5鍵盤鍵盤選用輕觸開關(guān),只用三個(gè)鍵來輸入,它們的功能分別為“加一”,“減一”和“確認(rèn)”三個(gè)功能按鍵,詳細(xì)電路和程序見后面章節(jié)。(二)硬件電路設(shè)計(jì) 總電路圖見附頁(yè)1,下面重點(diǎn)介紹各個(gè)模塊的電路圖。1溫度采集電路DS18B20為單總線器件,接口電路簡(jiǎn)單,如下圖2-6所示圖2-6 溫度采集電路2 LCD1602液晶顯示電路將L1602的RS
32、端和P2.0,R/W端和P2.1, E 端和P2.2相連,當(dāng)RS=0時(shí),對(duì)LCD1602寫入指令;當(dāng)RS=1時(shí),對(duì)LCD1602寫入數(shù)據(jù)。當(dāng)R/W端接高電平時(shí)芯片處于讀數(shù)據(jù)狀態(tài),反之處于寫數(shù)據(jù)狀態(tài),E端為使能信號(hào)端。當(dāng)R/W為高電平,E端也為高電平,RS為低電平時(shí),液晶顯示屏顯示需要顯示的示數(shù)。圖2-8為1602液晶顯示屏與單片機(jī)的硬件連接圖。圖2-8 LCD1602顯示電路3 水位監(jiān)測(cè)電路圖2-10 控制原理圖虛線表示允許水位變化的上下限。由繼電器驅(qū)動(dòng)電機(jī)開關(guān)水閥,單片機(jī)控制繼電器吸合以達(dá)到對(duì)水位控制的目的。1號(hào)電機(jī)控制供水閥,2號(hào)電機(jī)控制排水閥。當(dāng)水位上升,達(dá)到上限時(shí),因水導(dǎo)電,B、C棒連
33、通+5V。b、c均為“1”,1號(hào)電機(jī)工作,關(guān)閉水閥不再供水;當(dāng)水位降到下限時(shí),B、C棒都不能與A棒導(dǎo)電。 b、c均為“0”,1號(hào)電機(jī)工作,打開水閥,給水箱供水;當(dāng)水位處于上下限之間時(shí),B與A棒導(dǎo)通。 b為“1”, c為“0”,維持原有的工作狀態(tài)。如果設(shè)定溫度比當(dāng)前溫度低的時(shí)候,需要降溫處理,那么有1號(hào)電機(jī)和2號(hào)電機(jī)同時(shí)工作,打開水閥,冷水在水箱中流動(dòng),等到設(shè)定溫度等于當(dāng)前溫度時(shí),兩個(gè)電機(jī)分別關(guān)閉水閥。以達(dá)到降溫的目的。上下限水位信號(hào)由P1.0和P1.1輸入,這2個(gè)信號(hào)共有4種組合狀態(tài):輸入輸出操作C(P1.1)B(P1.0)P1.2(電機(jī))P1.3(報(bào)警)00011電機(jī)開水閥011加熱或降溫處
34、理100故障報(bào)警11111電機(jī)關(guān)水閥由P1.3輸出報(bào)警信號(hào),蜂鳴器報(bào)警,同時(shí)切斷加熱裝置,顯示錯(cuò)誤。4 輸出驅(qū)動(dòng)電路 繼電器通過一個(gè)三極管來驅(qū)動(dòng),其中三極管的型號(hào)為9015【3】。這里用到四個(gè)驅(qū)動(dòng)電路,一個(gè)用于驅(qū)動(dòng)加熱裝置,另一個(gè)用于降溫裝置,還有一個(gè)用于驅(qū)動(dòng)1號(hào)電機(jī),最后一個(gè)用于驅(qū)動(dòng)2號(hào)電機(jī)。電路如圖2-9所示。其中加熱裝置可用小功率的電熱棒,它可達(dá)到加熱的目的,又較容易實(shí)現(xiàn)對(duì)溫度的控制。當(dāng)水的溫度過高要進(jìn)行降溫時(shí),可用加入冷水的方法,單片機(jī)驅(qū)動(dòng)電路工作,1號(hào)電機(jī)打開水閥,緩慢注入冷水,同時(shí)為了防止加入的水量過多而超出容器,增加了溢流控制,2號(hào)電機(jī)工作排出多余的水,動(dòng)態(tài)溫度比較,實(shí)現(xiàn)對(duì)溫度的
35、實(shí)時(shí)控制。同時(shí)為了防止燒干,加熱裝置在水位正常才能啟動(dòng)。圖2-9 輸出驅(qū)動(dòng)電路5 鍵盤電路本鍵盤電路采用獨(dú)立鍵設(shè)計(jì),三個(gè)鍵接到單片機(jī)的三個(gè)中斷源上。當(dāng)按下時(shí)為低電平。其中S2為“確認(rèn)”鍵、S3為“減一”鍵、S4為“加一”鍵,電路如圖2-7所示:圖2-7 鍵盤電路6 蜂鳴報(bào)警電路蜂鳴器通過一個(gè)三極管來驅(qū)動(dòng),這里選用9015。電路如圖2-10所示:圖2-11 蜂鳴報(bào)警電路第三章 系統(tǒng)軟件設(shè)計(jì)(一)程序結(jié)構(gòu)說明任何一個(gè)系統(tǒng)的軟件設(shè)計(jì)都離不開硬件電路的連接,所以本次硬件設(shè)計(jì)的高度模塊化決定了軟件設(shè)計(jì)的模塊化。其程序結(jié)構(gòu)應(yīng)包括:主控程序模塊、鍵盤掃描及處理子程序、數(shù)據(jù)采集處理子程序、顯示等子程序幾個(gè)部分
36、。結(jié)構(gòu)框圖如圖3-1。燒干溢流控制LCD1602液晶顯示主控程序模塊鍵盤掃描鍵值處理溫度采集繼電器控制自動(dòng)加水故障報(bào)警 圖3-1 程序結(jié)構(gòu)圖主控程序模塊在整個(gè)結(jié)構(gòu)中充當(dāng)管理者,管理所有子程序的調(diào)用。它主要負(fù)責(zé)初始化各個(gè)I/O口,等待鍵盤事件的發(fā)生,并做出相應(yīng)的處理。并在適當(dāng)?shù)臅r(shí)候調(diào)用數(shù)據(jù)采集程序,并將采集到的數(shù)據(jù)與鍵盤設(shè)定值比較。再通過計(jì)算后用于控制繼電器的通斷,從而控制電機(jī)等,來達(dá)到水溫水位的調(diào)整。(二)程序流程圖1主程序程序按照模塊化設(shè)計(jì),所有功能都可通過調(diào)用子程序完成,主程序較簡(jiǎn)單,流程圖如圖3-2所示。YYYN開始初始化有水?報(bào)警處理調(diào)用讀溫度模塊程序DS18B20存在?錯(cuò)誤顯示顯示e
37、rror處理溫度值轉(zhuǎn)換為BCD碼掃描鍵盤模塊繼電器控制模塊顯示模塊,顯示溫度溢流控制模塊 圖3-2 主程序流程圖2 LCD1602顯示程序流程圖顯示程序流程圖如圖3-3。流程圖分析:首先對(duì)1602顯示屏進(jìn)行初始化(初始化大約持續(xù)10ms左右),然后檢查忙信號(hào),若BF=0,則獲得顯示RAM的地址,寫入相應(yīng)的數(shù)據(jù)顯示;若BF=1,則代表模塊正在進(jìn)行內(nèi)部操作,不接受任何外部指令和數(shù)據(jù),直到BF=0為止。 圖3-3顯示流程圖3 溫度采集處理程序 讀取溫度DS18B20模塊的流程圖如圖3-4所示,DSI8B20溫度傳感器的內(nèi)部存儲(chǔ)器包括一個(gè)高速暫存RAM (便箋式的內(nèi)部存儲(chǔ)器)和一個(gè)非易失性的可電擦除的
38、EEPROM,后者存放高溫和低溫觸發(fā)器TH,TL和結(jié)構(gòu)寄存器。便箋存儲(chǔ)器包含了9個(gè)連續(xù)字節(jié)(08),前兩個(gè)字節(jié)是測(cè)得的溫度信息,字節(jié)0的內(nèi)容是溫度的低8位,字節(jié)1是溫度的高8位,字節(jié)2是TH(溫度上限報(bào)警),字節(jié)3是TL(溫度下限報(bào)警),字節(jié)4是配置寄存器,用于確定輸出分辨率9到12位。第5、6、7個(gè)字節(jié)是預(yù)留寄存器,用于內(nèi)部計(jì)算。字節(jié)8是冗余檢驗(yàn)字節(jié),校驗(yàn)前面所有8個(gè)字節(jié)的CRC碼,可用來保證通信正確【8】。圖3-4 溫度采集處理流程圖4 鍵盤程序由于機(jī)械觸點(diǎn)有彈性,在按下或彈起按鍵時(shí)會(huì)出現(xiàn)抖動(dòng),從最初按下到接觸穩(wěn)定要經(jīng)過數(shù)毫秒的彈跳時(shí)間,如圖所示。為了保證按鍵識(shí)別的準(zhǔn)確性,必須消除抖動(dòng)。消
39、抖處理有硬件和軟件兩種方法:硬件消抖是利用加去抖動(dòng)電路濾避免產(chǎn)生抖動(dòng)信號(hào);軟件消抖是利用數(shù)字濾波技術(shù)來消除抖動(dòng)。我們采用軟件的方法,利用主程序循環(huán)掃描,主程序每循環(huán)一次掃描到的鍵值相同時(shí),則說明是某鍵按下。圖3-5 鍵按下的過程其流程圖如圖3-6所示:圖3-6 鍵盤處理流程圖(三)操作指引按鍵功能:(1)Enter P1.7(S2)(2)Down P1.6(S3)(3)Up P1.5(S4)顯示溫度:(1)沒有DS18B20存在時(shí),LCD1602屏幕中間顯示DS18B20 ERROR(2)蜂鳴器報(bào)警,燒干狀態(tài)時(shí)LCD1602屏幕中間顯示ERROR(3)有DS18B20存在時(shí),LCD1602第一
40、行顯示當(dāng)前溫度now temp:xx.x(4)LCD1602第二行顯示設(shè)定溫度settemp:xx ,初始值為40。設(shè)定溫度:(1)按下Enter,LCD1602第二行顯示set temp:xx,xx同時(shí)閃爍。(2)這時(shí)可以按Up和Down來調(diào)節(jié)設(shè)定溫度。(3)調(diào)節(jié)好后,再按Enter退出。這時(shí)數(shù)字不閃爍,執(zhí)行相應(yīng)命令。繼電器隨著設(shè)定的溫度,依據(jù)情況跳變。第四章 實(shí)驗(yàn)測(cè)試(一)LCD1602顯示“ABCD1234”編一段小程序,在液晶屏上實(shí)現(xiàn)顯示“ABCD1234”。源程序略。(二)鍵盤及數(shù)字顯示結(jié)合編一段小程序,實(shí)現(xiàn)鍵盤及數(shù)字顯示結(jié)合。先設(shè)定某個(gè)定值作為初始值,當(dāng)按下鍵S2時(shí),進(jìn)入數(shù)值設(shè)定狀
41、態(tài),這時(shí)可通過按下鍵S3、S4來加減所設(shè)定的初始值。源程序略。經(jīng)過調(diào)式,可達(dá)到預(yù)期效果。(三)整機(jī)調(diào)試編譯好主程序和個(gè)模塊子程序,燒寫進(jìn)單片機(jī)AT89C51中,連接好各部分硬件電路。打開電源,電路自動(dòng)復(fù)位,首先不要接入DS18B20,此時(shí)屏幕中間只顯示DS18B20ERROR,然后接入DS18B20,但讓其處于無水狀態(tài),此時(shí)屏幕中間顯示錯(cuò)誤ERROR,并且蜂鳴器發(fā)出報(bào)警聲。接著讓DS18B20處于有水狀態(tài),此時(shí)LCD1602液晶顯示DS18B20所讀到水的當(dāng)前溫度T1,用溫度計(jì)測(cè)量水的當(dāng)前溫度T2,對(duì)比T1與T2的值,結(jié)果如表4-1。通過按鍵設(shè)定某個(gè)值,并使這個(gè)值大于當(dāng)前溫度值,當(dāng)退出“確認(rèn)”
42、按鍵 時(shí),觀察到繼電器1能夠吸合。再次通過按鍵設(shè)定一個(gè)值,并使這個(gè)值小于當(dāng)前溫度值,當(dāng)退出“確認(rèn)”按鍵時(shí),也能觀察到繼電器2的吸合,所測(cè)數(shù)據(jù)如表4-2。在原理上基本能達(dá)到預(yù)期效果。表4-1測(cè)量次數(shù)12345DS18B20所測(cè)溫度T1()9.79.39.610.19.5溫度計(jì)所測(cè)溫度T2()9.59.29.610.29.4由于元器件DS18B20讀溫度時(shí)有延時(shí),并且讀溫度計(jì)所測(cè)溫度時(shí)人為的視覺誤差,以及周圍環(huán)境影響等原因,T1,T2有較小的差別。表4-2鍵盤設(shè)定的溫度()405060溫度設(shè)定前溫度計(jì)所測(cè)溫度()10.310.325.4溫度設(shè)定前DS18B20所測(cè)溫度()10.210.225.3溫度設(shè)定后系統(tǒng)再次達(dá)到穩(wěn)定時(shí)溫度計(jì)所測(cè)溫度()40.350.460.6溫度
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年集體土地租賃修建公園協(xié)議
- 2024年陜西省規(guī)范化離婚合同范本一
- 2025年度大巴車租賃合同(含車輛改裝服務(wù))2篇
- 2025年度智能家電產(chǎn)品全國(guó)銷售總代理協(xié)議3篇
- 2024年門店合規(guī)與法律風(fēng)險(xiǎn)管理合同
- 重癥監(jiān)護(hù)及ICU護(hù)理質(zhì)量控制
- 2024瓷磚直銷協(xié)議范本版B版
- 2024年版美食廣場(chǎng)聯(lián)營(yíng)合同
- 2024年精裝修浴室工程承包合同版B版
- 2024短期財(cái)務(wù)周轉(zhuǎn)貸款協(xié)議范本一
- 2025年蛇年春聯(lián)帶橫批-蛇年對(duì)聯(lián)大全新春對(duì)聯(lián)集錦
- 小學(xué)六年級(jí)數(shù)學(xué)計(jì)算題100道(含答案)
- 護(hù)士聘用證明表下載
- 燃料油需求專題(二):航線與運(yùn)費(fèi)
- 2019年同等學(xué)力(教育學(xué))真題精選
- 《中外資產(chǎn)評(píng)估準(zhǔn)則》課件第2章 資產(chǎn)評(píng)估DNA透視
- 【框架完整】快樂卡通風(fēng)十歲成長(zhǎng)禮紀(jì)念相冊(cè)PPT模板(PPT 24頁(yè))
- 煤礦井下供電三大保護(hù)整定細(xì)則
- 1986考研英語(yǔ)真題及答案解析
- [轉(zhuǎn)載]鄭桂華《安塞腰鼓》教學(xué)實(shí)錄
- 熱電偶、熱電阻產(chǎn)品選型樣本
評(píng)論
0/150
提交評(píng)論