版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、<p><b> 摘 要</b></p><p> 本設(shè)計(jì)主要包括溫度傳感器DS18B20、單片機(jī)AT89S51和LCD1602等器件,硬件電路包括溫度檢測(cè)電路、溫度控制電路和一些接口電路等輔助電路,軟件設(shè)計(jì)主要包括 數(shù)碼管顯示程序、鍵盤(pán)掃描及按鍵處理程序、溫度信號(hào)處理程序、繼電器控制程序、超溫報(bào)警程序五個(gè)模塊。設(shè)計(jì)電路工作原理為:首先,由DS18B20溫度傳感器芯片測(cè)量
2、當(dāng)前的溫度,并將結(jié)果送入單片機(jī)。然后,通過(guò)AT89S51單片機(jī)芯片對(duì)送來(lái)的測(cè)量溫度讀數(shù)進(jìn)行計(jì)算和轉(zhuǎn)換,井將此結(jié)果送入液晶顯示模塊,如果測(cè)量溫度超過(guò)預(yù)定值,單片機(jī)同時(shí)也會(huì)把信號(hào)傳遞給報(bào)警電路單元。最后,LCD1602A芯片將送來(lái)的值顯示于顯示屏上。</p><p> 關(guān)鍵詞:AT89S51單片機(jī);溫度傳感器;DS18B20;LCD1602</p><p><b> ABSTRA
3、CT</b></p><p> The design includes temperature sensor DS18B20, MCU AT89S51, LCD1602 and other devices. Hardware circuit includes the temperature sensing circuit, the temperature control circuit , a n
4、umber of interface circuits and other auxiliary circuits, Software design process includes five modules, such as digital tube display, keyboard scanning and key processes, the temperature signal processing, relay control
5、 procedures, over-temperature alarm program. The circuit design works as follows: First, by mea</p><p> Keywords: AT89S51 Microcontroller, Temperature sensor, DS18B20, LCD1602</p><p><b>
6、 目 錄</b></p><p><b> 第一章 前言1</b></p><p> 1.1 課題背景及目的1</p><p> 1.2 論文構(gòu)成及研究?jī)?nèi)容1</p><p> 1.3 倉(cāng)庫(kù)溫度檢測(cè)系統(tǒng)的原理框圖1</p><p> 第二章 核心器件的選擇
7、3</p><p> 2.1 單片機(jī)的選擇3</p><p> 2.1.1 AT89S51簡(jiǎn)介3</p><p> 2.1.2 AT89S51引腳功能3</p><p> 2.2 溫度傳感器的選擇5</p><p> 2.2.1 DS18B20簡(jiǎn)介5</p><p&g
8、t; 2.2.2 DS18B20的性能特點(diǎn)6</p><p> 第三章 硬件設(shè)計(jì)電路7</p><p> 3.1 主控制器8</p><p> 3.2 顯示電路8</p><p> 3.3 溫度檢測(cè)電路8</p><p> 3.4 溫度報(bào)警電路9</p><p&g
9、t; 第四章 軟件設(shè)計(jì)10</p><p> 4.1 概述10</p><p> 4.2 溫度檢測(cè)流程及程序?qū)崿F(xiàn)10</p><p> 4.2.1 初始化流程10</p><p> 4.2.2 讀DS18B20流程11</p><p> 4.2.3 寫(xiě)18B20流程13</p&
10、gt;<p> 4.3 報(bào)警模塊流程15</p><p> 4.4 中斷設(shè)定流程15</p><p> 第五章 結(jié)論17</p><p><b> 參考文獻(xiàn)18</b></p><p><b> 致謝19</b></p><p><
11、;b> 第一章 前言</b></p><p> 1.1 課題背景及目的</p><p> 電子科技時(shí)代的今天,社會(huì)中的諸多行業(yè)對(duì)各種信息參數(shù)的準(zhǔn)確度和精確度的要求都有了幾何級(jí)的增長(zhǎng),而如何準(zhǔn)確而又迅速的獲得這些參數(shù)就需要受制于現(xiàn)代信息基礎(chǔ)的發(fā)展水平。在三大信息信息采集(即傳感器技術(shù))、信息傳輸(通信技術(shù))和信息處理(計(jì)算機(jī)技術(shù))中,傳感器屬于信息技術(shù)的前沿尖端產(chǎn)
12、品,尤其是溫度傳感器技術(shù),在我國(guó)各領(lǐng)域已經(jīng)引用的非常廣泛,可以說(shuō)是滲透到社會(huì)的每一個(gè)領(lǐng)域,人民的生活與環(huán)境的溫度息息相關(guān),在工業(yè)生產(chǎn)過(guò)程中需要實(shí)時(shí)測(cè)量溫度,在農(nóng)業(yè)生產(chǎn)中也離不開(kāi)溫度的測(cè)量,因此研究溫度的測(cè)量方法和裝置具有重要的意義。同時(shí),溫度檢測(cè)控制系統(tǒng)已廣泛應(yīng)用于社會(huì)生活的各個(gè)領(lǐng)域 ,甚至在各種行業(yè)的那些條件不易人們親自接近的貨物儲(chǔ)藏的倉(cāng)庫(kù)已普遍使用。檢測(cè)控制對(duì)象慣性大,滯后現(xiàn)象嚴(yán)重,存在很多不確定的因素,難以建立精確的數(shù)學(xué)模型,從而
13、導(dǎo)致檢測(cè)控制系統(tǒng)性能不佳,甚至出現(xiàn)控制不穩(wěn)定、失控現(xiàn)象。本設(shè)計(jì)采用數(shù)字溫度傳感器DS18B20,因其內(nèi)部集成了A/D轉(zhuǎn)換器,使得電路結(jié)構(gòu)更加簡(jiǎn)單,而且減少了溫度測(cè)量轉(zhuǎn)換時(shí)的精度損失,使得測(cè)量溫度更加精確。數(shù)字溫度傳感器DS18B20只用一個(gè)引腳即可與單片機(jī)進(jìn)行通信,大大減少了接線的麻煩</p><p> 1.2 論文構(gòu)成及研究?jī)?nèi)容</p><p> 本設(shè)計(jì)包括了緒論、核心器件的選擇、
14、硬件電路設(shè)計(jì)、軟件設(shè)計(jì)[2]四個(gè)部分,其中主要介紹了組成電路各部分主要功能的簡(jiǎn)單說(shuō)明以及各元件的選擇因素及其具體參數(shù)。 </p><p> 本設(shè)計(jì)是基于溫度傳感器[4]的溫度檢測(cè)系統(tǒng)[3]中的溫度檢測(cè)、電路控制、報(bào)警系統(tǒng)及顯示部分的實(shí)現(xiàn)。以智能溫度傳感器應(yīng)用技術(shù)和單片機(jī)應(yīng)用技術(shù)為核心進(jìn)行開(kāi)發(fā),并且以理論分析和該技術(shù)方案為基礎(chǔ),在不斷地研究過(guò)程中進(jìn)行不斷的調(diào)整,完成了一個(gè)溫度監(jiān)測(cè)系統(tǒng)的設(shè)計(jì)。</p>
15、<p> 1.3 倉(cāng)庫(kù)溫度檢測(cè)系統(tǒng)的原理框圖</p><p> 本系統(tǒng)采用單片機(jī)及外圍電路完成。最重要的部分即測(cè)溫電路將采用數(shù)字溫度芯片測(cè)量溫度,這樣輸出的信號(hào)為數(shù)字信號(hào),可以直接由單片機(jī)來(lái)處理;按鍵輸入電路用于進(jìn)行調(diào)時(shí)和溫度查詢,以方便對(duì)系統(tǒng)各項(xiàng)參數(shù)的修改;時(shí)鐘及復(fù)位電路將提供給單片機(jī)必不可少的時(shí)鐘信號(hào)和復(fù)位信號(hào)以使單片機(jī)正常工作。報(bào)警電路用于當(dāng)倉(cāng)庫(kù)溫度超過(guò)額定范圍時(shí),及時(shí)報(bào)警通知。顯示電路則
16、是顯示倉(cāng)庫(kù)溫度。系統(tǒng)的原理框圖如圖1.1所示。</p><p> 圖1.1 系統(tǒng)原理框圖</p><p> 第二章 核心器件的選擇</p><p> 2.1 單片機(jī)的選擇</p><p> 由于系統(tǒng)要利用單片機(jī)控制溫度傳感器進(jìn)行實(shí)時(shí)溫度檢測(cè)并顯示,而且要求能夠?qū)崿F(xiàn)快速測(cè)量環(huán)境溫度,并可以根據(jù)需要設(shè)定上下限報(bào)警溫度。所以系統(tǒng)對(duì)單片
17、機(jī)性能要求較高,選用常用的8031系列和8051系列的單片機(jī)可以方便的編程,但8031沒(méi)有內(nèi)部RAM,系統(tǒng)又需要大量?jī)?nèi)存存儲(chǔ)數(shù)據(jù),因而不適用。經(jīng)過(guò)綜合考慮,本系統(tǒng)采用是美國(guó) ATMEL 公司生產(chǎn)的AT89S51,它的介紹如下:</p><p> 2.1.1 AT89S51簡(jiǎn)介</p><p> AT89S51 是美國(guó) ATMEL 公司生產(chǎn)的低功耗,高性能 CMOS8 位單片機(jī),片內(nèi)含
18、 4kbytes 的可編程的 Flash 只讀程序存儲(chǔ)器,兼容標(biāo)準(zhǔn) 8051 指令系統(tǒng)及引腳。它既可在線編程(ISP),也可用傳統(tǒng)方法進(jìn)行編程,所以低價(jià)位 AT89S51單片機(jī)可為提供許多高性價(jià)比的應(yīng)用場(chǎng)合,可靈活應(yīng)用于各種控制領(lǐng)域,對(duì)于簡(jiǎn)單的測(cè)溫系統(tǒng)已經(jīng)足夠。單片機(jī)AT89S51 具有低電壓供電和體積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口就能滿足電路系統(tǒng)的設(shè)計(jì)需要,很適合便攜手持式產(chǎn)品的設(shè)計(jì)。主要特性有:1)與MCS-51 兼容;2)4K字節(jié)
19、可編程閃爍存儲(chǔ)器;3)壽命:100000寫(xiě)/擦循環(huán);4)數(shù)據(jù)保留時(shí)間:10年;5)全靜態(tài)工作:0Hz-24Hz;6)三級(jí)程序存儲(chǔ)器鎖定;7)128*8位內(nèi)部RAM;8)32可編程I/O線;9)兩個(gè)16位定時(shí)器/計(jì)數(shù)器;10)5個(gè)中斷源;11)可編程串行通道;12)低功耗的閑置和掉電模式;13)片內(nèi)振蕩器和時(shí)鐘電路。</p><p> 2.1.2 AT89S51引腳功能</p><p>
20、 AT89S51 單片機(jī)[7]為40 引腳雙列直插式封裝,其引腳排列和邏輯符號(hào)如圖2.1 所示。</p><p> 各引腳功能簡(jiǎn)單介紹如下:</p><p><b> VCC:供電電壓</b></p><p><b> GND:接地</b></p><p> P0口為一個(gè)8位漏級(jí)開(kāi)路雙向I
21、/O口,每個(gè)管腳可吸收8TTL門(mén)電流。當(dāng)P1口的管腳寫(xiě)“1”時(shí),被定義為高阻輸入。P0能夠用于外部程序數(shù)據(jù)存儲(chǔ)器,它可以被定義為數(shù)據(jù)/地址的第八位。在FLASH編程時(shí),P0口作為原碼輸入口,當(dāng)FLASH進(jìn)行校驗(yàn)時(shí),P0輸出原碼[6],此時(shí)P0外部電位必須被拉高。</p><p> P1口:P1口是一個(gè)內(nèi)部提供上拉電阻的8位雙向I/O口,P1口緩沖器能接收輸出4TTL門(mén)電流。P1口管腳寫(xiě)入“1”后,電位被內(nèi)部上拉
22、為高,可用作輸入,P1口被外部下拉為低電平時(shí),將輸出電流,這是由于內(nèi)部上拉的緣故。在FLASH編程和校驗(yàn)時(shí),P1口作為第八位地址接收。</p><p> 圖2.1 AT89S51單片機(jī)引腳圖</p><p> P2口為一個(gè)內(nèi)部上拉電阻的8位雙向I/O口,P2口緩沖器可接收,輸出4個(gè)TTL門(mén)電流,當(dāng)P2口被寫(xiě)“1”時(shí),其管腳電位被內(nèi)部上拉電阻拉高,且作為輸入。作為輸入時(shí),P2口的管腳電
23、位被外部拉低,將輸出電流,這是由于內(nèi)部上拉的緣故。P2口當(dāng)用于外部程序存儲(chǔ)器或16位地址外部數(shù)據(jù)存儲(chǔ)器進(jìn)行存取時(shí),P2口輸出地址的高八位。在給出地址“1”時(shí),它利用內(nèi)部上拉的優(yōu)勢(shì),當(dāng)對(duì)外部八位地址數(shù)據(jù)存儲(chǔ)器進(jìn)行讀寫(xiě)時(shí),P2口輸出其特殊功能寄存器的內(nèi)容。P2口在FLASH編程和校驗(yàn)時(shí)接收高八位地址信號(hào)和控制信號(hào)。</p><p> P3口管腳是8個(gè)帶內(nèi)部上拉電阻的雙向I/O口,可接收輸出4個(gè)TTL門(mén)電流。當(dāng)P3口
24、寫(xiě)入“1”后,它們被內(nèi)部上拉為高電平,并用作輸入。作為輸入時(shí),由于外部下拉為低電平,P3口將輸出電流(ILL),也是由于上拉的緣故。P3口也可作為AT89C51的一些特殊功能口,同時(shí)P3口同時(shí)為閃爍編程和編程校驗(yàn)接收一些控制信號(hào)。</p><p> RST:復(fù)位輸入。當(dāng)振蕩器復(fù)位器件時(shí),要保持RST腳兩個(gè)機(jī)器周期的高電平時(shí)間。</p><p> ALE / PROG :當(dāng)訪問(wèn)外部存儲(chǔ)器
25、時(shí),地址鎖存允許的輸出電平用于鎖存地址的地位字節(jié)。在FLASH編程期間,此引腳用于輸入編程脈沖。在平時(shí),ALE端以不變的頻率周期輸出正脈沖信號(hào),此頻率為振蕩器頻率的1/6。因此它可用作對(duì)外部輸出的脈沖或用于定時(shí)目的。然而要注意的是:每當(dāng)用作外部數(shù)據(jù)存儲(chǔ)器時(shí),將跳過(guò)一個(gè)ALE脈沖。如想禁止ALE的輸出可在SFR8EH地址上置0。此時(shí), ALE只有在執(zhí)行MOVX,MOVC指令時(shí)ALE才起作用。另外,該引腳被略微拉高。如果微處理器在外部執(zhí)行狀
26、態(tài)ALE禁止,置位無(wú)效。</p><p> PSEN:外部程序存儲(chǔ)器的選通信號(hào)。在由外部程序存儲(chǔ)器取址期間,每個(gè)機(jī)器周期PSEN兩次有效。但在訪問(wèn)外部數(shù)據(jù)存儲(chǔ)器時(shí),這兩次有效的PSEN信號(hào)將不出現(xiàn)。</p><p> EA/VPP:當(dāng)EA保持低電平時(shí),訪問(wèn)外部ROM;注意加密方式1時(shí),EA將內(nèi)部鎖定為RESET;當(dāng)EA端保持高電平時(shí),訪問(wèn)內(nèi)部ROM。在FLASH編程期間,此引腳也用于施
27、加12V編程電源(VPP)。</p><p> XTAL1:反向振蕩放大器的輸入及內(nèi)部時(shí)鐘工作電路的輸入。</p><p> XTAL2:來(lái)自反向振蕩器的輸出。</p><p> 2.2 溫度傳感器的選擇</p><p> 由于傳統(tǒng)的熱敏電阻等測(cè)溫元件測(cè)出的一般都是電壓,再轉(zhuǎn)換成對(duì)應(yīng)的溫度,需要比較多的外部元件支持,且硬件電路復(fù)雜,
28、制作成本相對(duì)較高。這里采用DALLAS公司的數(shù)字溫度傳感器DS18B20作為測(cè)溫元件。</p><p> 2.2.1 DS18B20簡(jiǎn)介</p><p> 溫度傳感器DS18B20[5]是一種新型的“一線器件”,其體積更小、更適用于多種場(chǎng)合、且適用電壓更寬、更經(jīng)濟(jì)。溫度測(cè)量范圍為-55~+125 攝氏度,可編程為9位~12 位轉(zhuǎn)換精度,測(cè)溫分辨率可達(dá)0.0625攝氏度,分辨率設(shè)定參數(shù)
29、以及用戶設(shè)定的報(bào)警溫度存儲(chǔ)在EEPROM 中,掉電后依然保存。被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出;其工作電源既可以在遠(yuǎn)端引入,也可以采用寄生電源方式產(chǎn)生;多個(gè)DS18B20可以并聯(lián)到3 根或2 根線上,CPU只需一根端口線就能與諸多DS18B20 通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。因此用它來(lái)組成一個(gè)測(cè)溫系統(tǒng),具有線路簡(jiǎn)單,在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。其封裝方式如圖2.2所示。DQ
30、 為數(shù)據(jù)輸入/輸出引腳;GND為地信號(hào);VCC為電源引腳。</p><p> 圖2.2 DS18B20封裝方式</p><p> 2.2.2 DS18B20的性能特點(diǎn)</p><p> DS18B20非常適用與多點(diǎn)、遠(yuǎn)距離溫度檢測(cè)系統(tǒng),其性能特點(diǎn)如下:</p><p> 獨(dú)特的單線接口方式,DS18B20在與微處理器連接時(shí)僅需要一
31、條口線即可實(shí)現(xiàn)微處理器與DS18B20的雙向通訊。</p><p> DS18B20支持多點(diǎn)組網(wǎng)功能,多個(gè)DS18B20可以并聯(lián)在唯一的三線上,實(shí)現(xiàn)組網(wǎng)多點(diǎn)測(cè)溫。</p><p> DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi)。</p><p> 適應(yīng)電壓范圍更寬,電壓范圍:3.0~5.5V,在寄生電源方式下
32、可由數(shù)據(jù)線供電。</p><p> 溫范圍-55℃~+125℃,在-10~+85℃時(shí)精度為±0.5℃。</p><p><b> 零待機(jī)功耗。</b></p><p> 可編程的分辨率為9~12位,對(duì)應(yīng)的可分辨溫度分別為0.5℃、0.25℃、0.125℃和0.0625℃,可實(shí)現(xiàn)高精度測(cè)溫。</p><p>
33、; 在9位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字,12位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字,速度更快。</p><p> 用戶可定義報(bào)警設(shè)置。</p><p> 報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件。</p><p> 測(cè)量結(jié)果直接輸出數(shù)字溫度信號(hào),以"一線總線"串行傳送給CPU,同時(shí)可傳送CRC
34、校驗(yàn)碼,具有極強(qiáng)的抗干擾糾錯(cuò)能力。</p><p> 負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作。</p><p> 第三章 硬件設(shè)計(jì)電路</p><p> 電路設(shè)計(jì)原理圖如圖3.1所示,控制器使用單片機(jī)AT89S51,溫度傳感器使用DS18B20,用液晶實(shí)現(xiàn)溫度顯示。</p><p> 圖3.1 硬件設(shè)計(jì)
35、電路圖</p><p> 本溫度計(jì)大體分三個(gè)工作過(guò)程。首先,由DS18B20溫度傳感器芯片測(cè)量當(dāng)前的溫度,并將結(jié)果送入單片機(jī)。然后,通過(guò)AT89S51單片機(jī)芯片對(duì)送來(lái)的測(cè)量溫度讀數(shù)進(jìn)行計(jì)算和轉(zhuǎn)換,井將此結(jié)果送入液晶顯示模塊。最后,SMC1602A芯片將送來(lái)的值顯示于顯示屏上。 由圖3.1可看到,本電路主要由DSl8B20溫度傳感器芯片、SMCl602A液晶顯示模塊芯片和AT89S51單片機(jī)芯片組成。其
36、中,DSI8B20溫度傳感器芯片采用“一線制”與單片機(jī)相連,它獨(dú)立地完成溫度測(cè)量以及將溫度測(cè)量結(jié)果送到單片機(jī)的工作。</p><p><b> 3.1 主控制器</b></p><p> AT89S51的復(fù)位電路[9]由C1、R1組成,觸動(dòng)開(kāi)關(guān)K1即可可靠復(fù)位。時(shí)鐘電路由C3、C4及12MHz的石英晶振組成,提供12MHz的時(shí)鐘信號(hào)。P2.0控制DS18B20完
37、成溫度測(cè)量,用P2.7控制報(bào)警電路,用P0口控制顯示電路。主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)三個(gè)步驟:初始化、ROM操作指令、存儲(chǔ)器操作指令。必須先啟動(dòng)DS18B20開(kāi)始轉(zhuǎn)換,再讀出溫度轉(zhuǎn)換值。</p><p><b> 3.2 顯示電路</b></p><p> 顯示電路采用SMCI602A[8]液晶顯示模塊芯片該芯片可顯示16×2個(gè)字符,比
38、以前的七段數(shù)碼管LED顯示器在顯示字符的數(shù)量上要多得多。另外,由于SMCl602芯片編程比較簡(jiǎn)單,界面直觀,因此更加易于使用者操作和觀測(cè)。SMCl602A芯片的接口信號(hào)說(shuō)明如表3.1所列。驅(qū)動(dòng)電路包含在SMCI602A液晶顯示模塊芯片,所以不必外加驅(qū)動(dòng)電路。其控制由單片機(jī)來(lái)完成,亮度調(diào)節(jié)是通過(guò)變阻器R2完成。</p><p> 表3.1 SMCl602A芯片的接口信號(hào)說(shuō)明</p><p&g
39、t; 3.3 溫度檢測(cè)電路</p><p> DS18B20 最大的特點(diǎn)是單總線數(shù)據(jù)傳輸方式,DS18B20 的數(shù)據(jù)I/O 均由同一條線來(lái)完成。DS18B20 的電源供電方式[12]有2 種: 外部供電方式和寄生電源方式。工作于寄生電源方式時(shí), VDD 和GND 均接地, 它在需要遠(yuǎn)程溫度探測(cè)和空間受限的場(chǎng)合特別有用, 原理是當(dāng)1 Wire 總線的信號(hào)線DQ 為高電平時(shí), 竊取信號(hào)能量給DS18B20 供電
40、, 同時(shí)一部分能量給內(nèi)部電容充電, 當(dāng)DQ為低電平時(shí)釋放能量為DS18B20 供電。但寄生電源方式需要強(qiáng)上拉電路, 軟件控制變得復(fù)雜(特別是在完成溫度轉(zhuǎn)換和拷貝數(shù)據(jù)到E2PROM 時(shí)) , 同時(shí)芯片的性能也有所降低。因此, 在條件允許的場(chǎng)合, 盡量采用外供電方式。無(wú)論是內(nèi)部寄生電源還是外部供電,I/O口線要接5KΩ左右的上拉電阻。在這里采用前者方式供電。DS18B20與芯片連接電路如圖 3.2所示。</p><p&g
41、t; 圖3.2 DS18B20與單片機(jī)的連接</p><p> 外部電源供電方式是DS18B20最佳的工作方式,工作穩(wěn)定可靠,抗干擾能力強(qiáng),而且電路也比較簡(jiǎn)單,可以開(kāi)發(fā)出穩(wěn)定可靠的多點(diǎn)溫度監(jiān)控系統(tǒng)。在開(kāi)發(fā)中使用外部電源供電方式,比寄生電源方式只多接一根VCC引線。在外接電源方式下,可以充分發(fā)揮DS18B20寬電源電壓范圍的優(yōu)點(diǎn),即使電源電壓VCC 降到3V 時(shí),依然能夠保證溫度量精度。</p>
42、<p> 3.4 溫度報(bào)警電路</p><p> 本設(shè)計(jì)采軟件處理報(bào)警,利用有源蜂鳴器進(jìn)行報(bào)警輸出,采用直流供電。當(dāng)所測(cè)溫度超過(guò)或者低于所預(yù)設(shè)的溫度時(shí),數(shù)據(jù)口相應(yīng)拉高電平,報(bào)警輸出。也可采用發(fā)光二級(jí)管報(bào)警電路,如果需要報(bào)警,則只需將相應(yīng)位置1,當(dāng)參數(shù)判斷完畢后,再看報(bào)警模型單元ALARM 的內(nèi)容是否與預(yù)設(shè)一樣,如不一樣,則發(fā)光報(bào)警。報(bào)警電路硬件連接見(jiàn)圖3.3。</p><p&
43、gt; 圖3.3 蜂鳴器電路連接圖</p><p><b> 第四章 軟件設(shè)計(jì)</b></p><p><b> 4.1 概述</b></p><p> 整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來(lái)實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟件的功能也就基本定下來(lái)了。從軟件的功能不同可分為兩大類(lèi):一是監(jiān)控軟件(主程序),它是整個(gè)控制
44、系統(tǒng)[11]的核心,專(zhuān)門(mén)用來(lái)協(xié)調(diào)各執(zhí)行模塊和操作者的關(guān)系。二是執(zhí)行軟件(子程序),它是用來(lái)完成各種實(shí)質(zhì)性的功能如測(cè)量、計(jì)算、顯示、通訊等。每一個(gè)執(zhí)行軟件也就是一個(gè)小的功能執(zhí)行模塊。這里將各執(zhí)行模塊一一列出,并為每一個(gè)執(zhí)行模塊進(jìn)行功能定義和接口定義。各執(zhí)行模塊規(guī)劃好后,就可以規(guī)劃監(jiān)控程序了。首先要根據(jù)系統(tǒng)的總體功能選擇一種最合適的監(jiān)控程序結(jié)構(gòu),然后根據(jù)實(shí)時(shí)性的要求,合理地安排監(jiān)控軟件和各執(zhí)行模塊之間地調(diào)度關(guān)系。主程序需要調(diào)用4 個(gè)子程序,
45、分別為數(shù)碼管顯示程序,溫度測(cè)試及處理子程序,報(bào)警子程序,中斷設(shè)定子程序。各模塊程序功能如下:1)數(shù)碼管顯示程序:向數(shù)碼的顯示送數(shù),控制系統(tǒng)的顯示部分。2)溫度測(cè)試及處理程序:對(duì)溫度芯片送過(guò)來(lái)的數(shù)據(jù)進(jìn)行處理,進(jìn)行判斷和顯示。3)報(bào)警子程序:進(jìn)行溫度上下限判斷及報(bào)警輸出。4)中斷設(shè)定程序:實(shí)現(xiàn)設(shè)定上下限報(bào)警功能。</p><p> 4.2 溫度檢測(cè)流程及程序?qū)崿F(xiàn)</p><p> DS1
46、8B20在單片機(jī)控制下分三個(gè)階段:1)18B20 初始化;2)讀18B20時(shí)序; 3)寫(xiě)18B20時(shí)序[2]。 </p><p> 4.2.1 初始化流程</p><p> 初始化流程見(jiàn)圖4.1。首先對(duì)AT89S51的寄存器初試化[2],并檢測(cè)DS18B20是否存在,如果存在,開(kāi)始檢測(cè)溫度,完成一系列的轉(zhuǎn)化操作,做適當(dāng)處理后,由顯示電路顯示,最后進(jìn)入一個(gè)循環(huán)程序,不斷檢測(cè)溫度是否超過(guò)
47、設(shè)定范圍,一旦超過(guò),做報(bào)警處理。</p><p> 在主機(jī)初始化過(guò)程,主機(jī)通過(guò)拉低單總線至少480us,來(lái)產(chǎn)生復(fù)位脈沖。接著,主機(jī)釋放總線,并進(jìn)入接收模式。當(dāng)總線被釋放后,上拉電阻將單總線拉高。在單總線器件檢測(cè)到上升沿后,延時(shí)15~60us,接著通過(guò)拉低總線60~240us,以產(chǎn)生應(yīng)答脈沖。其程序如下:</p><p> 源程序: 其中TEM PD IN 定義為DS18B20 的數(shù)據(jù)管
48、腳, 主機(jī)為AT89S51。</p><p> N ITDS1820: SETB TEM PD N</p><p><b> NO P</b></p><p><b> NO P</b></p><p> CLR TEM PD N</p><p> MOV R6,
49、 # 0A 0H ; 延時(shí)640 Ls</p><p> DJN Z R6, $</p><p> MOV R6, # 0A 0H</p><p> DJN Z R6, $</p><p> SETB TEM PD N ; 釋放總線</p>
50、<p> MOV R6, # 32H ; 延時(shí)100 Ls, 等待回應(yīng)</p><p> DJN Z R6, $</p><p> MOV R6, # 3CH</p><p> LOO P1820: MOV C, TEM PD N ; 采樣總線信號(hào)</p>
51、;<p> JC N ITDS1820OU T</p><p> DJN Z R6,LOO P1820</p><p> MOV R6, # 064H</p><p> DJN Z R6, $</p><p> SJM P N ITDS1820</p><p><b>
52、RET</b></p><p> IN ITDS1820OU T: SETB TEM PD N</p><p><b> RET</b></p><p> 圖4.1 初始化流程圖</p><p> 4.2.2 讀DS18B20流程</p><p> 讀DS18B20流程見(jiàn)
53、圖4.2。首先設(shè)置循環(huán)次數(shù)為8次,通過(guò)總線延遲將8位數(shù)據(jù)讀入單片機(jī)內(nèi)[2]。</p><p> 當(dāng)從DS18B20 讀數(shù)據(jù)時(shí),主機(jī)生成讀時(shí)間隙。當(dāng)主機(jī)把數(shù)據(jù)從高電平拉到低電平時(shí),寫(xiě)時(shí)間隙開(kāi)始,數(shù)據(jù)線必須保持至少1μs;從DS18B20輸出的數(shù)據(jù)在讀時(shí)間隙的下降沿出現(xiàn)后15μs 內(nèi)有效。</p><p> 因此,主機(jī)在讀時(shí)間隙開(kāi)始后必須把I/O 腳驅(qū)動(dòng)拉為的電平保持15μs,以讀取I/O
54、 腳狀態(tài)。在讀時(shí)間隙的結(jié)尾,I/O 引腳將被外部上拉電阻拉到高電平。所有讀時(shí)間隙必須最少60μs,包括兩個(gè)讀周期至少1μs的恢復(fù)時(shí)間。</p><p> 圖4.2 讀DS18B20流程圖</p><p> 源程序: 假設(shè)要讀1B 的數(shù)據(jù), 且數(shù)據(jù)放在A 中。</p><p> READDS1820:MOV R7, # 08H
55、 ; 1 個(gè)字節(jié)8 位</p><p> SETB TEM PD IN</p><p><b> NO P</b></p><p><b> NO P</b></p><p> READDS1820LOO P: CLR TEM PD IN</p><p>
56、<b> NO P</b></p><p> SETB TEM PD IN ; 釋放總線</p><p> MOV R6, # 05H ; 延時(shí)10 Ls</p><p> DJN Z R6, $</p><p> MOV C, TEM PD N
57、 ; 采樣總線數(shù)據(jù)</p><p> MOV R6, # 14H ; 延時(shí)40 Ls</p><p> DJN Z R6, $</p><p> RRC A ; 采樣數(shù)據(jù)存入A</p><p> SETB TEM PD IN
58、 ; 釋放總線</p><p> DJN Z R7, READDS1820LOO P ; 采樣下一位</p><p> MOV R6, # 14H ; 延時(shí)40 Ls</p><p> DJN Z R6, $</p><p><b> RET</b><
59、;/p><p> 4.2.3 寫(xiě)18B20流程</p><p> 寫(xiě)18B20流程見(jiàn)圖4.3。同樣,先設(shè)置循環(huán)次數(shù)為8次,通過(guò)總線延遲將8位數(shù)據(jù)寫(xiě)入單片機(jī)內(nèi)[2]。</p><p> 當(dāng)主機(jī)把數(shù)據(jù)從邏輯高電平拉到邏輯低電平的時(shí)候,寫(xiě)時(shí)間隙開(kāi)始。有兩種寫(xiě)時(shí)間隙,寫(xiě)1 時(shí)間隙和寫(xiě)0 時(shí)間隙。所有寫(xiě)時(shí)間隙必須最少持續(xù)60μs,包括兩個(gè)寫(xiě)周期至少1μs 的恢復(fù)時(shí)間。I/
60、O線電平變低后,DS18B20 在一個(gè)15μs 到60μs 的窗口內(nèi)對(duì)I/O 線采樣。如果線上事高電平,就是寫(xiě)1,如果是低電平,就是寫(xiě)0。主機(jī)要生成一個(gè)寫(xiě)時(shí)間隙,必須把數(shù)據(jù)線拉到低電平然后釋放,在寫(xiě)時(shí)間隙開(kāi)始后的15μs 內(nèi)允許數(shù)據(jù)線拉到高電平。主機(jī)要生成一個(gè)寫(xiě)0 時(shí)間隙,必須把數(shù)據(jù)線拉到低電平并保存60μs。</p><p> 每個(gè)讀時(shí)隙都由主機(jī)發(fā)起,至少拉低總線1us,在主機(jī)發(fā)起讀時(shí)序之后,單總線器件才開(kāi)始
61、在總線上發(fā)送0 或1。所有讀時(shí)序至少需要60us。</p><p> 源程序: 假設(shè)要寫(xiě)1 B 的數(shù)據(jù), 且數(shù)據(jù)放在A 中。</p><p> SETB TEM PDN</p><p><b> NOP</b></p><p><b> NOP</b></p><p>
62、; WRITEDS1820LOP: CLR TEM PD IN</p><p> MOV R6, # 08H ; 延時(shí)15 Ls</p><p> DJN Z R6, $</p><p> RRC A ; 將要寫(xiě)數(shù)據(jù)存入C</p><p> MOV TE
63、M PD IN , C ; 將數(shù)據(jù)寫(xiě)入總線</p><p> MOV R6, # 14H ; 延時(shí)40 Ls</p><p> DJN Z R6, $</p><p> SETB TEM PD IN ; 釋放總線</p><p> DJN Z R7,
64、WR ITEDS1820LO P ; 寫(xiě)8 位</p><p><b> RET</b></p><p> 圖4.3 寫(xiě)DS18B20流程圖</p><p> 4.3 報(bào)警模塊流程</p><p> 報(bào)警流程圖如圖4.4所示。</p><p> 首先將標(biāo)志位全部清除,以避免之前程
65、序的影響。取出溫度,判斷溫度是否大于設(shè)定值,大于上限,置位上限報(bào)警標(biāo)志,小于下限值同樣操作。最后執(zhí)行報(bào)警程序。</p><p> 4.4 中斷設(shè)定流程</p><p> 中斷模塊[6]采用了外中斷和內(nèi)中斷套用方法。當(dāng)設(shè)計(jì)需要實(shí)現(xiàn)上下限報(bào)警時(shí),利用INT0口進(jìn)行中斷,set 鍵進(jìn)行上下限報(bào)警溫度設(shè)定,進(jìn)入溫度設(shè)定狀態(tài)后(按一下溫度設(shè)定鍵),首先會(huì)提示顯示“UP”字母,表示要用戶設(shè)定高溫
66、報(bào)警溫度,按S3 鍵 ,表示本位數(shù)字+1,按S4 表示移向下一位,如果4 位高溫設(shè)定完畢,則顯示“DO”,表示要用戶設(shè)定低溫報(bào)警溫度。4位低溫設(shè)定完畢,如果用戶設(shè)置的高溫比設(shè)定的低溫高的話則顯示“ERRO”表示錯(cuò)誤提示,同時(shí)會(huì)有蜂鳴器及時(shí)報(bào)警提示,然后自動(dòng)顯示“UP”,讓用戶重新進(jìn)行溫度設(shè)定。中斷設(shè)定子程序流程圖見(jiàn)圖4.5。</p><p> 圖4.4 報(bào)警流程圖</p><p>
67、圖4.5 中斷設(shè)定子程序流程圖</p><p><b> 第五章 結(jié) 論</b></p><p> 本設(shè)計(jì)利用AT89S51 芯片控制溫度傳感器DS18B20,再輔之以部分外圍電路實(shí)現(xiàn)對(duì)環(huán)境溫度的測(cè)控,性能穩(wěn)定,精度教高,而且擴(kuò)展性能很強(qiáng)大。由于DS18B20 支持單總線協(xié)議,我們還可以將多個(gè)DS18B20 可以并聯(lián)到3 根或2 根線上,CPU 只需一根端口
68、線就能與諸多DS18B20 通信,占用較少的微處理器的端口就可以實(shí)現(xiàn)多點(diǎn)測(cè)溫監(jiān)控系統(tǒng)。由于DS18B20的測(cè)量精度只有±0.5 度,往往很多場(chǎng)合需要更加精確的溫度,在所測(cè)溫度精度不變的基礎(chǔ)上必須對(duì)數(shù)據(jù)進(jìn)行校正。由于DS18B20 是基于帶隙結(jié)構(gòu)的數(shù)字式溫度傳感器,PN 結(jié)增量電壓正比于IC 絕對(duì)溫度(PTAT),它的測(cè)溫精度較高,但存在著一定的誤差.不過(guò),其誤差在時(shí)間和外部環(huán)境變化的條件下,保持相當(dāng)高的穩(wěn)定性。</p&g
69、t;<p> 在本次設(shè)計(jì)的過(guò)程中,我發(fā)現(xiàn)很多的問(wèn)題,這次設(shè)計(jì)真的讓我長(zhǎng)進(jìn)了很多,針對(duì)溫度傳感器DS18B20芯片的原理我通過(guò)網(wǎng)絡(luò)資料對(duì)其有了更深刻的理解,還有單片機(jī)AT89S51的原理應(yīng)用以及與周邊系統(tǒng)的連接融合環(huán)節(jié)有了實(shí)質(zhì)性的突破。</p><p><b> 參考文獻(xiàn)</b></p><p> [1]孫育才.單片微型計(jì)算機(jī)及其應(yīng)用[M].東南大學(xué)
70、出版社,2004.</p><p> [2]沈德金,陳粵初.單片機(jī)接口電路與應(yīng)用程序?qū)嵗齕M].北京:北京航天航空大學(xué)出版社,1990. </p><p> [3]姜忠良,陳秀云.溫度的測(cè)量與控制[M].北京:清華大學(xué)出版社,2005. </p><p> [4]趙繼文,何玉彬.傳感器與應(yīng)用電路設(shè)計(jì)[M].北京:科學(xué)出版社,2001.</p>&
71、lt;p> [5]呂 泉.現(xiàn)代傳感器原理與應(yīng)用[M].北京:清華大學(xué)出版社,2002.</p><p> [6]李朝青.單片機(jī)原理及接口技術(shù)(簡(jiǎn)明修訂版)[M].北京:北京航空航天大學(xué)出版社,1998.</p><p> [7]李廣弟.單片機(jī)基礎(chǔ)[M].北京:北京航空航天大學(xué)出版社,1994.</p><p> [8]閻石.數(shù)字電子技術(shù)基礎(chǔ)(第三版)[
72、M].北京:高等教育出版社,1989.</p><p> [9]王勇,葉敦范.基于AT89S51的便攜式實(shí)時(shí)溫度檢測(cè)儀[J].儀表技術(shù)與傳感器.2006,24(3).</p><p> [10]張 偉,戈振揚(yáng).烤煙房溫濕度無(wú)線數(shù)據(jù)采集系統(tǒng)[J].計(jì)算機(jī)工程.2010,36(3).</p><p> [11] Atmel Corporation.8-bit Mi
73、crocontroller with 8K Bytes In-System Programmable Flash-AT89S52.</p><p><b> 致 謝</b></p><p> 畢業(yè)設(shè)計(jì)是對(duì)我們知識(shí)運(yùn)用能力的一次全面的考核,也是對(duì)我們進(jìn)行科學(xué)研究基本功的訓(xùn)練,培養(yǎng)我們綜合運(yùn)用所學(xué)知識(shí)獨(dú)立地分析問(wèn)題和解決問(wèn)題的能力,為以后撰寫(xiě)專(zhuān)業(yè)學(xué)術(shù)論文和工作打下良
74、好的基礎(chǔ)。本次設(shè)計(jì)能夠順利完成,首先我要感謝我的母校-xx經(jīng)濟(jì)學(xué)院,是她為我們提供了學(xué)習(xí)知識(shí)的土壤,使我們?cè)谶@里茁壯成長(zhǎng)。</p><p> 其次我要感謝電子信息工程專(zhuān)業(yè)的老師們,他們不僅教會(huì)我們專(zhuān)業(yè)方面的知識(shí),而且教會(huì)我們做人做事的道理;尤其要感謝本次設(shè)計(jì)中給我大力支持和幫助的胡老師,也就是我的指導(dǎo)老師,每有問(wèn)題xxx老師總是耐心的解答,使我能夠充滿熱情的投入到畢業(yè)設(shè)計(jì)中去,還要感謝我的同學(xué)們他們熱心的幫助,
溫馨提示
- 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ù)僅提供信息存儲(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 畢業(yè)論文----倉(cāng)庫(kù)溫度監(jiān)測(cè)系統(tǒng)
- 溫度監(jiān)測(cè)系統(tǒng)虛擬儀表畢業(yè)論文
- 倉(cāng)庫(kù)溫濕度的監(jiān)測(cè)系統(tǒng)畢業(yè)論文
- 倉(cāng)庫(kù)管理系統(tǒng)畢業(yè)論文
- 倉(cāng)庫(kù)管理系統(tǒng) 畢業(yè)論文
- 倉(cāng)庫(kù)管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文-倉(cāng)庫(kù)管理系統(tǒng)
- 畢業(yè)論文--倉(cāng)庫(kù)管理系統(tǒng)
- 溫度測(cè)控系統(tǒng)畢業(yè)論文
- 倉(cāng)庫(kù)管理系統(tǒng)畢業(yè)論文.doc
- java畢業(yè)論文--倉(cāng)庫(kù)管理系統(tǒng)
- 畢業(yè)論文——倉(cāng)庫(kù)即時(shí)查詢系統(tǒng)
- 倉(cāng)庫(kù)管理系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 畢業(yè)論文(無(wú)源程序)倉(cāng)庫(kù)溫濕度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)
- 溫度測(cè)控系統(tǒng)畢業(yè)論文
- 企業(yè)倉(cāng)庫(kù)管理系統(tǒng)畢業(yè)論文
- 畢業(yè)論文----vb倉(cāng)庫(kù)管理系統(tǒng)論文
- 基于單片機(jī)與無(wú)線技術(shù)的倉(cāng)庫(kù)溫度采集系統(tǒng)畢業(yè)論文
- 基于單片機(jī)的多點(diǎn)溫度監(jiān)測(cè)系統(tǒng)設(shè)計(jì)畢業(yè)論文
- 溫度控制系統(tǒng)畢業(yè)論文
評(píng)論
0/150
提交評(píng)論