版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p> 學(xué)科分類號: 08 </p><p><b> 本科生畢業(yè)設(shè)計</b></p><p> 題 目:基于單片機的電熱水器設(shè)計</p><p> 學(xué)生姓名: 學(xué)號 </p><p> 系 部: 通信與控制工程系 </p&
2、gt;<p> 專業(yè)年級: 09級 電信本二班 </p><p><b> 目 錄</b></p><p><b> 第一章 緒論1</b></p><p> 1.1 論文背景與意義1</p><p> 1.2 研究現(xiàn)狀和趨勢1</p>
3、<p> 1.3 論文研究內(nèi)容和重點2</p><p> 1.4 論文組織結(jié)構(gòu)2</p><p> 第二章 總體設(shè)計3</p><p> 2.1 總體設(shè)計方案3</p><p> 2.2 方案論證4</p><p> 2.3 主要元器件的介紹4</p><p>
4、 2.3.1 微控制器模塊4</p><p> 2.3.2 數(shù)字溫度傳感器DS18B20介紹5</p><p> 2.3.3 LED數(shù)碼管顯示8</p><p> 2.3.4 固態(tài)繼電器11</p><p> 第三章 硬件系統(tǒng)設(shè)計12</p><p> 3.1電源電路12</p>
5、<p> 3.2復(fù)位電路和復(fù)位狀態(tài)13</p><p> 3.3 鍵盤接口電路15</p><p> 3.4溫度檢測電路16</p><p> 3.5 溫度顯示電路16</p><p> 3.6 自動報警電路17</p><p> 第四章 軟件系統(tǒng)設(shè)計18</p>&
6、lt;p> 4.1主程序流程框圖18</p><p> 4.2讀溫度子程序流程圖19</p><p> 4.3顯示子程序流程圖20</p><p> 4.4自動報警子程序流程圖21</p><p><b> 第五章 調(diào)試22</b></p><p> 5.1模塊調(diào)試2
7、2</p><p> 5.1.1溫度檢測模塊及顯示模塊的調(diào)試22</p><p> 5.1.2報警模塊調(diào)試22</p><p> 5.1.3加熱模塊調(diào)試23</p><p> 5.2調(diào)試過程中發(fā)現(xiàn)的問題及解決的方案24</p><p><b> 結(jié) 論25</b></p&
8、gt;<p><b> 致 謝26</b></p><p><b> 參考文獻27</b></p><p> 附件一:原理圖28</p><p><b> 附件二:程序29</b></p><p> 基于單片機的電熱水器設(shè)計</p>
9、<p> 摘要:這次的設(shè)計采用ATEML公司生產(chǎn)的AT89C52單片機為核心來設(shè)計智能電熱水器。本設(shè)計利用單片機、溫度傳感器、自動報警等來完成本設(shè)計。設(shè)計分成兩個部分,在硬件設(shè)計方面,主要對單片機最小系統(tǒng)及其擴展、電源電路、按鍵及接口電路、LED顯示電路、水溫檢測電路、加熱電路等進行了詳細介紹。還詳細介紹了設(shè)計中應(yīng)用到的主要芯片的性能和特點,包括AT89C52、DS18B20等。在軟件設(shè)計方面,采用C語言編程,是由于其易
10、于為單片機所識別,執(zhí)行速度快。該智能電熱水器設(shè)計完善,實現(xiàn)方案簡單易行。采用軟件設(shè)計來控制,可以實現(xiàn)檢測水溫及自動報警、加熱,并且提高了整機的可靠性及準確性、安全性。</p><p> 關(guān)鍵詞:單片機; 電熱水器; </p><p> Design of electric water heater based on MC</p><p> ABSTRACT:T
11、his design as the core to design intelligent electric water heater using ATEML's AT89C52 microcontroller. The design of single-chip microcomputer to control the possibility of realizing intelligent electric water hea
12、ter is analyzed, the automatic alarm to complete the design, using the temperature sensor. The two part of the design is divided into, in the aspect of hardware design, mainly has carried on the detailed introduction to
13、the smallest single-chip system and its extension, pow</p><p> Keywords:single-chip microcomputer; Electric water heater; intelligence; </p><p><b> 第一章 緒論</b></p><p>
14、; 1.1 論文背景與意義</p><p> 我國是熱水器生產(chǎn)大國,由于消費水平的提高和人們對生活品質(zhì)要求的提高,熱水器已由一個高檔的奢侈品成為一種必備的家庭用具,受到越來越多人的青睞。然而熱水器的種類很多,按能源分類熱水器可分為電熱水器、太陽能熱水器和燃氣熱水器 。太陽能熱水器就是以太陽能作為能源進行加熱的熱水器,它節(jié)能環(huán)保,但是安裝復(fù)雜,并且受到安裝場所的制約,只有有些家庭可以安裝,而北方由于天氣原因,使
15、用此熱水器的就更少了;燃氣熱水器小巧,品種多,而且污染小,是目前最為常用的熱水器產(chǎn)品之一,但如果家里之前沒有安裝過,重新安裝比較麻煩,需要進行燃氣和水的管道改造;電熱水器安裝簡單,不受氣候、場所的限制,以其方便,安全無污染,保溫時間長等優(yōu)勢受到越來越多人的認可。電熱水器看似簡單,實際卻是很難做好的一種家用電器,它的各個部分的設(shè)計如控制系統(tǒng)、水路、內(nèi)膽制造、外殼、防燙傷裝置等,都制約著電熱水器的性能和發(fā)展。根據(jù)最新統(tǒng)計,目前熱水器(包括燃
16、氣、電、太陽能等)在中國城鎮(zhèn)家庭中的普及率已達到75%,成為繼彩電、洗衣機、冰箱、空調(diào)之后的第五大家用電器。在產(chǎn)銷量大幅增長的同時,整個熱水器行業(yè)的技術(shù)含量也在同步提升。而電熱水器已經(jīng)成為今后熱</p><p> 1.2 研究現(xiàn)狀和趨勢</p><p> 電熱水器分為即熱式和儲水式兩種,就是用電加熱水的一種裝置。即熱式電熱水器,也叫快熱式電熱水器,指近幾年一些生產(chǎn)廠家自行研制的專利產(chǎn)品
17、或國外進口的技術(shù)含量較高的一些產(chǎn)品。不但具有能夠即開即熱,省時省電,節(jié)能環(huán)保等諸多優(yōu)點,更是因其具有比普通電熱水器更為可觀的經(jīng)濟效益,越來越受到廣大家電生產(chǎn)廠家和經(jīng)銷商的青睞。</p><p> 在熱水器的發(fā)展過程中,安全技術(shù)成為帶動整個行業(yè)向上提升的決定性力量。除了對耐用性的要求不斷追求,智能是今后技術(shù)發(fā)展的一個總體趨勢,智能化技術(shù)的運用有兩個好處。一是更加方便,二是更加節(jié)能,按照用戶的使用習(xí)慣提前預(yù)先加熱,
18、讓使用者隨心所欲享用熱水,而在非用水時間則啟動中溫保溫方程式,根據(jù)設(shè)定溫度計算出最節(jié)能的保溫溫度,減少熱水器內(nèi)外溫差,因而盡可能減少保溫加熱次數(shù),真正做到更加省電。</p><p> 1.3 論文研究內(nèi)容和重點</p><p> 硬件電路的設(shè)計主要包含溫度測量、溫度顯示、復(fù)位、微控制器四個模塊。這是整個設(shè)計中最最關(guān)鍵的部分,只有在硬件的平臺上,電熱水器才能實現(xiàn)預(yù)期的功能。</p&
19、gt;<p> 溫度測量主要是通過溫度傳感器獲取水的溫度,當(dāng)正常工作時溫度傳感器將一直檢測水的實時溫度,當(dāng)溫度達到預(yù)設(shè)的溫度時,蜂鳴器發(fā)出警報。溫度顯示主要單片機通過接收溫度傳感器的信息來控制數(shù)碼管的顯示。復(fù)位系統(tǒng)主要是對單片機的一個復(fù)位更新的作用。</p><p> 而整個硬件部分的主核心就是微控制器(也就是AT89C52),對整個電路系統(tǒng)的一個控制與信息的轉(zhuǎn)換。使得電熱水器能夠更加智能,方便
20、。</p><p> 1.4 論文組織結(jié)構(gòu)</p><p> 全文共分五章,具體安排如下。</p><p> 第一章緒論。介紹了電熱水器的研究背景,研究意義和研究現(xiàn)狀,最后介紹了本文的主要研究內(nèi)容。</p><p> 第二章總體方案。系統(tǒng)硬件概述,系統(tǒng)原理圖設(shè)計并介紹單片機的接口應(yīng)用。</p><p> 第三
21、章系統(tǒng)硬件。介紹溫度測量、溫度顯示、水位監(jiān)測、按鍵電路、加熱電路、電源電路主要的五個部分。 </p><p> 第四章系統(tǒng)軟件。分析了溫度監(jiān)測流程,溫度顯示流程、溫度設(shè)定及按鍵流程。</p><p> 第五章調(diào)試。對硬件以及軟件結(jié)合后的一個總體的調(diào)試過程分析。</p><p><b> 第二章 總體設(shè)計</b></p>&l
22、t;p> 2.1 總體設(shè)計方案</p><p> 電熱水器控制系統(tǒng)的整體設(shè)計方案主要包括硬件設(shè)計方案和軟件設(shè)計方案。硬件是指以AT89C52作為整個控制系統(tǒng)的核心,再外接溫度信號采集電路、實時時鐘電路、熱水器加熱控制開關(guān)、LED顯示電路、鍵盤、復(fù)位與看門狗電路組成。根據(jù)本設(shè)計所需要的電熱水器功能的需求,在節(jié)約開發(fā)成本、增加系統(tǒng)安全及可靠性、減小體積等原則下進行電熱水器控制系統(tǒng)的硬件設(shè)計。其系統(tǒng)硬件框圖如
23、圖2.1所示。</p><p> 圖2.1 系統(tǒng)硬件框圖</p><p> 系統(tǒng)主要采用52單片機AT89C52作為整個控制系統(tǒng)的主控模塊,利用AT89C52的引腳連接其他的外部電路。對于溫度的測量根據(jù)其環(huán)境的特殊性,溫度信號的采集主要由DS18B20直接對溫度進行檢測并把信息反饋到單片機進行顯示控制;鍵盤主要是用來設(shè)定開機時間、設(shè)定熱水溫度、定時加熱時間、校準時鐘,因此需設(shè)定四個按鍵
24、;而為了調(diào)高系統(tǒng)的性能,系統(tǒng)采用了看門狗復(fù)位電路;對于溫度及實時時鐘的顯示選擇以LED數(shù)碼管作為LED顯示電路。</p><p><b> 2.2 方案論證</b></p><p> 對于電熱水器來說,硬件系統(tǒng)是它的最基本的框架,是系統(tǒng)的所有功能的基礎(chǔ)。硬件的選擇和所選硬件的性能對系統(tǒng)的功能實現(xiàn)以及系統(tǒng)的精度都有直接的影響,系統(tǒng)的設(shè)計成功與否很大程度上取決于硬件系
25、統(tǒng)的設(shè)汁與制作。而溫度時整個熱水器的一個核心,所以溫度的采集至關(guān)重要,將影響溫度的顯示及自動報警燈模塊,以下是就溫度采集硬件部分的方案的比較。</p><p><b> 方案一:</b></p><p> 采用熱電式傳感器對溫度進行采集;熱電式傳感器是將溫度變化轉(zhuǎn)化為電量變化的裝置,它利用敏感元件的電磁參數(shù)隨溫度變化而變化的特性來達到測量目的。通常把被測溫度的變化
26、轉(zhuǎn)換為敏感元件的電阻變化、電勢的變化,再經(jīng)過相應(yīng)的測量電路輸出電壓或電流,然后由這些參數(shù)的變化來檢測對象的溫度變化。熱敏電阻具有靈敏度高、體積小、較穩(wěn)定、制作簡單、壽命長、易于維護、動態(tài)特性好等優(yōu)點。但有變化率非線性,不適合測量高溫區(qū)等缺點。</p><p><b> 方案二:</b></p><p> 采用DS18B20進行溫度的采集;DS18B20,直接將溫度
27、轉(zhuǎn)換為數(shù)字信號傳送給單片機。電路簡單,采集數(shù)據(jù)精確,溫度采集范圍在-55℃~+125℃,適合我們設(shè)計所需。</p><p> 2.3 主要元器件的介紹</p><p> 本畢業(yè)設(shè)計主要用的的元器件包含微控制模塊(AT89C52)、數(shù)字溫度傳感器(DS18B20)、LED數(shù)碼管顯示、固態(tài)繼電器等,以下是對主要元器件的一個介紹:</p><p> 2.3.1 微控
28、制器模塊 </p><p> 本系統(tǒng)主要是使用AT89C52現(xiàn)有的引腳連接外部的其它硬件電路,而由于對實時性和微控制器的處理速度要求不高,因此選擇了具有低電壓、高性能的AT89C52單片機。它是一個CMOS工藝的8位單片機,片內(nèi)含有8KB的掩膜ROM和256個隨機存取存儲器(RAM)單元,8位的通用中央處理器(CPU)和閃速存儲單元,并且與52系列的其它產(chǎn)品有很好的引腳兼容,因此是一種性價比較高的單片機。 AT
29、89C52主要性能說明如下:32個I/O口線;片內(nèi)有8KB閃速存儲器,256B內(nèi)部隨機存取存儲器RAM;3個16位定時/計數(shù)器,用于實現(xiàn)定時或計數(shù)功能;中斷系統(tǒng)為一個6向量兩級中斷結(jié)構(gòu);一個可編程全雙工串行通信口;片內(nèi)振蕩器及時鐘電路,全靜態(tài)工作方式。具有全靜態(tài)工作方式表明它不一定要求連續(xù)的時鐘定時,在等待內(nèi)部事件期間,時鐘頻率可降至0Hz的靜態(tài)邏輯操作[1]。 AT89C52的功能引腳說明:P0口是一組8位漏極開路型雙向I/O口,也即
30、地址/數(shù)據(jù)總線復(fù)用口;P1、P2、P3是一個帶內(nèi)部上拉電阻的8位雙向I/O口,其輸出緩沖級可驅(qū)動(吸收或輸出電流)4個TTL邏輯門電路,而P3口除了作為一般的I/O口線外,更重</p><p> 2.3.2 數(shù)字溫度傳感器DS18B20介紹</p><p> DS18B20的主要特性:</p><p> 1、適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生
31、電源方式下可由數(shù)據(jù)線供電 。</p><p> 2、獨特的單線接口方式,DS18B20在與微處理器連接時僅需要一條口線即可實現(xiàn)微處理器與DS18B20的雙向通訊 。</p><p> 3、DS18B20由多個DS18B20可以并聯(lián)在唯一的三線上,實現(xiàn)組網(wǎng)多點測溫。 </p>&
32、lt;p> 4、DS18B20在使用中不需要任何外圍元件,全部 傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。</p><p> 5、溫范圍-55℃~+125℃,在-10~+85℃時精度為±0.5℃ 。</p><p> 6、可編程的分辨率為9~12位,對應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實現(xiàn)高精度測溫。</p>
33、;<p> 7、在9位分辨率時最多在 93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。</p><p> 8、測量結(jié)果直接輸出數(shù)字溫度信號,以”一 線總線”串行傳送給CPU,同時可傳送CRC校驗碼,具有極強的抗干擾糾錯能力。 </p><p> 9、負壓特性:電源極性接反時,芯片不會因發(fā)熱而燒毀, 但不能正常工作。<
34、/p><p> DS18B20工作原理 :</p><p> DS18B20的讀寫時序和測溫原理與DS1820相同,只是得到的溫度值的位數(shù)因分辨率不同而不同,且溫度轉(zhuǎn)換時的延時時間由2s 減為750ms。如圖2.2,圖中低溫度系數(shù)晶振的振蕩頻率受溫度影響很小,用于產(chǎn)生固定頻率的脈沖信號送給計數(shù)器1。高溫度系數(shù)晶振 隨溫度變化其振蕩率明顯改變,所產(chǎn)生的信號作為計數(shù)器2的脈沖輸入。計數(shù)器1和溫
35、度寄存器被預(yù)置在-55℃所對應(yīng)的一個基數(shù)值。計數(shù)器1對 低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當(dāng)計數(shù)器1的預(yù)置值減到0時,溫度寄存器的值將加1,計數(shù)器1的預(yù)置將重新被裝入,計數(shù)器1重 新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到計數(shù)器2計數(shù)到0時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即 為所測溫度。斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正計數(shù)器1的預(yù)置值。</p><p&
36、gt;<b> 增加</b></p><p><b> 停止</b></p><p> 圖2.2 DS18B20測溫原理框圖</p><p> DS18B20的應(yīng)用電路 :</p><p> DS18B20測溫系統(tǒng)具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點。下面就是DS18
37、B20幾個不同應(yīng)用方式下的 測溫電路圖:</p><p> DS18B20寄生電源供電方式電路圖 如下面所示,在寄生電源供電方式下,DS18B20從單線信號線上汲取能量:在信號線DQ處于高電平期間把能量儲存在內(nèi)部 電容里,在信號線處于低電平期間消耗電容上的電能工作,直到高電平到來再給寄生電源(電容)充電。 </p><p> 獨特的寄生電源方式有三個好處:(1)進行遠距離測溫時,無需本
38、地電源;(2)可以在沒有常規(guī)電源的條件下讀取ROM ;(3)電路更加簡潔,僅用一根I/O口實現(xiàn)測溫。 </p><p> 1、要想使DS18B20進行精確的溫度轉(zhuǎn)換,I/O線必須保證在溫度轉(zhuǎn)換期間提供足夠的能量,由 于每個DS18B20在溫度轉(zhuǎn)換期間工作電流達到1mA,當(dāng)幾個溫度傳感器掛在同一根I/O線上進行多點測溫時,只靠4.7K上拉電阻就無法提供足夠的 能量,會造成無法轉(zhuǎn)換溫度或溫度誤差極大。 </p
39、><p> 因此,圖2.3電路只適應(yīng)于單一溫度傳感器測溫情況下使用,不適宜采用電池供電系統(tǒng)中。并 且工作電源VCC必須保證在5V,當(dāng)電源電壓下降時,寄生電源能夠汲取的能量也降低,會使溫度誤差變大。 </p><p> 圖2.3 寄生電源供電方式</p><p> 2、DS18B20寄生電源強上拉供電方式電路圖 改進的寄生電源供電方式如下面圖5所示,為了使DS18B
40、20在動態(tài)轉(zhuǎn)換周期中獲得足夠的電流供應(yīng),當(dāng)進行溫度轉(zhuǎn)換或拷貝到 E2存儲器操作時,用MOSFET把I/O線直接拉到VCC就可提供足夠的電流,在發(fā)出任何涉及到拷貝到E2存儲器或啟動溫度轉(zhuǎn)換的指令后,必須在最 多10μS內(nèi)把I/O線轉(zhuǎn)換到強上拉狀態(tài)。在強上拉方式下可以解決電流供應(yīng)不走的問題,因此也適合于多點測溫應(yīng)用,缺 點就是要多占用一根I/O口線進行強上拉切換。 </p><p> 3、DS18B20的外部電源供
41、電方式 在外部電源供電方式下,工作電源由VDD引腳接入,此時I/O線不需要強上拉,不存在電源電流不足的問題,可以保證 轉(zhuǎn)換精度,同時在總線上理論可以掛接任意多個DS18B20傳感器,組成多點測溫系統(tǒng)。注意:在外部供電的方式下,DS18B20的GND引腳不能懸空 ,否則不能轉(zhuǎn)換溫度,讀取的溫度總是85℃。 </p><p> 外部電源供電方式是DS18B20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強,而且電路也比
42、較簡單,可以開發(fā)出穩(wěn)定可靠的多點溫度 監(jiān)控系統(tǒng)。站長推薦大家在開發(fā)中使用外部電源供電方式,畢竟比寄生電源方式只多接一根VCC引線。在外接電源方式下, 可以充分發(fā)揮DS18B20寬電源電壓范圍的優(yōu)點,即使電源電壓VCC降到3V時,依然能夠保證溫度量精度。 </p><p> 2.3.3 LED數(shù)碼管顯示</p><p> 在單片機應(yīng)用系統(tǒng)中,如果需要顯示的內(nèi)容只有數(shù)碼和某些字母,使用
43、LED數(shù)碼管是一種較好的選擇。LED數(shù)碼管顯示清晰、成本低廉、配置靈活,與單片機接口簡單易行。</p><p> LED數(shù)碼管是由發(fā)光二極管作為顯示字段的數(shù)碼型顯示器件。圖2.4為0.5inLED數(shù)碼管的外形和引腳圖,其中七只發(fā)光二極管分別對應(yīng)a~g筆段構(gòu)成“”字形另一只發(fā)光二極管Dp作為小數(shù)點。因此這種LED顯示器稱為七段數(shù)碼管或八段數(shù)碼管。</p><p> 圖2.4 LED數(shù)碼
44、管</p><p> LED數(shù)碼管按電路中的連接方式可以分為共陰型和共陽型兩大類,如圖2.4示b、c所示。共陽型是將各段發(fā)光二極管的正極連在一起,作為公共端COM,公共端COM接高電平,a~g、Dp各筆段通過限流電阻接控制端。某筆段控制端低電平時,該筆段發(fā)光,高電平時不發(fā)光??刂七@幾段筆段發(fā)光,就能顯示出某個數(shù)碼或字符。共陰型是將各數(shù)碼發(fā)光二極管的負極連在一起,作為公共端COM接地,某筆段通過限流電阻接高電平時
45、發(fā)光。</p><p> LED數(shù)碼管按其外形尺寸有多種形式,使用較多的是0.5in和0.8in;按顯示顏色也有多種形式,主要有紅色和綠色;按亮度強弱可分為高亮和普亮,指通過同樣的電流顯示亮度不一樣,這是因發(fā)光二極管的材料不一樣而引起的。</p><p> LED數(shù)碼管的使用與發(fā)光二極管相同,根據(jù)其材料不同正向壓降一般為1.5~2V額定電流為10mA,最大電流為40mA。靜態(tài)顯示時取1
46、0mA為宜,動態(tài)掃描顯示可加大,加大脈沖電流,但一般不超過40mA。</p><p> LED數(shù)碼管顯示電路在單片機應(yīng)用系統(tǒng)中可分為靜態(tài)顯示方式和動態(tài)顯示方式。</p><p><b> 1.靜態(tài)顯示方式</b></p><p> 在靜態(tài)顯示方式下,每一位顯示器的字段需要一個8位I/O口控制,而且該I/O口須有鎖存功能,N位顯示器就需要N
47、個8位I/O口,公共端可直接接+5V(共陽)或接地(共陰)。顯示時,每一位字段碼分別從I/O控制口輸出,保持不變直至CPU刷新顯示為止。也就是各字段的亮滅狀態(tài)不變。靜態(tài)顯示方式編程較簡單,但占用I/O口線多,即軟件簡單、硬件成本高,一般適用顯示位數(shù)較少的場合。</p><p> 2.動態(tài)掃描顯示方式</p><p> 當(dāng)要求顯示位數(shù)較多時,為簡化電路、降低硬件成本,常采用動態(tài)掃描顯示電
48、路。所謂動態(tài)掃描顯示電路是將顯示各位的所有相同字段線連在一起,每一位的a段連在一起,b段連在一起…g段連在一起,共8段,由一個8位I/O口控制,而每一位的公共端(共陽或共陰COM)由另一個I/O口控制,由于將多位字段線連在一起,當(dāng)輸出字段碼時,由于多門同時選通,每一位將顯示相同的內(nèi)容。因此要顯示不同的內(nèi)容,必須采取輪流顯示的方式。即在某一瞬間時,只讓某一位的字位線處于選通狀態(tài)(共陰極LED數(shù)碼管為低電平,共陽極為高電平),其他各位的字位
49、線處于開斷狀態(tài),同時字段線上輸出這一位相應(yīng)要顯示字符的字段碼。在這一瞬時,只有這一位在顯示,其他幾位暗。同樣在下一瞬時,單獨顯示下一位,這樣依次輪流顯示,循環(huán)掃描。由于人的視覺滯留效應(yīng),人們看到的是多位同時穩(wěn)定顯示。</p><p> 表2.5共陽極LED數(shù)碼管顯示數(shù)字“0”時各管段編碼</p><p> C0H稱為共陽極LED數(shù)碼管顯示“0”的字段碼,不計小數(shù)點的字段碼稱為七段碼,包
50、括小數(shù)點的字段稱為八段碼。</p><p> 當(dāng)LED數(shù)碼管與單片機相連時,一般將LED數(shù)碼管的各筆段引腳a、b、…、g、Dp按某一順序接到MCS-52型單片機某一個并行I/O口D0、D1、…、D7,當(dāng)該I/O口輸出某一特定數(shù)據(jù)時,就能使LED數(shù)碼管顯示出某個字符。例如要使共陽極LED數(shù)碼管顯示“0”,則a、b、c、d、e、f各筆段引腳為低電平,g和Dp為高電平。</p><p> L
51、ED數(shù)碼管編碼方式有多種,按小數(shù)點計否可分為七段碼和八段碼;按共陰共陽可分為共陰字段碼和共陽字段碼,不計小數(shù)點的共陰字段碼與共陽字段碼互為反碼;按a、b、…、g、Dp編碼順序是高位在前,還是低位在前,又可分為順序字段碼和逆序字段碼。甚至在某些特殊情況下將a、b、…、g、Dp順序打亂編碼。表2.6為共陰和共陽LED數(shù)碼管幾種八段編碼表。</p><p> 表2.6 共陰和共陽LED數(shù)碼管幾種八段編碼</p&
52、gt;<p> 2.3.4 固態(tài)繼電器</p><p> 固態(tài)繼電器是一種有繼電特性的無觸點式電子開關(guān)。具有壽命長、可靠性高、開關(guān)速度快、電磁干擾小、無噪聲、無火花等特點。</p><p> 圖2.5 固態(tài)繼電器原理圖</p><p> 固態(tài)繼電器由三部分組成:輸入電路、隔離(耦合)和輸出電路,在輸入電路控制端加入信號后,IC1光電耦合器內(nèi)光
53、敏三極管呈導(dǎo)通狀態(tài),R1串接電阻對輸入信號進行限流,以保證光耦合器不致?lián)p壞。發(fā)光二極管LED指示輸入端控制信號,二級管VD1可防止輸入信號正負極性接反時對光耦I(lǐng)C1造成的損壞。</p><p> v1在線路中起到交流電壓檢測作用,使固態(tài)繼電器在電壓過零時開啟、負載電流過零時關(guān)斷。當(dāng)IC1光敏三極管截止時(控制端無信號輸入時),V1通過R2獲得基極電流使之飽和導(dǎo)通,從而使SCR可控硅門極觸發(fā)電壓UGT被箝在低電位
54、而處于關(guān)斷狀態(tài),最終導(dǎo)致BTA雙向可控硅在門極控制端R6上無觸發(fā)脈沖而處于關(guān)斷狀態(tài)。</p><p> 第三章 硬件系統(tǒng)設(shè)計</p><p> 單片機應(yīng)用系統(tǒng)的硬件電路設(shè)計包含兩部分內(nèi)容:一是系統(tǒng)擴展,即單片機內(nèi)部的功能單元,如ROM、RAM、I/O、定時器/計數(shù)器、中斷系統(tǒng)等不能滿足應(yīng)用系統(tǒng)的要求時,必須在片外進行擴展,選擇適當(dāng)?shù)男酒?,設(shè)計相應(yīng)的電路。二是系統(tǒng)的配置,即按照系統(tǒng)功能要
55、求配置外圍設(shè)備,如鍵盤、顯示器、打印機、A/D、D/A轉(zhuǎn)換器等,要設(shè)計合適的接口電路。本設(shè)計中只用最小系統(tǒng)加上鍵盤、顯示、ISP接口電路,單片機本身資源可以滿足設(shè)計要求,所以不必對單片機進行擴展。系統(tǒng)的硬件系統(tǒng)以AT89S51單片機為核心,主要分兩部分:直流穩(wěn)壓電源和智能電熱水器控制電路,其原理圖見附錄二。直流穩(wěn)壓電源由變壓器、整流橋、濾波電路、穩(wěn)壓電路組成。智能電熱水器系統(tǒng)由時鐘電路、復(fù)位電路、電源電路、溫度檢測電路、溫度顯示電路、I
56、SP在線編程接口電路鍵盤和顯示接口電路組成。</p><p><b> 3.1電源電路</b></p><p> 由于該系統(tǒng)需要穩(wěn)定的5 V電源,因此設(shè)計時必須采用能滿足電壓、電流和穩(wěn)定性要求的電源。該電源采用三端集成穩(wěn)壓器LM7805。它僅有輸人端、輸出端及公共端3個引腳,其內(nèi)部設(shè)有過流保護、過熱保護及調(diào)整管安全保護電路,由于所需外接元件少,使用方便、可靠,因此
57、可作為穩(wěn)壓電源。</p><p> 圖3.1電源電路連接圖</p><p> 3.2復(fù)位電路和復(fù)位狀態(tài)</p><p> MCS-52單片機的復(fù)位是靠外部電路實現(xiàn)的。MCS-52單片機工作后,只要在它的RST引線上加載10ms以上的高電平,單片機就能夠有效地復(fù)位。</p><p><b> 1)復(fù)位電路</b>&
58、lt;/p><p> MCS-52單片機通常采用上電自動復(fù)位和按鍵復(fù)位兩種方式。最簡單的復(fù)位電路</p><p> 如圖3.2所示。上電瞬間,RC電路充電,RST引線端出現(xiàn)正脈沖,只要RST端保持10ms以上的高電平,就能使單片機有效地復(fù)位。</p><p> 圖 3.2 簡單的復(fù)位電路</p><p><b> 2)復(fù)位狀態(tài)&
59、lt;/b></p><p> 復(fù)位電路的作用是使單片機執(zhí)行復(fù)位操作。復(fù)位操作主要是把PC初始化為0000H,使單片機從程序存儲器的0000H單元開始執(zhí)行程序。程序存儲器的0003H單元即MCS-51單片機的外部中斷0的中斷處理程序的入口地址。留出的0000H~0002H 3個單元地址,僅能夠放置一條轉(zhuǎn)移指令,因此,MCS-52單片機的主程序的第一條指令通常情況下是一條轉(zhuǎn)移指令。除PC之外,復(fù)位還對其他一
60、些特殊功能的寄存器有影響,它們的復(fù)位狀態(tài)如表3.1所示。</p><p> 由表3.1可知,除SP=07H,P0~P3 4個鎖存器均為FFH外,其他所有的寄存器均為0。此外,單片機的復(fù)位不影響片內(nèi)RAM的狀態(tài)(包括通用寄存器Rn)。</p><p> P0、P1、P2、P3共有4個8位并行I/O口,它們引線為:P0.0~P0.7、P1.0~P1.7、</p><p&
61、gt; P2.0~P2.7、P3.0~P3.7,共32條引線。這32條引線可以全部用做I/O線,也可將其中部分用做單片機的片外總線。</p><p> 表3.1 寄存器的復(fù)位狀態(tài)</p><p><b> 單片機中斷的作用</b></p><p> 當(dāng)MCS-C51單片機的CPU正在處理某件事情的時候,單片機外部或內(nèi)部發(fā)生的某一時間請求
62、CPU立即去處理,于是,CPU暫時中止當(dāng)前的工作,轉(zhuǎn)到終端服務(wù)處理程序處理所發(fā)生的事件。中斷服務(wù)處理程序處理完該事件后,再回到原來被中止的地方,繼續(xù)原來的工作,這稱為中斷。我們這次設(shè)計就用到了定時中斷(INT0,INT1)。</p><p> 中斷系統(tǒng):能夠?qū)崿F(xiàn)中斷處理功能的部件稱為中斷系統(tǒng)。</p><p> 功能:消除了CPU在查詢方式中的等待現(xiàn)象,大大提高了CPU的工作效率。&l
63、t;/p><p><b> 總線結(jié)構(gòu)</b></p><p> 單片機的引線除了電源、復(fù)位、時鐘輸入、用戶I/O口外,其余引線都是為實現(xiàn)系統(tǒng)擴展則設(shè)置的,這些引線構(gòu)成了單片機外部的3總線形式,如圖3-7所示。</p><p><b> 1、地址總線</b></p><p> 地址總線寬度為16位
64、,由P0口經(jīng)地址鎖存器提供低8位地址(A7~A0),P2口直接提供高8位地址(A15~A8)。</p><p> 由口的位結(jié)構(gòu)可知,MCS-51單片機在進行外部尋址時,P0口的8根引綆低8位地址和8位數(shù)據(jù)的復(fù)用線。P0口首先將低8位的地址發(fā)送出去,然后再傳送數(shù)據(jù),因此要用鎖存器將先送出的低8位地址鎖存。MCS-52常用74LS373或8282做地址鎖存器。</p><p><b&g
65、t; 2、數(shù)據(jù)總線</b></p><p> 數(shù)據(jù)總線寬度為8位,由P0口提供。</p><p><b> 控制總線</b></p><p> MCS-51用于外部擴展的控制總線除了它自身引出的控制線RES、、ALE、外,還有由P3口的第二功能引線:外部中斷0和外部中斷1輸入線和,以及外部RAM或I/O端口的讀選通和寫選通信
66、號和。</p><p> 3.3 鍵盤接口電路</p><p> 本畢業(yè)設(shè)計的按鍵采用獨立式按鍵,是直接用I/O口線構(gòu)成的單個按鍵電路,其特點是每個按鍵單獨占用一根I/O口線,每個按鍵的工作不會影響其它I/O口線的狀態(tài)。獨立式按鍵的典型應(yīng)用如圖:</p><p> 圖3.3 獨立式按鍵</p><p> 按鍵輸入均采用低電平有效,此外
67、,上拉電阻保證了按鍵斷開時,I/O口線有確定的高電平。當(dāng)I/O口線內(nèi)部有上拉電阻時,外電路不可接上拉電阻。獨立式按鍵的軟件常采用查詢式結(jié)構(gòu)。先逐位查詢每根I/O口線的輸入狀態(tài),如某一根I/O口線輸入為低電平,則可確認該I/O口線所對應(yīng)的按鍵已按下,然后,再轉(zhuǎn)向該鍵的功能處理程序,具體編程見程序清單。</p><p><b> 3.4溫度檢測電路</b></p><p&g
68、t; 本文采用溫度傳感器DS18B20采集電熱水器的實時溫度, 提供給AT89S52的P3.3口作為數(shù)據(jù)輸入。在本次設(shè)計中我們所控的對象為水溫。其電路原理圖如圖3.4。</p><p> 圖3.4 溫度檢測電路</p><p> DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳TO-92小體積封裝形式;溫度測量范圍為-55℃~+125℃,可編程為9位~12位A/
69、D轉(zhuǎn)換精度,測溫分辨率可達0.0625℃,被測溫度用符號擴展的16位數(shù)字量方式串行輸出,支持3V~5.5V的電壓范圍,使系統(tǒng)設(shè)計更靈活、方便;其工作電源既可在遠端引入,也可采用寄生電源方式產(chǎn)生;多個DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。以上特點使DS18B20非常適用于遠距離多點溫度檢測系統(tǒng)。分辨率設(shè)定,及用戶設(shè)定的報警溫度存儲在EE
70、PROM中,掉電后依然保存。DS18B20使電壓、特性有更多的選擇,讓我們可以構(gòu)建適合自己的經(jīng)濟的測溫系統(tǒng)。DS18B20的2腳DQ為數(shù)字信號輸入/輸出端;1腳GND為電源地;3腳VDD為外接供電電源輸入端。</p><p> 3.5 溫度顯示電路</p><p> 在本設(shè)計中有兩個顯示電路,共用到六個共陰極八段碼數(shù)碼管分兩組,一組顯示設(shè)定溫度值一組顯示測量的溫度。每組中前兩位顯示0
71、-99,最后一位為小數(shù)點后一位數(shù)據(jù)。兩組共用片選達到動態(tài)顯示。</p><p> 圖3.5 溫度顯示電路</p><p> 3.6 自動報警電路</p><p> 自動報警電路是本畢業(yè)設(shè)計中的另外一個重要的部分。在生活中,人們因為不慎被電熱水器中的水燙的案例多不勝數(shù)。于是,通過單片機控制蜂鳴器,當(dāng)溫度達到預(yù)設(shè)的溫度時,單片機對驅(qū)動口輸出驅(qū)動電平并通過三極管放大
72、驅(qū)動電流就使蜂鳴器發(fā)出聲音。電路圖如圖3.6。</p><p> 圖3.6 自動報警電路</p><p> 第四章 軟件系統(tǒng)設(shè)計</p><p> 軟件設(shè)計由主程序,鍵掃描子程序及若干功能模塊子程序組成。其中主控制程序,讀溫度子程序及顯示子程序,鍵盤處理和報警程序等組成。(T設(shè)定值,t實際值)。</p><p> 4.1主程序流程框
73、圖 </p><p> 圖4.1 主程序流程框圖</p><p> 4.2讀溫度子程序流程圖</p><p> 圖4.2 溫度子程序流程</p><p> 通過溫度傳感器DS18B20在內(nèi)部對溫度檢測數(shù)據(jù)的轉(zhuǎn)換后直接將數(shù)據(jù)傳送給單片機AT89C52,通過單片機對電熱水器實現(xiàn)關(guān)于溫度的一個全方位的控制。這也是本設(shè)計的一個核心部分,實現(xiàn)
74、對電熱水器的一個智能控制。</p><p> 4.3顯示子程序流程圖</p><p><b> Y</b></p><p><b> N</b></p><p> 圖4.3顯示子程序流程圖</p><p> 由圖4-3,可以明顯看出按鍵部分的流程,單片機通過檢測按鍵
75、部分是否按下來顯示,同時也根據(jù)按鍵來對相應(yīng)的部分進行控制,譬如,當(dāng)設(shè)定溫度時,當(dāng)增加功能的按鍵被按下時,LED數(shù)碼管顯示當(dāng)前的數(shù)值,然后按下確認鍵后,此時單片機就會接收到信號,自動將相關(guān)部分的數(shù)值進行修改。</p><p> 4.4自動報警子程序流程圖</p><p><b> Y</b></p><p><b> N</
76、b></p><p> 圖4.4 自動報警子程序流程圖</p><p> 自動報警子程序主要功能是當(dāng)設(shè)定的溫度值達到時進行報警提示。單片機通過溫度傳感器測量到水溫后將溫度值與設(shè)定的溫度值進行比較,當(dāng)未超過時,單片機繼續(xù)從溫度傳感器調(diào)取溫度數(shù)值進行再次比較;當(dāng)超過預(yù)設(shè)溫度時,單片機給蜂鳴器模塊一個電平,驅(qū)動蜂鳴器響。</p><p><b> 第
77、五章 調(diào)試</b></p><p><b> 5.1模塊調(diào)試</b></p><p> 5.1.1溫度檢測模塊及顯示模塊的調(diào)試</p><p> 測試條件及設(shè)備:一杯溫水、電路板(已下載程序),溫度計;</p><p> 測試過程:用溫度計先測量下水溫,然后將溫度傳感器放進水里,開啟電路板;</
78、p><p> 測試結(jié)果:LED數(shù)碼管顯示溫度跟溫度計測量的溫度一致。溫度檢測模塊能夠及時的檢測的溫度的變化且通過顯示模塊實時顯示溫度的變化。</p><p> 圖5.1 溫度檢測調(diào)試圖</p><p> 5.1.2報警模塊調(diào)試</p><p> 測試條件及設(shè)備:一杯開水、電路板(已下載程序),溫度計;</p><p&g
79、t; 測試過程:用溫度計先測量下水溫,然后將溫度傳感器放進水里,開啟電路板;并設(shè)置報警溫度(不超過85度)</p><p> 測試結(jié)果:LED數(shù)碼管顯示溫度跟溫度計測量的溫度一致,且溫度高于設(shè)定溫度85°,蜂鳴器響。報警模塊能夠成功的實現(xiàn)達到預(yù)定溫度時進行報警的功能。</p><p> 圖5.2 報警模塊調(diào)試圖</p><p> 5.1.3加熱模塊
80、調(diào)試</p><p> 測試條件及設(shè)備:一杯冷水、電路板(已下載程序),溫度計;</p><p> 測試過程:先用溫度計對冷水的溫度進行測量并記錄,然后將溫度傳感器及熱得快放到水里,將電路板開啟并將電源部分接上電源,十分鐘之后,再對水溫進行檢測。并記錄。</p><p> 測試結(jié)果:通過實驗,水溫在前面的溫度上有所上升。加熱模塊能實現(xiàn)水溫的加熱。</p&
81、gt;<p> 圖5.3 加熱模塊調(diào)試圖</p><p> 5.2調(diào)試過程中發(fā)現(xiàn)的問題及解決的方案</p><p> 問題一:對溫度進行檢測時,溫度顯示總是85°。</p><p> 解決方案:首先對硬件部分進行檢測,確定線路沒有接錯,確定硬件部分沒有錯誤后;對軟件部分的程序進行再次檢查且對DS18B20進一步的了解后,發(fā)現(xiàn)在程序部分
82、沒有進行延時(延時的時間太短),對程序更改后,下載測試成功。</p><p> 問題二:對水進行加熱時,沒有反應(yīng),水無法加熱。</p><p> 解決方案:首先對硬件部分的電源模塊進行檢測,通過檢測后發(fā)現(xiàn)電源部分線路都沒有問題,然后再對另外相關(guān)的模塊進行檢測,發(fā)現(xiàn)原本電路板上的光耦所承受的電壓值小于電路板的電壓,無法進行正常工作,根據(jù)這一情況,將光耦換成三極管,最終成功實現(xiàn)溫度的加熱。
83、</p><p><b> 結(jié) 論</b></p><p> 本次設(shè)計課題是基于52單片機的智能電熱水器的設(shè)計。在本次設(shè)計中,我通過查找資料,文獻且咨詢我們的指導(dǎo)姚毅老師后,采用了AT89C52單片機為控制芯片,設(shè)計了本次的課題。</p><p> 首先,我們先去了解了一些市場上面關(guān)于熱水器的基本知識。家庭用智能電熱水器已被廣泛使用,它的
84、出現(xiàn)給生活提供了很多的便利,但目前市場上多數(shù)熱水器是機械式混水閥,其類型有冷熱水手調(diào)式、單把開關(guān)調(diào)溫式等幾種。雖然外形設(shè)計多種多樣、美觀大方,但是使用者對水溫的調(diào)節(jié)都是依靠機械式混水閥對熱水管道與冷水管道閥門的開啟比例來實現(xiàn)的。其操作過程往往需要操作者測試通過,因此,設(shè)計一款全新的智能型的家庭用智能電熱水器,通過單片機控制,以簡化硬件電路結(jié)構(gòu),根據(jù)水溫溫度反饋的信號,對水溫按照需要能進行隨意更改,以使其應(yīng)用更加靈活。</p>
85、<p> 本次設(shè)計,從拿到題目到設(shè)計完成,期間經(jīng)過了充分的積累資料、認真的研究課題要求以及老師的精心指導(dǎo),在此,向指導(dǎo)的姚毅老師表示衷心的感謝!</p><p><b> 致 謝</b></p><p> 在本次畢業(yè)設(shè)計中,我得到了導(dǎo)師**老師的熱心指導(dǎo)。他們自始至終關(guān)心督促畢業(yè)設(shè)計進程和進度。幫助解決畢業(yè)設(shè)計中遇到的許多問題,還不斷向我傳授分析
86、問題和解決問題的辦法,并指出了正確的努力方向,使我在畢業(yè)設(shè)計過程中少走很多彎路。在這里非常感謝**老師的指導(dǎo)和幫助,并致以誠摯的謝意!</p><p> 同時,身邊的同學(xué)給了我許多的幫助。在此,我向身邊關(guān)心我的同學(xué)致以誠摯的謝意!另外,系里的領(lǐng)導(dǎo)和老師也給了我必要的指導(dǎo),我也向系里的領(lǐng)導(dǎo)和老師們表示衷心的感謝!我還要感謝我的寢室同學(xué)和身邊的朋友,正是在這樣一個團結(jié)友愛,相互促進的環(huán)境中,在和他們的相互幫助和啟發(fā)
87、中,才有我今天的小小收獲。也感謝學(xué)院為我提供良好的做畢業(yè)設(shè)計的環(huán)境,使我在調(diào)試過程中能夠有充足的時間。</p><p> 最后再一次感謝所有在畢業(yè)設(shè)計中曾經(jīng)幫助過我的良師益友和同學(xué),以及在設(shè)計中被我引用或參考的論著的作者,感謝學(xué)院對我這幾年的培養(yǎng)。</p><p><b> 參考文獻</b></p><p> [1] 謝自美.電子線路綜合
88、設(shè)計[M].湖北:華中科技大學(xué)出版社,2006 </p><p> [2] 譚會生.張昌凡.EDA技術(shù)及應(yīng)用[M].西安電子科技大學(xué)出版社,2004 </p><p> [3] 樊昌信.通信原理[M].國防工業(yè)出版社,2001</p><p> [4] 楊素行.模擬電子技術(shù)簡明教程.高等教育出版社,2000</p><p> [5]
89、何立民.單片機高級教程[M].北京:北京航空航天大學(xué)出版社.2001:51-59.</p><p> [6] 何立民.單片機高級教材.北京: 航空航天大學(xué)出版社,2000</p><p> [7] 陳廣東.單片微型計算機原理與接口技術(shù).武漢:華中理工大學(xué)出版社,1999</p><p> [8] 潘新民.微型計算機控制系統(tǒng)技術(shù).北京:人民郵電出版社,1999&
90、lt;/p><p> [9] 康華光.電子技術(shù)基礎(chǔ)(模擬部分).北京:高等教育出版社,2000</p><p> [10]胡宴如.電子技術(shù)基礎(chǔ)(模擬部分).北京:中國電力出版社,2001</p><p> [11]劉潤華.現(xiàn)代電子系統(tǒng)設(shè)計.山東東營:石油大學(xué)出版社,1998</p><p> [12]李華.MCS-51系統(tǒng)單片機實用接口技
91、術(shù).北京:航空航天大學(xué)出版社,2000</p><p> [13]楊之明.電路與電子技術(shù)實訓(xùn)教程.北京:科學(xué)出版社,2003</p><p> [14]張?zhí)禊i."一線式"數(shù)字溫度計DS18B20原理與應(yīng)用[J]. 2009(02)</p><p> [15]盧晶晶.基于單片機的測控系統(tǒng)的設(shè)計與實現(xiàn)[J]. 2011(09)</p>
92、;<p> [16] 孟偉,方世巍,宋杰,李偉偉. 基于單片機的智能家用熱水器控制系統(tǒng)設(shè)計[J]. 2011(21)</p><p> [17] 趙奇,宋蕊. 基于單片機的熱水器溫度智能控制設(shè)計[J]. 微型機與應(yīng)用. 2012(08)</p><p> [18] 翟敏煥. 基于單片機的即熱式電熱水器控制系統(tǒng)的設(shè)計[J]. 2012(16)</p><
93、;p><b> 附錄一:原理圖</b></p><p><b> 附錄二:程序</b></p><p> #include<REG52.H></p><p> #include<intrins.h> </p><p> #define uchar unsig
94、ned char</p><p> #define uint unsigned int</p><p> sbit SW=P2^0; //定義繼電器控制端</p><p> sbit DQ=P2^1; //定義18B20數(shù)據(jù)端口</p><p> sbit BEEP=P3^2
95、; //定義蜂鳴器數(shù)據(jù)端口</p><p> sbit LED1=P3^3;</p><p> sbit LED2=P3^4;</p><p> sbit key1=P1^5;</p><p> sbit key2=P3^5;</p><p> sbit key3=P3^6;&l
96、t;/p><p> sbit key4=P3^7;</p><p> uchar temp=0;</p><p> uchar flag=0;</p><p> uchar SetTemp=80;</p><p> uchar code tab[]={0xa0,0xbb,0x62,0x2a,0x39,0x2c,0
97、x24,0xba,0x20,0x28,0x7f};</p><p> /************************************</p><p> * 延時函數(shù) *</p><p> ************************************/</p><p&g
98、t; void delay(uint xsm)</p><p><b> {</b></p><p><b> int i,j;</b></p><p> for(i=xsm;i>0;i--)</p><p> for(j=110;j>0;j--);</p>&l
99、t;p><b> }</b></p><p> void delay1(uint i) </p><p><b> { </b></p><p> while(--i); </p><p><b> } </b></p><p> /*
100、***********************************</p><p> * 初始化ds18b20函數(shù) *</p><p> ************************************/</p><p> void Init_DS18B20(void) </p><p>&l
101、t;b> { </b></p><p> DQ=1; //DQ復(fù)位 </p><p> delay1(8); //稍做延時 </p><p> DQ=0; //單片機將DQ拉低 </p><p> delay1(90); //精確延時,大于480us </p><p
102、> DQ=1; //拉高總線 </p><p><b> _nop_();</b></p><p><b> _nop_(); </b></p><p> delay1(100);</p><p><b> DQ=1;</b></p>
103、<p><b> } </b></p><p> /************************************</p><p> * ds18b20寫一個字節(jié)函數(shù) *</p><p> ************************************/</p>&l
104、t;p> void WriteOneChar(uchar dat) </p><p><b> { </b></p><p><b> uchar i; </b></p><p> for(i=8;i>0;i--) </p><p><b> { </b>
105、;</p><p><b> DQ=0; </b></p><p> DQ=dat&0x01; </p><p> delay1(5); </p><p><b> DQ=1; </b></p><p><b> dat>>=1; &l
106、t;/b></p><p><b> } </b></p><p><b> } </b></p><p> /************************************</p><p> * ds18b20讀一個字節(jié)函數(shù) *</p>
107、<p> ************************************/</p><p> uchar ReadOneChar() </p><p><b> { </b></p><p> uchar i,dat=0; </p><p><b> DQ=1;</b&g
108、t;</p><p><b> _nop_(); </b></p><p> for(i=8;i>0;i--) </p><p><b> { </b></p><p> DQ=0; //給脈沖信號 </p><p><b> _nop_();&
109、lt;/b></p><p><b> _nop_();</b></p><p> dat>>=1; </p><p> DQ=1; //給脈沖信號 </p><p><b> _nop_();</b></p><p><b> _
110、nop_();</b></p><p><b> if(DQ) </b></p><p> dat|=0x80; </p><p> delay1(30);</p><p><b> DQ=1; </b></p><p><b> } <
111、/b></p><p> return dat; </p><p><b> }</b></p><p> /************************************</p><p> * 顯示當(dāng)前溫度 *</p><p> ***
112、*********************************/</p><p> void display1(temp)</p><p><b> {</b></p><p> uchar shi,ge;</p><p> shi=temp/10;</p><p> ge=tem
113、p%10;</p><p><b> P2=0Xee;</b></p><p> P0=tab[shi];</p><p><b> delay(6);</b></p><p><b> P2=0Xde;</b></p><p> P0=tab
114、[ge];</p><p><b> delay(6);</b></p><p><b> }</b></p><p> /************************************</p><p> * 顯示設(shè)置溫度 *</p>
115、<p> ************************************/</p><p> void display2(SetTemp)</p><p><b> {</b></p><p> uchar shi,ge;</p><p> shi=SetTemp/10;</p&g
116、t;<p> ge=SetTemp%10;</p><p><b> P2=0xfa;</b></p><p> P0=tab[shi];</p><p><b> delay(6);</b></p><p><b> P2=0xf6;</b></
117、p><p> P0=tab[ge];</p><p><b> delay(6);</b></p><p><b> }</b></p><p> /************************************</p><p> * 讀取溫
溫馨提示
- 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. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于單片機的電熱水器畢業(yè)設(shè)計開題報告
- 畢業(yè)設(shè)計--基于51單片機的家用電熱水器設(shè)計
- 畢業(yè)設(shè)計論文基于單片機的電熱水器控制器設(shè)計
- 基于單片機的家電熱水器控制系統(tǒng)設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---基于單片機控制的快熱式家用電熱水器的設(shè)計
- 基于單片機的電熱水器溫度控制系統(tǒng)設(shè)計
- 畢業(yè)論文----基于51單片機的家用電熱水器設(shè)計
- -畢業(yè)設(shè)計----基于at89s51單片機的智能電熱水器的設(shè)計
- 畢業(yè)設(shè)計(論文)-基于單片機控制的快熱式家用電熱水器的設(shè)計
- 基于單片機的電熱水器定時控制器設(shè)計畢業(yè)論文
- 基于單片機電熱水器控制系統(tǒng)的設(shè)計
- 基于單片機電熱水器控制系統(tǒng)的設(shè)計
- 畢業(yè)設(shè)計(論文)基于單片機的電熱水器水溫水位控制系統(tǒng)設(shè)計
- 電熱水器畢業(yè)設(shè)計開題報告
- 【課程設(shè)計】-基于單片機的快熱式家用電熱水器的設(shè)計
- 家用電熱水器的設(shè)計畢業(yè)設(shè)計
- 畢業(yè)設(shè)計---快熱式家用電熱水器的設(shè)計
- 畢業(yè)設(shè)計--快熱式家用電熱水器的設(shè)計
- 智能電熱水器設(shè)計-畢業(yè)論文
- 電熱水器畢業(yè)設(shè)計開題報告演示課件
評論
0/150
提交評論