版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 課程論文(設(shè)計(jì))</b></p><p> 基于51單片機(jī)的溫度報(bào)警器的設(shè)計(jì)</p><p> 51Mcu-basde design of a temperature alarm</p><p> 提交日期:2014年6月</p><p><b> 目 錄</b&g
2、t;</p><p><b> 摘要4</b></p><p><b> 1 引言4</b></p><p><b> 1.1課題背景4</b></p><p> 1.2研究?jī)?nèi)容和意義6</p><p><b> 2 芯片介紹
3、6</b></p><p> 2.1 DS18B20概述6</p><p> 2.1.1 DS18B20封裝形式及引腳功能7</p><p> 2.1.2 DS18B20內(nèi)部結(jié)構(gòu)7</p><p> 2.1.3 DS18B20供電方式9</p><p> 2.1.4 DS18B20的測(cè)溫
4、原理10</p><p> 2.1.5 DS18B20的ROM命令12</p><p> 2.2 AT89C52概述13</p><p> 2.2.1單片機(jī)AT89C52介紹13</p><p> 2.2.2功能特性概述13</p><p> 3 系統(tǒng)硬件設(shè)計(jì)14</p><p
5、> 3.1 單片機(jī)最小系統(tǒng)的設(shè)計(jì)14</p><p> 3.2 溫度采集電路的設(shè)計(jì)15</p><p> 3.3 LED顯示報(bào)警電路的設(shè)計(jì)16</p><p><b> 4 總結(jié)16</b></p><p><b> 致謝17</b></p><p>
6、;<b> 參考文獻(xiàn)18</b></p><p> 附錄A 總電路圖19</p><p> 附錄B 原器件清單19</p><p> 附錄C 溫度報(bào)警器部分程序20</p><p><b> 摘 要</b></p><p> 隨著時(shí)代的進(jìn)步和發(fā)展,
7、溫度的測(cè)試已經(jīng)影響到我們的生活、工作、科研、各個(gè)領(lǐng)域,已經(jīng)成為了一種非常重要的事情,因此設(shè)計(jì)一個(gè)溫度測(cè)試的系統(tǒng)勢(shì)在必行。</p><p> 本文主要介紹了一個(gè)基于AT89C52單片機(jī)的數(shù)字溫度報(bào)警器系統(tǒng)。詳細(xì)描述了利用數(shù)字溫度傳感器DS18B20開發(fā)測(cè)溫系統(tǒng)的過程,重點(diǎn)對(duì)傳感器在單片機(jī)下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進(jìn)行了詳盡分析,對(duì)各部分的電路也一一進(jìn)行了介紹,該系統(tǒng)可以方便的實(shí)現(xiàn)溫度的采集和報(bào)警,并
8、可以根據(jù)需要任意上下限報(bào)警溫度,它使用起來相當(dāng)方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點(diǎn),適合于我們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的溫度測(cè)量,也可以當(dāng)做溫度處理模塊潛入其他系統(tǒng)中,作為其他主系統(tǒng)的輔助擴(kuò)展。DS18B20與AT89C52結(jié)合實(shí)現(xiàn)最簡(jiǎn)溫度報(bào)警系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,抗干擾能力強(qiáng),適合于惡劣環(huán)境下進(jìn)行現(xiàn)場(chǎng)溫度測(cè)量,有廣泛的應(yīng)用前景。</p><p> 關(guān)鍵詞:?jiǎn)纹瑱C(jī);溫度檢測(cè);AT89C52;
9、DS18B20;</p><p><b> 1 引言</b></p><p><b> 1.1課題背景</b></p><p> 溫度是工業(yè)對(duì)象中主要的被控參數(shù)之一,如冶金、機(jī)械、食品、化工各類工業(yè)生產(chǎn)中,廣泛使用的各種加熱爐、熱處理爐、反應(yīng)爐等,對(duì)工件的溫度處理要求嚴(yán)格控制。隨著科學(xué)技術(shù)的發(fā)展,要求溫度測(cè)量的范圍向
10、深度和廣度發(fā)展,以滿足工業(yè)生產(chǎn)和科學(xué)技術(shù)的要求。</p><p> 基于AT89C51單片機(jī)提高了系統(tǒng)的可移植性、擴(kuò)展性,利于現(xiàn)代測(cè)控、自動(dòng)化、電氣技術(shù)等專業(yè)實(shí)訓(xùn)要求。以單片機(jī)為核心設(shè)計(jì)的溫度報(bào)警器,具有安全可靠、操作簡(jiǎn)單方便、智能控制等優(yōu)點(diǎn)。</p><p> 溫度對(duì)于工業(yè)生產(chǎn)如此重要,由此推進(jìn)了溫度傳感器的發(fā)展。溫度傳感器主要經(jīng)過了三個(gè)發(fā)展階段[1]:</p><
11、;p> (1)模擬集成溫度傳感器。該傳感器是采用硅半導(dǎo)體集成工藝制成,因此亦稱硅傳感器或單片集成溫度傳感器。此種傳感器具有功能單一(僅測(cè)量溫度)、</p><p> 測(cè)溫誤差小、價(jià)格低、響應(yīng)速度快、傳輸距離遠(yuǎn)、體積小、微功耗等特點(diǎn),適合遠(yuǎn)距離測(cè)溫、控溫,不需要進(jìn)行非線性校準(zhǔn),外圍電路簡(jiǎn)單。它是目前在國內(nèi)外應(yīng)用最為普遍的一種集成傳感器,典型產(chǎn)品有AD590、AD592、TMP17、LM135等;</
12、p><p> ?。?)模擬集成溫度控制器。模擬集成溫度控制器主要包括溫控開關(guān)、可編程溫度控制器,典型產(chǎn)品有LM56、AD22105和MAX6509。某些增強(qiáng)型集成溫度控制器(例如TC652/653)中還包含了A/D轉(zhuǎn)換器以及固化好的程序,這與智能溫度傳感器有某些相似之處。但它自成系統(tǒng),工作時(shí)并不受微處理器的控制,這是二者的主要區(qū)別;</p><p> (3)智能溫度傳感器 (亦稱數(shù)字溫度傳感
13、器)。智能溫度傳感器是在20世紀(jì)90年代中期問世的,其內(nèi)部都包含溫度傳感器、A/D轉(zhuǎn)換器、信號(hào)處理器、存儲(chǔ)器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央控制器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)。智能溫度傳感器的特點(diǎn)是能輸出溫度數(shù)據(jù)及相關(guān)的溫度控制量,適配各種微控制器(MCU);并且它是在硬件的基礎(chǔ)上通過軟件來實(shí)現(xiàn)測(cè)試功能的,其智能化程度也取決于軟件的開發(fā)水平。</p><p>
14、現(xiàn)代信息技術(shù)的三大基礎(chǔ)是信息采集[2](即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計(jì)算機(jī)技術(shù))。傳感器屬于信息技術(shù)的前沿尖端產(chǎn)品,尤其是溫度傳感器被廣泛用于工農(nóng)業(yè)生產(chǎn)、科學(xué)研究和生活等領(lǐng)域,數(shù)量高居各種傳感器之首。數(shù)字溫度傳感器可以直接將被檢測(cè)的溫度信息以數(shù)字化形式輸出,與傳統(tǒng)的模擬式溫度傳感器相比,具有測(cè)量精度高、功耗低、穩(wěn)定性好、外圍接口電路簡(jiǎn)單特點(diǎn)。而單片機(jī)微處理器越來越豐富的外圍功能模塊,更加方便了數(shù)字式溫度傳感器輸出信號(hào)
15、的處理。</p><p> 智能溫度傳感器內(nèi)部都包含溫度傳感器、A/D轉(zhuǎn)化器、信號(hào)處理器、存儲(chǔ)器(或寄存器)和接口電路。有的產(chǎn)品還帶多路選擇器、中央處理器(CPU)、隨機(jī)存取存儲(chǔ)器(RAM)和只讀存儲(chǔ)器(ROM)。并且它是在硬件的基礎(chǔ)上通過軟件來實(shí)現(xiàn)測(cè)試功能的,其智能化程度也取決于軟件的開發(fā)水平。進(jìn)入21世紀(jì)后,智能溫度傳感器正朝著高精度、多功能、總線標(biāo)準(zhǔn)化、高可靠性及安全性、開發(fā)虛擬傳感器和網(wǎng)絡(luò)傳感器、研制單
16、片機(jī)測(cè)溫系統(tǒng)等的方向發(fā)展。數(shù)字化溫度傳感器可以直接將溫度量以數(shù)字脈沖信號(hào)形式輸出,具有測(cè)量精度高、抗干擾能力強(qiáng)、傳輸距離遠(yuǎn)、外圍接口電路簡(jiǎn)單等諸多優(yōu)點(diǎn)。同時(shí)數(shù)字溫度傳感器還可直接與微處理器進(jìn)行接口,大大方便了傳感器輸出信號(hào)的處理.數(shù)字單總線溫度傳感器是目前最新的測(cè)溫器件,它集溫度測(cè)量,A/D轉(zhuǎn)換于一體,具有單總線結(jié)構(gòu),數(shù)字量輸出,直接與微機(jī)接口等優(yōu)點(diǎn)。</p><p> 1.2研究?jī)?nèi)容和意義</p>
17、<p> 本溫度報(bào)警器以AT89C51單片機(jī)為控制核心,由一數(shù)字溫度傳感器DS18B20測(cè)量被控溫度,結(jié)合7段LED以及驅(qū)動(dòng)LED的74LS245組合而成。當(dāng)被測(cè)量值超出預(yù)設(shè)范圍則發(fā)出警報(bào),且精度高,適用于大多數(shù)工業(yè)生產(chǎn)以及教育教學(xué)領(lǐng)域。</p><p> 溫度是一種最基本的環(huán)境參數(shù),它是與人類的生活、工作關(guān)系最密切的物理量,也是各門學(xué)科與工程研究設(shè)計(jì)中經(jīng)常遇到和必須精確測(cè)量的物理量。從工業(yè)爐溫
18、、環(huán)境氣溫到人體溫度;從空間、海洋到家用電器,各個(gè)技術(shù)領(lǐng)域都離不開測(cè)溫和控溫。因此,研究溫度的測(cè)量和控制方法具有重要的意義。</p><p><b> 設(shè)計(jì)原理</b></p><p><b> 2 芯片介紹</b></p><p> 2.1 DS18B20概述</p><p> DS18B
19、20是Dallas公司繼DS1820后推出的一種改進(jìn)型智能數(shù)字溫度傳感器,與傳統(tǒng)的熱敏電阻相比,只需一根線就能直接讀出被測(cè)溫度值,并可根據(jù)實(shí)際需求來編程實(shí)現(xiàn)9~12位數(shù)字值的讀數(shù)方式[3]。</p><p> 2.1.1 DS18B20封裝形式及引腳功能</p><p> 圖2.1 DS18B20封裝形式和引腳功能</p><p> 如圖2.1所示,DS18B
20、20的外形如一只三極管,引腳名稱及作用如下:</p><p><b> GND:接地端。</b></p><p> DQ:數(shù)據(jù)輸入/輸出腳,與TTL電平兼容。</p><p> VDD:可接電源,也可接地。因?yàn)槊恐籇S18B20都可以設(shè)置成兩種供電方式,即數(shù)據(jù)總線供電方式和外部供電方式。采用數(shù)據(jù)總線供電方式時(shí)VDD接地,可以節(jié)省一根傳輸線
21、,但完成數(shù)據(jù)測(cè)量的時(shí)間較長(zhǎng);采用外部供電方式則VDD接+5V,多用一根導(dǎo)線,但測(cè)量速度較快。</p><p> 2.1.2 DS18B20內(nèi)部結(jié)構(gòu)</p><p> 圖2.2中出示了DS18B20 的主要內(nèi)部部件,下面對(duì)DS18B20內(nèi)部部分進(jìn)行簡(jiǎn)單的描述[4]:</p><p> (1)64位ROM。64位ROM是由廠家使用激光刻錄的一個(gè)64位二進(jìn)制ROM代
22、碼,是該芯片的標(biāo)識(shí)號(hào),如表2.1所示:</p><p> 表2.1 64位ROM標(biāo)識(shí)</p><p> 第1個(gè)8位表示產(chǎn)品分類編號(hào),DS18B20的分類號(hào)為10H;接著為48位序列號(hào)。它是一個(gè)大于281*1012的十進(jìn)制編碼,作為該芯片的唯一標(biāo)示代碼;最后8位為前56位的CRC循環(huán)冗余校驗(yàn)碼,由于每個(gè)芯片的64位ROM代碼不同,因此在單總線上能夠并接多個(gè)DS18B20進(jìn)行多點(diǎn)溫度實(shí)習(xí)檢
23、驗(yàn)。</p><p> (2)溫度傳感器。溫度傳感器是DS18B20的核心部分,該功能部件可完成對(duì)溫度的測(cè)量通過軟件編程可將-55~125℃范圍內(nèi)的溫度值按9位、10位、11位、12位的分辨率進(jìn)行量化,以上的分辨率都包括一個(gè)符號(hào)位,因此對(duì)應(yīng)的溫度量化值分別為0.5℃、0.25℃、0.125℃、0.0625℃,即最高分辨率為0.0625℃。芯片出廠時(shí)默認(rèn)為12位的轉(zhuǎn)換精度。當(dāng)接收到溫度轉(zhuǎn)換命令(44H)后,開始轉(zhuǎn)
24、換,轉(zhuǎn)換完成后的溫度以16位帶符號(hào)擴(kuò)展的的二進(jìn)制補(bǔ)碼形式表示,存儲(chǔ)在高速緩存器RAM的第0,1字節(jié)中,二進(jìn)制數(shù)的前5位是符號(hào)位。如果測(cè)得的溫度大于0,這5位為0,只要將測(cè)得的數(shù)值乘上0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測(cè)得的數(shù)值需要取反加1再乘上0.0625即可得到實(shí)際溫度。</p><p> ?。?)高速緩存器。DS18B20內(nèi)部的高速緩存器包括一個(gè)高速暫存器RAM和一個(gè)非易失性可電擦除的
25、EEPROM。非易失性可點(diǎn)擦除EEPROM用來存放高溫觸發(fā)器TH、低溫觸發(fā)器TL和配置寄存器中的信息。</p><p> ?。?)配置寄存器。配置寄存器的內(nèi)容用于確定溫度值的數(shù)字轉(zhuǎn)換率。DS18B20工作是按此寄存器的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值,它是高速緩存器的第5個(gè)字節(jié),該字節(jié)定義如表2.2所示:</p><p> 表2.2 匹配寄存器</p><p>
26、 TM是測(cè)試模式位,用于設(shè)置DS18B20在工作模式還是在測(cè)試模式,在DS18B20出廠時(shí)該位被設(shè)置為0,用戶不要去改動(dòng);R1和R0用來設(shè)置分辨率;其余5位均固定為1。DS18B20分辨率的設(shè)置如表2.3所示:</p><p> 表2.3 DS18B20分辨率的設(shè)置</p><p> DS18B20依靠一個(gè)單線端口通訊。在單線端口條件下,必須先建立ROM 操作協(xié)議,才能進(jìn)行存儲(chǔ)器和
27、控制操作。因此,控制器必須首先提供下面5個(gè)ROM 操作命令之一:</p><p><b> 1)讀ROM;</b></p><p><b> 2)匹配ROM;</b></p><p><b> 3)搜索ROM;</b></p><p><b> 4)跳過ROM
28、;</b></p><p><b> 5)報(bào)警搜索。</b></p><p> 這些命令對(duì)每個(gè)器件的激光ROM 部分進(jìn)行操作,在單線總線上掛有多個(gè)器件時(shí),可以區(qū)分出單個(gè)器件,同時(shí)可以向總線控制器指明有多少器件或是什么型號(hào)的器件。成功執(zhí)行完一條ROM 操作序列后,即可進(jìn)行存儲(chǔ)器和控制操作,控制器可以提供6 條存儲(chǔ)器和控制操作指令中的任一條。一條控制操作命
29、令指示DS18B20完成一次溫度測(cè)量。測(cè)量結(jié)果放在DS18B20的暫存器里,用一條讀暫存器內(nèi)容的存儲(chǔ)器操作命令可以把暫存器中數(shù)據(jù)讀出。溫度報(bào)警觸發(fā)器TH 和TL 各由一個(gè)EEPROM字節(jié)構(gòu)成。如果沒有對(duì)DS18B20使用報(bào)警搜索命令,這些寄存器可以做為一般用途的用戶存儲(chǔ)器使用??梢杂靡粭l存儲(chǔ)器操作命令對(duì)TH 和TL 進(jìn)行寫入,對(duì)這些寄存器的讀出需要通過暫存器。所有數(shù)據(jù)都是以最低有效位在前的方式進(jìn)行讀寫。</p><p
30、> 2.1.3 DS18B20供電方式</p><p> DS18B20可以采用外部電源供電和寄生電源供電兩種模式。外部電源供電模式是將DS18B20的GND直接接地,DQ與但單總線相連作為信號(hào)線,VDD與外部電源正極相連。如圖2.3所示:</p><p> 圖中DS18B20的DQ端口通過接入一個(gè)4.7K的上拉電阻到VCC,從而實(shí)現(xiàn)外部電源供電方式。</p>&
31、lt;p> 寄生電源供電模式如圖2.4所示:從圖中可知,DS18B20的GND和VDD均直接接地,DQ與單總線相連,單片機(jī)其中一個(gè)I/O口與DS18B20的DQ端相連。</p><p> 2.1.4 DS18B20的測(cè)溫原理</p><p> DS18B20的測(cè)溫原理如圖2.5所示, 其主要由斜率累加器、溫度系數(shù)振蕩器、減法計(jì)數(shù)器、溫度存儲(chǔ)器等功能部件組成。</p>
32、<p> 圖2.5 DS18B20的測(cè)溫原理</p><p> DS1820 是這樣測(cè)溫[5]的:用一個(gè)高溫度系數(shù)的振蕩器確定一個(gè)門周期,內(nèi)部計(jì)數(shù)器在這個(gè)門周期內(nèi)對(duì)一個(gè)低溫度系數(shù)的振蕩器的脈沖進(jìn)行計(jì)數(shù)來得到溫度值。計(jì)數(shù)器被預(yù)置到對(duì)應(yīng)于-55℃的一個(gè)值。如果計(jì)數(shù)器在門周期結(jié)束前到達(dá)0,則溫度寄存器(同樣被預(yù)置到-55℃)的值增加,表明所測(cè)溫度大于-55℃。同時(shí),計(jì)數(shù)器被復(fù)位到一個(gè)值,這個(gè)值由斜坡式
33、累加器電路確定,斜坡式累加器電路用來補(bǔ)償感溫振蕩器的拋物線特性。然后計(jì)數(shù)器又開始計(jì)數(shù)直到0,如果門周期仍未結(jié)束,將重復(fù)這一過程。</p><p> 斜坡式累加器用來補(bǔ)償感溫振蕩器的非線性,以期在測(cè)溫時(shí)獲得比較高的分辨率。這是通過改變計(jì)數(shù)器對(duì)溫度每增加一度所需計(jì)數(shù)的的值來實(shí)現(xiàn)的。因此,要想獲得所需的分辨力,必須同時(shí)知道在給定溫度下計(jì)數(shù)器的值和每一度的計(jì)數(shù)值。</p><p> DS18B
34、20內(nèi)部對(duì)此計(jì)算的結(jié)果可提供0.5℃的分辨率。溫度以16bit帶符號(hào)位擴(kuò)展的二進(jìn)制補(bǔ)碼形式讀出,表2.4 給出了溫度值和輸出數(shù)據(jù)的關(guān)系。數(shù)據(jù)通過單線接口以串行方式傳輸。DS18B20測(cè)溫范圍-55℃~+125℃,以0.5℃遞增。</p><p> 表2.4 溫度數(shù)據(jù)關(guān)系</p><p> S18B20遵循單總線協(xié)議,每次測(cè)溫時(shí)都必須有4個(gè)過程[6]:</p><p&
35、gt;<b> ? 初始化;</b></p><p> ? 傳送ROM 操作命令;</p><p> ? 傳送ROM操作命令;</p><p><b> ? 數(shù)據(jù)交換;</b></p><p> 2.1.5 DS18B20的ROM命令</p><p> read
36、ROM(讀ROM).命令代碼為33H,允許主設(shè)備讀出DS18B20的64位二進(jìn)制ROM代碼。該命令只適用于總線上存在單個(gè)DS18B20.</p><p> Match ROM(匹配ROM)。命令代碼為55H,若總線上有多個(gè)從設(shè)備時(shí),適用該命令可選中某一指定的DS18B20,即只有和64位二進(jìn)制ROM代碼完全匹配的DS18B20才能響應(yīng)其操作。</p><p> Skip ROM(跳過R
37、OM)。命令代碼為CCH,在啟動(dòng)所有DS18B20轉(zhuǎn)換之前或系統(tǒng)只有一個(gè)DS18B20時(shí),該命令將允許主設(shè)備不提供64位二進(jìn)制ROM代碼就適用存儲(chǔ)器操作命令。</p><p> Search ROM(搜索ROM)。命令代碼為F0H,當(dāng)系統(tǒng)初次啟動(dòng)時(shí),主設(shè)備可能不知縱向上有多少個(gè)從設(shè)備或者它們的ROM代碼,適用該命令可確定系統(tǒng)中的從設(shè)備個(gè)數(shù)及其RON代碼。</p><p> Alarm
38、ROM(報(bào)警搜索ROM)。命令代碼為ECH,該命令用于鑒別和定位系統(tǒng)中超出程序設(shè)定的報(bào)警溫度值。</p><p> Write scratchpad(寫暫存器)。命令代碼為4EH,允許主設(shè)備向DS18B20的暫存器寫入兩個(gè)字節(jié)的數(shù)據(jù),其中第一個(gè)字節(jié)寫入TH中,第二個(gè)字節(jié)寫入TL中??梢栽谌魏螘r(shí)刻發(fā)出復(fù)位命令終止數(shù)據(jù)的寫入。</p><p> Read scratchpad(讀暫存器)。
39、命令代碼為BEH,允許主設(shè)備讀取暫存器中的內(nèi)容。從第一個(gè)字節(jié)開始直到讀完第九個(gè)字節(jié)CRC讀完。也可以在任何時(shí)刻發(fā)出復(fù)位命令中止數(shù)據(jù)的讀取操作。</p><p> Copy scratchpad(復(fù)制暫存器)。命令代碼為48H,將溫度報(bào)警觸發(fā)器TH和TL中的字節(jié)復(fù)制到非易失性EEPROM。若主機(jī)在該命令之后又發(fā)出讀操作,而DS18B20又忙于將暫存器中的內(nèi)容復(fù)制到EEPROM時(shí),DS18B20就會(huì)輸出一個(gè)“0”,
40、若復(fù)制結(jié)束,則DS18B20輸出一個(gè)“1”。</p><p> Convert T(溫度轉(zhuǎn)換)。命令代碼為44H,啟動(dòng)一次溫度轉(zhuǎn)換,若主機(jī)在該命令之后又發(fā)出其它操作,而DS18B20又忙于溫度轉(zhuǎn)換,DS18B20就會(huì)輸出一個(gè)“0”,若轉(zhuǎn)換結(jié)束,則DS18B20輸出一個(gè)“1”。</p><p> Recall E2(拷回暫存器)。命令代碼為B8H。將溫度報(bào)警觸發(fā)器TH和TL中的字節(jié)從EE
41、PROM中拷回到暫存器中。該操作是在DS18B20上電時(shí)自動(dòng)執(zhí)行,若執(zhí)行該命令后又發(fā)出讀操作,DS18B20會(huì)輸出溫度轉(zhuǎn)換忙標(biāo)識(shí):0為忙,1完成。</p><p> Read power supply(讀電源使用模式)。命令代碼為B4H。主設(shè)備將該命令發(fā)給DS18B20后發(fā)出讀操作,DS18B20會(huì)返回它的電源使用模式:0為寄生電源,1為外部電源。</p><p> 2.2 AT89C
42、52概述</p><p> 2.2.1單片機(jī)AT89C52介紹</p><p> AT89C52是一個(gè)低電壓,高性能CMOS8位單片機(jī),片內(nèi)含8k bytes的可反復(fù)擦寫的Flash只讀程序存儲(chǔ)器和256 bytes的隨機(jī)存取數(shù)據(jù)存儲(chǔ)器(RAM),器件采用ATMEL公司的高密度、非易失性存儲(chǔ)技術(shù)生產(chǎn),兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),片內(nèi)置通用8位中央處理器和Flash存儲(chǔ)單元,AT89C
43、52單片機(jī)在電子行業(yè)中有著廣泛的應(yīng)用。</p><p> 2.2.2 主要功能特性</p><p> 1、兼容MCS51指令系統(tǒng) 2、8k可反復(fù)擦寫(大于1000次)Flash ROM; 3、32個(gè)雙向I/O口; 4、256x8bit內(nèi)部RAM; 5、3個(gè)16位可編程定時(shí)/計(jì)數(shù)器中斷; 6、時(shí)鐘頻率0-24MHz; 7、2個(gè)串行中斷,可編程UART串行通道;
44、 8、2個(gè)外部中斷源,共8個(gè)中斷源; 9、2個(gè)讀寫中斷口線,3級(jí)加密位; 10、低功耗空閑和掉電模式,軟件設(shè)置睡眠和喚醒功能; 11、有PDIP、PQFP、TQFP及PLCC等幾種封裝形式,以適應(yīng)不同產(chǎn)品的需求。</p><p><b> 3 系統(tǒng)硬件設(shè)計(jì)</b></p><p> 3.1 單片機(jī)最小系統(tǒng)的設(shè)計(jì)</p><p>
45、 單片機(jī)是一種集成電路芯片,是采用超大規(guī)模集成電路技術(shù)把具有數(shù)據(jù)處理能力的中央處理器CPU隨機(jī)存儲(chǔ)器RAM、只讀存儲(chǔ)器ROM、多種I/O口和中斷系統(tǒng)、定時(shí)器/計(jì)時(shí)器等功能集成到一塊硅片上構(gòu)成的一個(gè)小而完善的計(jì)算機(jī)系統(tǒng)。本次課程設(shè)計(jì)中選用AT89C52式單片機(jī),其最小系統(tǒng)主要由電復(fù)位、振蕩電路組成。單片機(jī)的最小系統(tǒng)如圖3所示。</p><p> 單片機(jī)的復(fù)位電路原理是在單片機(jī)的復(fù)位引腳RST上電阻和電容,實(shí)現(xiàn)上
46、電復(fù)位。當(dāng)復(fù)位電平持續(xù)兩個(gè)時(shí)鐘周期以上時(shí)復(fù)位有效。復(fù)位電路由按鍵復(fù)位和上電復(fù)位兩部分組成,上電復(fù)位是在復(fù)位引腳上連接一個(gè)電容到VCC,再連接一個(gè)電阻到GND;按鍵復(fù)位是在復(fù)位電容上并聯(lián)一個(gè)開關(guān),當(dāng)開關(guān)按下時(shí)電容被放電、RST也被拉到高電平,而且由于電容的充電,會(huì)保持一段時(shí)間的高電平來使單片機(jī)復(fù)位。</p><p> AT89C51單片機(jī)使用12MHZ的晶振最為振蕩源,由于單片機(jī)內(nèi)部有振蕩電路,所以外部只要連接一
47、個(gè)晶振和兩個(gè)電容即可,電容一般在15pF至50pF之間。外部晶振結(jié)合單片機(jī)內(nèi)部電路產(chǎn)生單片機(jī)所需的時(shí)鐘頻率。</p><p> 圖3 單片機(jī)最小系統(tǒng)</p><p> 3.2 溫度采集電路的設(shè)計(jì)</p><p> 溫度采集電路部分,采用數(shù)字溫度傳感器DS18B20進(jìn)行溫度采集。DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3個(gè)引腳;溫度側(cè)量范
48、圍為-55℃—+125℃,測(cè)量精度為0.5℃;被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出;CPU只需用一個(gè)端口線就可以與DS18B20通信。溫度采集電路如圖4所示。</p><p><b> 圖4 溫度采集電路</b></p><p> 3.3 LED顯示報(bào)警電路的設(shè)計(jì)</p><p> LED數(shù)碼管與單片機(jī)的P0口相連,單片機(jī)將采集到
49、的溫度值轉(zhuǎn)化為與數(shù)碼管對(duì)應(yīng)的數(shù)據(jù),通過P0口輸出顯示。即信號(hào)通過譯碼管的端口a、b、c、d、e、f、g 、dp 端來控制每段譯碼管的亮滅與否,同時(shí)通過端口1、2、3、4 四個(gè)端口來控制四個(gè)譯碼管。在本次設(shè)計(jì)中,用集成芯片74HC245驅(qū)動(dòng)數(shù)碼管。同時(shí)當(dāng)采集到的溫度值超過所設(shè)置的范圍時(shí),單片機(jī)會(huì)輸出一信號(hào),通過三極管放大后驅(qū)動(dòng)蜂鳴器發(fā)出報(bào)警信號(hào)。LED數(shù)碼管報(bào)警電路</p><p><b> 4 總結(jié)&
50、lt;/b></p><p> 本設(shè)計(jì)是以溫度采集及控制過程設(shè)計(jì)為總目標(biāo),以89C52單片機(jī)最小應(yīng)用系統(tǒng)為總控制中心,輔助設(shè)計(jì)有溫度采樣電路、A/D轉(zhuǎn)換接口、加熱電路、LED數(shù)碼管動(dòng)態(tài)串行顯示器等。</p><p> 本設(shè)計(jì)的重點(diǎn)、難點(diǎn)是:</p><p> ?。?) 要掌握溫度傳感器的原理、結(jié)構(gòu)、應(yīng)用等;</p><p> ?。?
51、) 考慮從非電量信號(hào)到電量信號(hào)的電路實(shí)現(xiàn)原理以及與單片機(jī)的接口;</p><p> (3) 熟悉MCS-51編程的技術(shù),實(shí)現(xiàn)單片機(jī)對(duì)溫度的調(diào)節(jié)控制;</p><p> ?。?) 整體電路的仿真調(diào)試。</p><p> 本次設(shè)計(jì)優(yōu)點(diǎn):采用的單片機(jī)AT89C51 性價(jià)比高;熱敏電阻溫度傳感器轉(zhuǎn)化溫度的方法非常簡(jiǎn)潔且精度高、測(cè)試范圍較廣。</p><
52、;p> 由于時(shí)間及精力所限,對(duì)溫度控制系統(tǒng)做了整體設(shè)計(jì),具體實(shí)現(xiàn)了其中的溫度報(bào)警部分設(shè)計(jì),即溫度控制系統(tǒng)的采集、顯示及報(bào)警模塊。</p><p><b> 實(shí)物圖如下:</b></p><p><b> 致謝</b></p><p> 在論文完成之際,我要對(duì)任課老師**老師表示衷心的感謝。*老師在課堂上的教學(xué)
53、生動(dòng)形象,語言幽默睿智,我們都很喜歡。</p><p> 由于本人學(xué)識(shí)有限,加之時(shí)間倉促,文中不免有錯(cuò)誤和待改進(jìn)之處,真誠歡迎各位老師提出寶貴意見。</p><p><b> 參考文獻(xiàn):</b></p><p> [1]鐘曉偉,宋哲存,基于單片機(jī)的實(shí)驗(yàn)是溫濕度控制系統(tǒng)設(shè)計(jì) [A] 林業(yè)機(jī)械與木工設(shè)備</p><p>
54、; [2]葉景,基于單片機(jī)的溫度控制系統(tǒng)的設(shè)計(jì) 經(jīng)驗(yàn)與交流,2008</p><p> [3]楊光友.單片機(jī)微型計(jì)算機(jī)原理及接口技術(shù)[M].北京:中國水利水電出版社,2002</p><p> [4]李丹妮,單片機(jī)溫度控制系統(tǒng)設(shè)計(jì)[J]九江學(xué)院報(bào)2005</p><p> [5]ATMLE Corporation,8-Bit Microcontroller
55、AT89C51 DATE SHEET.0265F-A-12/97</p><p> [6]胡壽松,自動(dòng)控制原理[M]北京:科學(xué)出版社,2007</p><p> [7]劉篤仁,韓保君,傳感器原理及應(yīng)用技術(shù) 西安電子科技大學(xué)出版社,2008</p><p> [8]梅麗鳳,王艷秋,汪毓鐸,張軍,單片機(jī)原理及接口技術(shù) 清華大學(xué)出版社2006</p>
56、<p> [9]深圳市計(jì)算機(jī)行業(yè)協(xié)會(huì),2005年全國單片機(jī)與嵌入式系統(tǒng)學(xué)術(shù)交流會(huì),北京航空航天大學(xué)出版社,2005</p><p> [10]張義和,陳敵北,例說8051[M]北京:人民郵電出版社,2006</p><p> [11] 張開生,郭國法,MCS-51單片機(jī)溫度控制系統(tǒng)的設(shè)計(jì)[J]微型計(jì)算機(jī)信息,2005</p><p> [12]Da
57、llas Semiconductor,Programmable Resolution 1-WIRE Digital Thermometer DS18B20 DATE SHEET.</p><p><b> 附錄A:總電路圖</b></p><p><b> 附錄B:原器件清單</b></p><p> 附錄C:溫度報(bào)
58、警器部分程序</p><p> #include<reg52.h></p><p> #include<intrins.h></p><p> #define uchar unsigned char</p><p> #define uint unsigned int</p><p>
59、 sbit DQ=P3^7; </p><p> sbit beep=P3^0; </p><p> void reset(); //DS18B20復(fù)位函數(shù) </p><p> void write_byte(uchar val); //DS18B20寫命令函數(shù)
60、</p><p> uchar read_byte(void); //DS18B20讀1字節(jié)函數(shù) </p><p> void read_temp(); //溫度讀取函數(shù) </p><p> void LED_display();</p><p> void alarm();&
61、lt;/p><p> uchar tempH,tempL,num;</p><p> uchar table[10]= {0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90}; //0~9的LED字符編碼 </p><p> uchar setValue_low=15;</p><p>
62、uchar setValue_high=30;</p><p><b> main()</b></p><p><b> { </b></p><p><b> while(1)</b></p><p><b> { </b></p>
63、<p> read_temp();</p><p> LED_display();</p><p><b> alarm();</b></p><p><b> }</b></p><p><b> }</b></p><p>
64、void delay(uint t)</p><p><b> {</b></p><p> for(;t>0;t--);</p><p><b> }</b></p><p> void reset() //DS18B20的復(fù)位</p><p><b
65、> {</b></p><p> uchar presence=1;</p><p> while(presence)</p><p><b> {</b></p><p> while(presence)</p><p><b> {</b>&
66、lt;/p><p> DQ=1;_nop_();_nop_();</p><p><b> DQ=0;</b></p><p> delay(50);</p><p><b> DQ=1;</b></p><p><b> delay(6);</b>
67、;</p><p> presence=DQ;</p><p><b> }</b></p><p> delay(45);</p><p> presence=~DQ;</p><p><b> }</b></p><p><b>
68、; DQ=1;</b></p><p><b> }</b></p><p> void write_byte(uchar val)//DS18B20寫一個(gè)字節(jié) </p><p><b> {</b></p><p><b> uchar i;</b>
69、;</p><p> for(i=8;i>0;i--)</p><p><b> {</b></p><p> DQ=1;_nop_();_nop_();</p><p> DQ=0;_nop_();_nop_();_nop_();_nop_();_nop_();</p><p>
70、 DQ=val&0x01;</p><p><b> delay(6);</b></p><p> val=val>>1;</p><p><b> }</b></p><p><b> DQ=1;</b></p><p>&
71、lt;b> _nop_();</b></p><p><b> }</b></p><p> uchar read_byte(void)//DS18B20讀一個(gè)字節(jié) </p><p><b> {</b></p><p><b> uchar i;&l
72、t;/b></p><p> uchar value=0;</p><p> for(i=8;i>0;i--)</p><p><b> {</b></p><p> DQ=1;_nop_();_nop_();</p><p> value>>=1;</p&
73、gt;<p><b> DQ=0;</b></p><p> _nop_();_nop_();_nop_();_nop_();</p><p> DQ=1;_nop_();_nop_();_nop_();_nop_();</p><p><b> if(DQ)</b></p><p
74、> value|=0x80;</p><p><b> delay(6);</b></p><p><b> }</b></p><p><b> DQ=1;</b></p><p> return(value);</p><p><
75、;b> }</b></p><p> void read_temp() //從DS18B20讀取溫度值 </p><p><b> { </b></p><p> uchar ch1,ch2;</p><p><b> reset();</b></p&
76、gt;<p> write_byte(0xcc);</p><p> write_byte(0x44);</p><p><b> reset();</b></p><p> write_byte(0xcc);</p><p> write_byte(0xbe);</p><p
77、> ch1=read_byte(); //DS18B20的溫度數(shù)值是16位的二進(jìn)制,精度高,最后四位是溫度的小數(shù)部分,最高五位為符號(hào)位(即正負(fù)溫度) </p><p> ch2=read_byte();</p><p> num=(ch2<<4)|(ch1>>4); //只取溫度值的中間八位,小數(shù)部分舍去,符號(hào)位舍去四位。</p>
78、<p> tempH=num/10;//溫度的十位</p><p> tempL=num-tempH*10;//溫度的個(gè)位</p><p><b> }</b></p><p> void LED_display() //顯示檢測(cè)的溫度 </p><p><b>
79、{</b></p><p><b> P2=0x0;</b></p><p><b> P2=2;</b></p><p> P0=table[tempL];</p><p> delay(50);</p><p><b> P2=0x0;&l
80、t;/b></p><p><b> P2=1;</b></p><p> P0=table[tempH];</p><p> delay(50);</p><p><b> P2=0x0;</b></p><p><b> }</b>&
81、lt;/p><p> void alarm() //報(bào)警 </p><p><b> {</b></p><p> if(setValue_low<=num && setValue_high>=num) </p><p> beep=1; //在溫度允許范圍,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于51單片機(jī)的溫度警報(bào)器的設(shè)計(jì)--單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于51單片機(jī)溫度傳感器設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)—基于51單片機(jī)的溫度監(jiān)控系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于51單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)——基于51單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于51單片機(jī)的溫度控制系統(tǒng)設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于51單片機(jī)的定時(shí)鬧鐘設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于mcs-51單片機(jī)的溫度采集系統(tǒng)
- 基于51單片機(jī)課程設(shè)計(jì)--基于51單片機(jī)的紅外線設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)---基于單片機(jī)溫度測(cè)量系統(tǒng)設(shè)計(jì)
- 基于單片機(jī)壓力警報(bào)器設(shè)計(jì)-畢業(yè)論文
- 單片機(jī)課程設(shè)計(jì)---基于51單片機(jī)的電子鐘設(shè)計(jì)
- 基于51單片機(jī)課程設(shè)計(jì)
- 基于51單片機(jī)的課程設(shè)計(jì)
- 51單片機(jī)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)--基于51單片機(jī)的交通燈
- 基于51單片機(jī)的溫度計(jì)課程設(shè)計(jì)
- 單片機(jī)課程設(shè)計(jì)-- 基于單片機(jī)的數(shù)字溫度計(jì)設(shè)計(jì)
- 基于單片機(jī)的溫度警報(bào)系統(tǒng)課程設(shè)計(jì)論文
- 單片機(jī)課程設(shè)計(jì)---基于51單片機(jī)的電子顯示屏設(shè)計(jì)
評(píng)論
0/150
提交評(píng)論