畢業(yè)設(shè)計(論文)家用快熱式電熱水器設(shè)計_第1頁
畢業(yè)設(shè)計(論文)家用快熱式電熱水器設(shè)計_第2頁
畢業(yè)設(shè)計(論文)家用快熱式電熱水器設(shè)計_第3頁
畢業(yè)設(shè)計(論文)家用快熱式電熱水器設(shè)計_第4頁
畢業(yè)設(shè)計(論文)家用快熱式電熱水器設(shè)計_第5頁
已閱讀5頁,還剩35頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 目 錄摘要-2關(guān)鍵詞-2一、前言-2二、快熱式家用電熱水器設(shè)計的技術(shù)要求-2三、設(shè)計方案的選擇和認證-2四、快熱式家用電熱水器系統(tǒng)設(shè)計-31:系統(tǒng)總體方案設(shè)計-32:控制系統(tǒng)的硬件組成及工作原理-33:控制系統(tǒng)總硬件電路的設(shè)計-43.1 溫度檢測電路-5 溫度和溫度傳感器 -5 DS18B20與單片機的接口電路-5 DS18B20寫數(shù)據(jù)時序-6 DS18B20讀數(shù)據(jù)時序-6 DS18B20數(shù)據(jù)傳輸格式-6 DS18B20的工作時序-73.2 輸出控制電路-73.3 過零檢測電路與5V穩(wěn)壓電路-9 過零檢測工作原理-93.3.2 5V穩(wěn)壓電路原理-93.4 液晶顯示電路-10 I/O說明-10

2、 工作時序-113.5 流量檢測電路-113.6 報警電路 -133.7 單片機的選擇 -144:控制系統(tǒng)的軟件設(shè)計-154.1 主程序-154.2 顯示溫度函數(shù)-164.3 設(shè)置函數(shù)-174.4 中斷子函數(shù)即加熱控制程序-18五、在調(diào)試過程中遇到的問題-19六、結(jié)束語-20七、參考文獻-20八、附錄-20附錄1 程序清單-20附錄2 總電路設(shè)計圖-39附錄3 元器件明細表-39快熱式家用電熱水器的設(shè)計摘要:時,熱保險絲會熔斷,防止加熱管干燒,與電熱絲并聯(lián)的LED發(fā)光管用來指示電熱絲的工作狀態(tài).關(guān)鍵詞:快熱式電熱水器 LCD12864液晶 DS18B20 過零檢測 可控硅前 言近幾年來,隨著人

3、們的生活水平的不斷提高,熱水器已成為日常生活中不可缺少的家用電器,設(shè)計制造更實用,更方便,更平安,更節(jié)能的熱水器是產(chǎn)品設(shè)計師和生產(chǎn)商家不斷追求的目標,快熱式熱水器與普通的熱水器的最大區(qū)別是他取消了儲水罐,熱水隨開隨用,不需預(yù)熱,減少了電能浪費,另外還具有體積小.使用平安,安裝方便等優(yōu)點. 根據(jù)國家住宅設(shè)計標準(GF50096-1999)現(xiàn)有商品住房的電器線路導(dǎo)線必須采用銅芯線,家庭電路設(shè)計一般是:進戶線610平方,照明2.5 平方,插座4 平方,空調(diào)6 平方。所以,現(xiàn)購新標準住宅用戶,都有條件使用上述這種平安,方便的快熱式熱水器,確保產(chǎn)品的萬無一失,平安系數(shù)達100%,(如果導(dǎo)線不能到達上述要

4、求時,需專線供電).通過檢測,快熱式比傳統(tǒng)的熱水器可節(jié)省40%的能耗,用多少熱水加熱多少,解決了熱水用不完時的浪費和使用中途熱水供給缺乏的現(xiàn)象,熱水利用率100%,因為他不要提前預(yù)熱,也不要保溫,省去了大量的額外開支,給用戶帶來真正的實惠,快熱式熱水器作為新型環(huán)保產(chǎn)品在我國廣泛使用已是大勢所趨,更符合現(xiàn)代消費潮流.二、快熱式家用電熱水器設(shè)計的技術(shù)要求:1.在正常運行狀態(tài)下顯示出水溫度,在待機狀態(tài)下,顯示“-2.溫度檢測顯示范圍0099,精確1.3.設(shè)置7個功率檔位,設(shè)定溫度范圍為165,液晶實時顯示當前檔位和設(shè)定溫度4.設(shè)置3個輕觸按鈕,分別為設(shè)置鍵, “+鍵和“-鍵,加熱功率分為06檔可調(diào),

5、設(shè)定溫度為165可調(diào),當?shù)谝淮伟匆幌略O(shè)置鍵時,那么可以按“+鍵和“-鍵設(shè)定設(shè)定溫度,當?shù)诙伟匆幌略O(shè)置鍵時,那么可以按“+鍵和“-鍵設(shè)定功率檔位,當?shù)谌伟匆幌略O(shè)置鍵時,那么返回到當前狀態(tài)5.出水溫度超過69時,停止加熱,并蜂鳴報警,6.內(nèi)膽溫度超過105時停止加熱,防止干燒三、設(shè)計方案的選擇和論證:方案一:用熱敏電阻組成電橋來采集信號,再經(jīng)放大,A/D轉(zhuǎn)換后送給單片機,再由數(shù)碼管顯示,通過可控硅控制發(fā)熱管,這種方法,線路復(fù)雜,不直觀.方案二:用DS18B20采集溫度,直接將數(shù)字信號送給單片機,再由LCD12864液晶顯示,通過可控硅控制發(fā)熱管,這種方法,線路比前者簡單,且讀取溫度準確度高,采

6、用大屏液晶顯示,同時能顯示當前溫度,設(shè)定檔位,設(shè)定溫度,和當前狀態(tài),使用戶一目了然.所以采用方案二.四、快熱式家用電熱水器系統(tǒng)設(shè)計:1:系統(tǒng)總體方案設(shè)計在本系統(tǒng)中,需要檢測的輸入信號有出水溫度和水流檢測信號等,需要輸出的信號主要是雙向可控硅的導(dǎo)通時間以控制加熱功率的大小.液晶的實時顯示,并還要完成出水溫度的設(shè)置,功率的設(shè)置,和保護功能,如溫度超限報警,防干燒等等.系統(tǒng)總體方案設(shè)計圖如下: 圖表 1圖表 SEQ 圖表 * ARABIC 12:控制系統(tǒng)的硬件組成及工作原理 快熱式電熱水器控制系統(tǒng)主要是由5V穩(wěn)壓電路,液晶顯示電路,加熱輸出控制電路,過零檢測電路,水流檢測電路,溫度檢測電路和報警電路

7、等電路組成.如下列圖:圖表2圖表 SEQ 圖表 * ARABIC 2 控制系統(tǒng)的原理如圖表2所示,首先通過溫度傳感器DS18B20將出水口的溫度直接變換成數(shù)字送到單片機,單片機對接收的信號與設(shè)定信號進行比擬,輸出一個控制量,控制可控硅的導(dǎo)通角,以實現(xiàn)對加熱量的控制,同時用LCD12864顯示當前溫度,當出現(xiàn)故障時,液晶提示故障,并蜂鳴器報警,斷開繼電器,并停止對可控硅的導(dǎo)通信號等等.3:控制系統(tǒng)總硬件電路的設(shè)計: 如下列圖:圖表3 下面就將各個硬件電路設(shè)計模塊分別描述:圖表 SEQ 圖表 * ARABIC 33.1: 溫度檢測電路溫度和溫度傳感器采用了美國DALLAS半導(dǎo)體公司生產(chǎn)的智能溫度傳

8、感器DS18B20作為檢測元件,測溫范圍為-55+125.DS18B20可以直接讀出被測溫度值.而且只需1線與單片機相連,減少了外部的硬件電路,具有低本錢和易使用的特點.DS18B20的性能特點如下:1: 獨特的單線接口僅需要一個端口引腳進行通訊3: 無需外部器件5: 零待機功耗6: 溫度以9或12位數(shù)字量讀出7: 負電壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作:DS18B20與單片機的接口電路DS18B20可以采用兩種方式供電,一種是采用電源供電方式,此時DS18B20的3腳接地,2腳作為信號線,1腳接電源.另一種是寄生電源供電方式,1腳和3腳都接地,2腳作為信號線.這種

9、接線可能會出現(xiàn)電源電流缺乏的現(xiàn)象,所以采用第一種接線方式,他不存在電源電流缺乏的問題,可以保證轉(zhuǎn)換精度,工作穩(wěn)定可靠,抗干擾能力強,同時在總線上理論可以掛接多個DS18B20傳感器,組成多點測溫系統(tǒng).如下列圖:圖表4圖表 SEQ 圖表 * ARABIC 4注意:在外部供電的方式下,DS18B20的GND引腳不能懸空,否那么不能轉(zhuǎn)換溫度,讀取的溫度總是85.3.1.3:DS18B20寫數(shù)據(jù)時序?qū)?和寫1時序 如下列圖:圖表5圖表 SEQ 圖表 * ARABIC 5當主機總線T0時刻從高拉到低時,就產(chǎn)生寫時間間隙,從T0時刻開始15US之內(nèi)就將所需要寫的位送到總線上.DS18B20在T0后15-6

10、0US間對總線采樣.如果采樣到低電平,剛寫入位是0,假設(shè)采樣到高電平,那么寫入的位是1.注:當連續(xù)寫2位間的間隙應(yīng)該大于1US.3. DS18B20讀數(shù)據(jù)時序: 如下列圖:圖表6圖表 SEQ 圖表 * ARABIC 62距T0 15US,也就是說.必須在T3時刻前主機完成讀數(shù)據(jù).DS18B20會在T0后的60US內(nèi)釋放總線. DS18B20數(shù)據(jù)傳輸格式: 如下列圖:圖表7圖表 SEQ 圖表 * ARABIC 7DS18B20在發(fā)送數(shù)據(jù)的時候,先發(fā)最低位然后一位位的發(fā)送,直到發(fā)到最高位,在接收的時候,也是先收數(shù)據(jù)的最低位,然后一直收到數(shù)據(jù)的最高位 DS18B20的工作流程因為本系統(tǒng)只使用了一個D

11、S18B20,所以在讀溫度時可以省掉匹配ROM這一步,具體流程如下列圖:圖表8圖表 SEQ 圖表 * ARABIC 8:輸出控制電路電路圖如下列圖:圖表9圖表 SEQ 圖表 * ARABIC 9 輸出控制電路,主要是光電耦合器MOC3023,雙向可控硅,繼電器,接觸器,三級管和加熱管器件組成.利用光耦隔離交直流信號,以保證由單片機輸出信號與外部設(shè)備之間的電隔離. P1.4為低電平時,繼電器導(dǎo)通,再通過接觸器接通加熱控制回路,同時單片機P1.3腳輸出移相控制信號,通過光耦MOC3023控制雙向可控硅的導(dǎo)通時間,以便調(diào)節(jié)輸出功率大小. 其中串聯(lián)在繼電器線圈回路的熔絲(FUSE)為105的熱保險絲,

12、當溫度超過105時,熱保險絲會熔斷,防止加熱管干燒。與電熱絲并聯(lián)的LED發(fā)光管用來指示電熱絲的工作狀態(tài)。雙向可控硅的選擇: 根據(jù)熱學(xué)及流體力學(xué)原理結(jié)合實際實驗室測試,可以得到水溫與流量、加熱功率之間的關(guān)系如下列圖:圖表10圖表 SEQ 圖表 * ARABIC 10為了到達快熱的效果,要求加熱管有較大的功率,家用電熱水器一般采用方便的電熱絲加熱方法,根據(jù)上圖,要滿足要求,選用BTA41;注意:在我做的實物中,并沒有接接觸器,直接通過繼電器,外接一個100W的燈進行演示的,防止干燒的105的熱保險絲和與電熱絲并聯(lián)的LED發(fā)光管也沒有接.電路與5V穩(wěn)壓電路: 如下列圖:圖表11圖表 SEQ 圖表 *

13、 ARABIC 11過零檢測工作原理:經(jīng)變壓器次級得到AB兩點(14V),經(jīng)過D1,D2全波整流后,形成脈動直流波形,電阻分壓后,再經(jīng)過電容濾波,濾去高頻成分;形成C點電壓波形,當C點電壓低于0.7V時,三極管截止, D點為高電平;當C點電壓大于0.7V時,三極管導(dǎo)通,D點為低電平;這樣反復(fù)導(dǎo)通,截止,形成了D點電壓100HZ脈沖波形,通過中斷,檢測電壓零點.以下是C點和D點的電壓波形,如下列圖:圖表12圖表 SEQ 圖表 * ARABIC 12 5V穩(wěn)壓電路原理: 如圖表11所示,經(jīng)變壓器次級得到AB兩點(14V),再經(jīng)過橋堆BR1,形成直流,再經(jīng)過L7805穩(wěn)壓管U2得到5V電壓,兩邊的電

14、容C4,C5是輸入端和輸出端濾波電容,作用是使電壓更加平穩(wěn).:液晶顯示電路:如下列圖:圖表13 LCD12864是漢字圖形點陣液晶顯示模塊,可顯示漢字及圖形,內(nèi)置8192個中文漢字(16*16點陣),128個字符(8*16點陣)及64*256點陣顯示RAM(GDRAM).參數(shù)如下:1.電源:3.3V-5V;2.顯示內(nèi)容:128列*64行;3.顯示顏色:黃綠;4.顯示角度:6:00鐘直視;5.LCD類型:STN;6.與MCU接口:8位或4位并行;7.軟件功能:光標顯示,畫面移位,自定義字符,睡眠模式等;*圖表 SEQ 圖表 * ARABIC 13 I/O口說明 1.圖中的CS1和CS2為背光源負

15、極和正極,中間可以串一個可調(diào)電阻,調(diào)節(jié)背光的明暗.2.圖中的VCCT和GND為模塊的正極和負極,是給液晶顯示的工作電源3.圖中的VO為LCD驅(qū)動電源輸入端,空腳4.圖中的RS5.6.7.圖中的DB0DB7為數(shù)據(jù)口,接P0口8.圖中的RST為復(fù)位信號,低電平有效,這里直接接VCC.9.圖中的-VOUT為并/串口接口選擇端,高電平為并行,低電平為串口,這里直接接VCC工作時序 因為在本系統(tǒng)中,我用的是并行數(shù)據(jù)口,并且只寫數(shù)據(jù),所以下面只介紹8位并行寫數(shù)據(jù)到模塊的時序圖 如下列圖:圖表14圖表 SEQ 圖表 * ARABIC 14 如果要將一個字節(jié)的數(shù)據(jù)寫入,首先要說明的是,把數(shù)據(jù)寫入液晶里又分為寫

16、數(shù)據(jù)和寫地址.寫地址是:是指我等下要在液晶的哪個位置要顯示地址數(shù)(十六進制數(shù))寫數(shù)據(jù)是:是指我要讓液晶屏幕要顯示的字的代碼數(shù)據(jù)(十六進制數(shù))工作時序如下:首先將R/W拉低電平,如果是寫數(shù)據(jù), RS拉低電平,如果是寫指令,那么RS拉高電平,其他的都一樣,再將E拉電平,再把數(shù)據(jù)送到P0口,再把E拉高,此時,就在E為一個上升沿脈沖時,把數(shù)據(jù)寫入了液晶,再延時10MS(這里就省去了檢測忙標志),等液晶忙完,再把E拉低電平,準備寫下一位,再把RW拉高,目地是防止誤操作,因為只有在RW為低電平時,才能寫數(shù)據(jù)到液晶里.這樣就完成了數(shù)據(jù)的寫入. 流量檢測電路:如下列圖 為水流開關(guān)實物圖:圖表15在生活中,快熱

17、式電熱水器正常工作流量一般都為4升/分鐘左右,而本流量開關(guān)最大支持10升/分鐘,完全可以滿足要求. 圖表 SEQ 圖表 * ARABIC 15工作原理:當水流開關(guān)內(nèi)有水流動(只有按下電源開關(guān)時,電磁閥導(dǎo)通,才有水流動),水流量1.2L/MIN時,水流開關(guān)內(nèi)的磁芯受水流推動產(chǎn)生位移,磁芯位移帶動磁源產(chǎn)生磁控作用使水流開關(guān)輸出“通信號,該信號輸入設(shè)備控制系統(tǒng),經(jīng)控制系統(tǒng)實現(xiàn)控制作用,當水流小于啟動流量時,水流開關(guān)輸出“斷信號,控制系統(tǒng)產(chǎn)生與上述相反的控制作用.用途:根據(jù)開關(guān)控制方式的不同,可用于出水通電或出水斷電兩種方式。即可用于快速式電熱水器通水通電控制及貯水式電熱水器出水斷電控制,工作參數(shù):額

18、定工作水壓:0.7PMpa 最高工作溫度: 95最小啟動流量:1.2L/MIN 最大工作流量: 10L/MIN適宜工作溫度:590 負載工率: 10W詳細資料請參照: HYPERLINK :/b2b.hc360 /supplyself/25832756.html 注意:在我自己動手做的電路板上,我用的是一個按鍵開關(guān)代替的.接的是單片機的P2.0口 如下列圖:圖表16圖表 SEQ 圖表 * ARABIC 163.6 報警電路: 如下列圖:圖表17工作原理:采用5v有源式蜂鳴器,通過三極管Q3控制蜂鳴器,當P2.1為高電平,三極管截止,蜂鳴器不報警,當P2.1為低電平時,三極管導(dǎo)通,蜂鳴器報警.圖

19、表 SEQ 圖表 * ARABIC 173.7 單片機的選擇:如下列圖:圖表18圖表 SEQ 圖表 * ARABIC 18AT89S51是一個低功耗,高性能CMOS 8位單片機,片內(nèi)含4k ByteSISP (In-system programmable)的可反復(fù)擦寫1000次的FLASH只讀程序存儲器,器件采用ATMEL公司的高密度、非易失性存儲技術(shù)制造,兼容標準MCS-51指令系統(tǒng)及80C51引腳結(jié)構(gòu)MHZ晶振,手動加上電復(fù)位.為了更好的防干擾,晶振的外殼接地,另外還在5V與地之間加一個無級電容.主要性能特點:1、4k Bytes Flash片內(nèi)程序存儲器; 2、128 bytes的隨機存

20、取數(shù)據(jù)存儲器RAM; 3、32個外部雙向輸入/輸出I/O口; 4、5個中斷優(yōu)先級、2層中斷嵌套中斷; 5、6個中斷源; 6、2個16位可編程定時器/計數(shù)器; 7、2個全雙工串行通信口; 8、看門狗WDT電路; 9、片內(nèi)振蕩器和時鐘電路; 10、與MCS-51兼容; 11、全靜態(tài)工作:0Hz-33MHz; 12、三級程序存儲器保密鎖定; 13、可編程串行通道; 14、低功耗的閑置和掉電模式。 4 控制系統(tǒng)的軟件設(shè)計快熱式電熱水器溫度控制系統(tǒng)程序是由MCS-51單片機C語言編寫,整個程序主要由8個子函數(shù)組成,分別是2個延時函數(shù)(毫秒級和微秒級),一個寫液晶數(shù)據(jù)函數(shù),一個寫液晶指令(地址)函數(shù),一個

21、寫DS18B20數(shù)據(jù)函數(shù),一個讀DS18B20數(shù)據(jù)函數(shù),一個復(fù)位DS18B20的函數(shù).一個初始化函數(shù) (不包括中斷函數(shù));經(jīng)過組合:得到如下3大函數(shù),再加上中斷函數(shù)(3個)一共可分為4大函數(shù).分別如下:1:初始化函數(shù), (void init ()這里面包括了液晶的初始化設(shè)置,和進入系統(tǒng)后,液晶要固定顯示的字符,中斷的設(shè)置;掃描按鍵和溫度2:顯示DS18B20溫度的函數(shù),( void cs18wd()這里面主要包括了要讀取溫度,顯示當前溫度,超溫報警,控制總中斷等3:設(shè)置函數(shù),( void sz()這里面包括了按鍵的掃描,設(shè)置檔位,設(shè)置設(shè)定溫度,電磁閥的控制,液晶的顯示,蜂鳴器的控制等4:中斷函

22、數(shù)(三個),這里面包括了,過零檢測信號,給T0,T1,賦初值,給雙向可控硅導(dǎo)通信號等4.1 主程序 整個程序的流程圖如下:圖表19系統(tǒng)在上電復(fù)位后,先對溫度存放器、檔位存放器賦默認值,設(shè)置定時器及中斷系統(tǒng)的工作方式等初始化工作。由于51系列單片機沒有停機指令,我們可以利用主程序設(shè)置死循環(huán)反復(fù)運行各個任務(wù)。我們把有實時要求的子程序顯示掃描、按鍵掃描放在循環(huán)中.下面將詳細介紹整個程序的流程圖表 SEQ 圖表 * ARABIC 194.2 顯示溫度函數(shù):包括了讀溫度,控制總中斷,超溫報警,液晶顯示當前溫度等,如下列圖:圖表20圖表 SEQ 圖表 * ARABIC 20設(shè)置函數(shù) :包括了設(shè)置檔位,設(shè)置

23、設(shè)定溫度,蜂嗚器的控制,電磁閥的控制,液晶實時顯示(二行設(shè)定溫度顯示,三行檔位顯示,第四行的狀態(tài)提示等),如下列圖:圖表21圖表 SEQ 圖表 * ARABIC 214.4 中斷子函數(shù)程序即加熱控制程序:這里面包括了三個中斷子程序,分別是外部中斷INT0,和定時器T0,定時器T1,他們在時序上有非常嚴格的要求,不可能在同一時刻發(fā)生兩個中斷,如下列圖:圖表22圖表 SEQ 圖表 * ARABIC 22五、在調(diào)試過程中遇到的問題:1調(diào)試時,發(fā)現(xiàn)溫度有時候會跳變,即溫度會閃一樣,后來發(fā)現(xiàn),我試著關(guān)掉中斷,溫度就不會跳變, 原因是,在讀DS18B20溫度時,發(fā)生了中斷,影響讀到的溫度值,解決方法:看圖

24、表12,D點的圖形,因為中斷是下降沿觸發(fā),我把讀溫度的時間提前到上升沿開始讀溫度,這樣就和發(fā)生中斷的時間錯開了,問題得到解決.2 調(diào)試時,發(fā)現(xiàn)按鍵反響太慢,按下去,有時單片機都沒有反響,后來發(fā)現(xiàn),原因是液晶在不停的實時顯示當前狀態(tài),占用了大量了時間,導(dǎo)致單片機處理速度過慢,解決方法:在每次液晶要顯示當前的數(shù)據(jù)時,先判斷當前的數(shù)據(jù)是否和上次顯示的數(shù)據(jù)一樣,如果上,就跳過本次顯示,否那么就顯示當前數(shù)據(jù).這樣,問題得到解決.3 在調(diào)試時,發(fā)現(xiàn)燈不亮,用示波器檢測有100HZ頻率,發(fā)生了中斷,但亮還是不亮,原因是發(fā)生中斷T0時,給光耦一個低電平,馬上又給一個高電平,這樣,給可控硅的導(dǎo)通信號寬度不夠,所

25、以沒有亮,解決方法:本來想用延時函數(shù)來解決寬度不夠,但考慮到這樣占用了單片機的時間,所以決定用定時器T1來解決這個問題,這樣,問題得到解決.4 調(diào)試時,發(fā)現(xiàn)燈閃,不管在哪個檔位,都有點閃,閃的頻率不一樣,后來發(fā)現(xiàn),原因是我在書寫的時候是先寫TL0后寫TH0,后來在改動初值時,沒看清楚,以為上面是TH0,下面是TL0,這樣,賦值就搞反了.雖然這是我粗心大意搞錯了,但花了我4天的時間才搞清楚,我覺得有必要寫出來,以給自己一個警鐘,下次一定要養(yǎng)成一個良好的習(xí)慣,細心點,解決方法:把他改正來就好了,問題得到解決六、結(jié)束語經(jīng)過了四個多月的學(xué)習(xí)和制作,我終于完成了本設(shè)計和模擬實物制作.從開始自學(xué)C語言到系

26、統(tǒng)實物實現(xiàn),每一步對我來說都是新的嘗試和挑戰(zhàn),這也是我在學(xué)完各個技師模塊后完成的最大工程,在這段時間里,我學(xué)到了很多知識也有很多感受.這次完成論文的經(jīng)歷,我便深深地感受到了理論和實際結(jié)合的重要性,在整個過程中,我的動手能力和專業(yè)知識的運用能力得到了加強,同時,也從中學(xué)習(xí)到如何去思考和解決問題,以及如何靈活的改變方法去實現(xiàn)設(shè)計方案,通過此次設(shè)計,穩(wěn)固了我的專業(yè)知識,增強了我產(chǎn)品開發(fā)意識,使我的人生又得到了一次很好的鍛煉時機.在此我要對指導(dǎo)老師的衷心感謝,感謝他在該系統(tǒng)改良過程中耐心的指正、廢寢忘食的和我們一起研討、處理改良過程中遇到的問題。謝謝!七、參考文獻趙建領(lǐng),薛園園主編.51單片機開發(fā)與應(yīng)

27、用技術(shù)詳解.北京:2.寧戈,黃鶴松,員玉良,蔣海峰主編.51單片機應(yīng)用開發(fā)范例大全.北京:人發(fā)郵電出版社.2021年2月主9年1月4.胡斌,胡松主編.圖表細說元器件及實用電路.第二版.北京:電子工業(yè)出版社.2021年1月5.張大明主編. 單片機微機控制應(yīng)用技術(shù)實操指導(dǎo)書.北京:6.來清民主編.傳感器與單片機接口實例.北京:八、附錄:附錄1 程序清單:#include#define uint unsigned int#define uchar unsigned charsbit rs12=P10; /12864rssbit e12=P11; /12864esbit rw12=P12; /1286

28、4rwsbit moc30=P13; /MOC3023,低電平有效sbit jdq=P14; /繼電器,低電平有效sbit szj=P15; /設(shè)置鍵 低電平有效sbit xxt=P16; /向下調(diào) 低電平有效sbit xst=P17; /向上調(diào) 低電平有效sbit kgj=P20; /電源開關(guān)鍵 低電平有效sbit glgc=P32; /過零檢測,要開中斷sbit fmq=P21; /蜂明器低電平有效sbit dykg=P22; /電源開關(guān)低電平有效sbit dcf=P24; /電磁閥輸出低電平有效sbit dq18=P23; /18b20dqchar wdbj=37,i=0,dw=5,q=

29、0,w,e,r;/q為溫度,w為檔位,e為四行提示,r為設(shè)定報警char dqwd=當前溫度;char sdwd=設(shè)定溫度;char dqdw=當前檔位;char yxzt=運行狀態(tài);char yq1=溫度 ;char yq2=按上下鍵調(diào);char yq3=檔位 ;char yq5=常;char yq6=故障;char yq4=停止;uint x,y;for(x=mms;x0;x-)for(y=110;y0;y-);/延時N微秒時,(N-5)/2while(-uus);void w12864dz(uchar dz) /12864寫地址 rw12=0; rs12=0; /寫指令RS為低 e12=

30、0; /寫之前E為低 P0=dz; /準備好指令 e12=1; /上升沿將指令寫進去 ms(10); /等他忙完 e12=0; /將他拉低,準備下次再寫入 ms(10); /還是等他忙完,平安起見 rw12=1; void w12864sj(uchar sj) /12864寫數(shù)據(jù) rw12=0; rs12=1; /寫數(shù)據(jù)時RS為高電平 e12=0; /拉低 P0=sj; /準備好要顯示的數(shù)據(jù) e12=1; /拉高,上升沿時將數(shù)據(jù)寫入 ms(10); /等他忙完,省去檢查忙標志 e12=0; /拉低,做準備寫下一位 ms(10); /等他忙完,平安 rw12=1;void init12864()

31、 /初始化12864uchar a;w12864dz(0 x30);/根本指令操作us(4);/要大于100US以上w12864dz(0 x30);/根本指令操作us(2);/要大于37US以上w12864dz(0 x0c);/設(shè)置翻開屏幕顯示,光標顯示,光標閃us(4);/要大于100US以上w12864dz(0 x01);/清屏ms(20);/要大于10MS以上w12864dz(0 x06); /指定在寫入或讀取時,光標的移動方向us(4);/這個延時隨意,可以不要,平安w12864dz(0 x80);/以下是把液晶上不要動的數(shù)據(jù)寫上去for (a=0;a8;a+)w12864sj(dqw

32、da); /顯示當前溫度w12864sj(0 xa1); /:w12864sj(0 xc3);/w12864dz(0 x85);w12864sj(-);w12864sj(-);/w12864dz(0 x86);w12864sj(0 xA1); /cw12864sj(0 xE6);w12864dz(0 x90);for (a=0;a8;a+)w12864sj(dqdwa); /顯示當前檔位w12864sj(0 xa1); /:w12864sj(0 xc3);w12864dz(0 x96);w12864sj(0 xb5); /檔w12864sj(0 xb5);w12864dz(0 x88);for

33、 (a=0;a8;a+)w12864sj(sdwda); /顯示設(shè)定溫度w12864sj(0 xa1); /:w12864sj(0 xc3);w12864dz(0 x8e);w12864sj(0 xA1); /.cw12864sj(0 xE6);w12864dz(0 x98);for (a=0;a8;a+)w12864sj(yxzta);/顯示運行狀態(tài)w12864sj(0 xa1); /顯示:w12864sj(0 xc3); /for (a=0;a4;a+)w12864sj(yq4a); /顯示停止void fwds18()/1820復(fù)位dq18= 1; /先拉高dq18= 0; /再拉低us

34、(247); /延時dq18=1; /放開dq18us(27); /延時if(dq18= 0) /判斷是否復(fù)位成功while(dq18 = 0);/ 復(fù)位成功后 等他自動拉高void wds18(uchar xs)/寫1820數(shù)據(jù)uchar g;for(g=0;g=1;/準備寫入下一位uint rds18()/讀1820數(shù)據(jù)uint r18sj;uchar z,x=0;fwds18(); / 復(fù)位18wds18(0 xcc); /跳過ROMwds18(0 x44); /開始溫度轉(zhuǎn)換us(372); /等溫度轉(zhuǎn)換完fwds18(); /再次復(fù)位18wds18(0 xcc); /再次跳過ROMwd

35、s18(0 xbe); /下面是讀16位數(shù)的溫度r18sj=0 x00;/for(z=0;z=1; /小延時dq18=0; /us(1); /延時 dq18=1;/放開dq18us(1); /延時 if(dq18) /讀1位數(shù)據(jù) r18sj|=0 x8000; /把讀到這位數(shù)據(jù)放到DS里us(17); /延時dq18=1; /放開dq18x+; /小延時return r18sj; /返回讀到數(shù)據(jù)void cs18wd() /顯示18溫度uchar b=0,c=0,d=0;while(glgc=0); /與中斷時間分開b=rds18()/16;q=b; /把溫度送給全局變量qif(b99)c=(

36、b-100)/10;d=(b-100)%10;if(b100) c=b/10;d=b%10;if(q69) /故障情況下顯示當前溫度w12864dz(0 x85);w12864sj(0 x30+c);w12864sj(0 x30+d);if(bwdbj) /設(shè)定溫度到了,停掉發(fā)熱管,EA=0;moc30=1;if(b2)/i=0;if(szj=0)/fmq=0; /蜂明器低電平有效ms(6);while(szj=0);i+;if(i=1)/if(xxt=0)fmq=0;/蜂明器低電平有效ms(6);while(xxt=0);wdbj+;if(xst=0)fmq=0;/蜂明器低電平有效ms(6)

37、;while(xst=0);wdbj-;if(i=2) /if (xxt=0)fmq=0; /蜂明器低電平有效ms(6);while(xxt=0);dw+ ;if(xst=0)fmq=0; /蜂明器低電平有效ms(6);while(xst=0);dw-;if(wdbj65) /最高溫度65最低1wdbj=65;if(wdbj1)/wdbj=1;/以下是顯示設(shè)定溫度值if(r!=wdbj)w12864dz(0 x8d);w12864sj(0 x30+wdbj/10);w12864sj(0 x30+wdbj%10);r=wdbj;/根據(jù)檔位,顯示檔位if(dw6)/dw=6; /以下是顯示對應(yīng)該的

38、大寫if(w!=dw) /判斷檔位沒有改變 有就顯示否那么不顯示w12864dz(0 x95);if(dw=1)w12864sj(0 xd2);w12864sj(0 xbb);if(dw=2)w12864sj(0 xb6);w12864sj(0 xfe);if(dw=3)w12864sj(0 xc8);w12864sj(0 xfd);if(dw=4)w12864sj(0 xcb);w12864sj(0 xc4);if(dw=5)w12864sj(0 xce);w12864sj(0 xe5);if(dw=6)w12864sj(0 xc1);w12864sj(0 xf9);if(dw=0)w128

39、64sj(0 xc1);w12864sj(0 xe3);w=dw;/*/以下是第四行的顯示if(q70)if(i=2)if(e!=1) /當i=2時,提示只顯示一次w12864dz(0 x98);for (f=0;f10;f+)w12864sj(yq2f);/顯示按上下鍵調(diào)for (f=0;f4;f+)w12864sj(yq3f); /檔位e=1;if(q70)if(i=1)if(e!=2) /當i=1時,提示只顯示一次w12864dz(0 x98);for (f=0;f10;f+)w12864sj(yq2f);/顯示按上下鍵調(diào)for (f=0;f4;f+)w12864sj(yq1f); /顯示溫度e=2;/只有在繼電器導(dǎo)通下,和I=0沒有設(shè)置的時候要顯示的提示if(q70)if(jdq=0) /在繼電器導(dǎo)通下if(i=0) /在沒有設(shè)置的時候,沒有按設(shè)置鍵時if(e!=3)w12864dz(0 x98);for (f=0;f8;f+)w12864sj(yxztf);/

溫馨提示

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

評論

0/150

提交評論