畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)和1602液晶的數(shù)字溫度計(jì)設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)和1602液晶的數(shù)字溫度計(jì)設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)和1602液晶的數(shù)字溫度計(jì)設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)和1602液晶的數(shù)字溫度計(jì)設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)和1602液晶的數(shù)字溫度計(jì)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 屆別 2012 屆 學(xué)號(hào) 200814110210 畢業(yè)論文 數(shù)字溫度計(jì)的設(shè)計(jì) 姓 名 系 別、 專 業(yè) 物電系 電子信息科學(xué)與技術(shù) 導(dǎo) 師 姓 名、職 稱 完 成 時(shí) 間 2012年3月 目 錄 摘要.- - 1. 緒論.- 1 - 1.1 課題背景及研究意義 .- 1 - 1.2 國(guó)內(nèi)外現(xiàn)狀 .- 1 - 1.3 課題的設(shè)計(jì)目的 .- 2 - 1.4 課題的主要工作 .- 2 - 1.5 本文研究?jī)?nèi)容 .- 3 - 2 系統(tǒng)總體方案及硬件設(shè)計(jì).- - 3 - - 2.1 數(shù)字溫度計(jì)設(shè)計(jì)方案論證 .- 3 - 2.2 總體設(shè)計(jì)框圖 .- 3 - 2.3 系統(tǒng)整體硬件電路設(shè)計(jì) .- 12 -

2、 3.系統(tǒng)軟件設(shè)計(jì).- - 14 - - 3.1 主程序設(shè)計(jì) .- 14 - 3.2 ds18b20 初始化 .- 15 - 3.3 數(shù)據(jù)測(cè)試 .- 16 - 3.4 仿真結(jié)果 .- 17 - 參考文獻(xiàn).- 19- 致 謝.- 20 - 附錄:程序清單.- 21- 摘 要 隨著科技的不斷進(jìn)步,在工業(yè)生產(chǎn)中溫度是常用的被控參數(shù),而采用單片 機(jī)來(lái)對(duì)這些被控參數(shù)進(jìn)行控制已成為當(dāng)今的主流。本文介紹了數(shù)字溫度測(cè)量及 報(bào)警系統(tǒng)的設(shè)計(jì)。本文采用單片機(jī)作為主要部分。它的主要組成部分有: at89c52單片機(jī)、ds18b20溫度傳感器、lcd1602顯示模塊。它可以實(shí)時(shí)的溫度顯 示和溫度門限報(bào)警。通過(guò)測(cè)試表明,

3、本設(shè)計(jì)簡(jiǎn)單、性能穩(wěn)定、靈敏度高、抗干擾 能力強(qiáng)、使用方便等優(yōu)點(diǎn),廣泛應(yīng)用于養(yǎng)殖業(yè)及冰箱、空調(diào)器、糧倉(cāng)等日常生 活中溫度的測(cè)量。 關(guān)鍵詞: 數(shù)字溫度 測(cè)量 報(bào)警 at89c52單片機(jī) ds18b20溫度傳感器 lcd1602顯示模塊 abstract with the progress of science and technology industrial production in the temperature is charged with common parameters, and mcu to use these parameter control has become the m

4、ain. this paper introduces a digital temperature measurement and alarm system design. this paper uses single-chip microcomputer as the main part. its main components are: at89c52, ds18b20 single-chip temperature sensor, lcd1602 display module. it can real-time temperature display and alarm temperatu

5、re threshold. the test results show that, the design is simple, stable performance, high sensitivity, strong anti-interference capability, easy to use, widely used in aquaculture and refrigerator, air conditioner barn and other daily temperature measurement. key words: digital temperature;measuremen

6、t;alarm;single chip microcomputer; ds18b20temperature sensor ;lcd1602 display module 1.1.緒論緒論 1.1 課題背景及研究意義 隨著新技術(shù)的不斷開發(fā)與應(yīng)用,近年來(lái)單片機(jī)發(fā)展十分迅速,一個(gè)以微機(jī) 應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起,單片機(jī)的應(yīng)用已經(jīng)滲透到電力、冶 金、化工、建材、機(jī)械、食品、石油等各個(gè)行業(yè)。傳統(tǒng)的溫度采集方法不僅費(fèi) 時(shí)費(fèi)力,而且精度差,單片機(jī)的出現(xiàn)使得溫度的采集和數(shù)據(jù)處理問(wèn)題能夠得到 很好的解決。溫度是工業(yè)對(duì)象中的一個(gè)重要的被控參數(shù)。然而所采用的測(cè)溫元 件和測(cè)量方法也不相同;產(chǎn)品的工藝不同,

7、控制溫度的精度也不相同。因此對(duì) 數(shù)據(jù)采集的精度和采用的控制方法也不相同。傳統(tǒng)的控制方式以不能滿足高精 度,高速度的控制要求,如溫度控制表溫度接觸器,其主要缺點(diǎn)是溫度波動(dòng)范 圍大,由于他主要通過(guò)控制接觸器的通斷時(shí)間比例來(lái)達(dá)到改變加熱功率的目的, 受儀表本身誤差和交流接觸器的壽命限制,通斷頻率很低。近幾年來(lái)快速發(fā)展 了多種先進(jìn)的溫度控制方式,如:pid 控制,模糊控制,神經(jīng)網(wǎng)絡(luò)及遺傳算法 控制等。這些控制技術(shù)大大的提高了控制精度,不但使控制變得簡(jiǎn)便,而且使 產(chǎn)品的質(zhì)量更好,降低了產(chǎn)品的成本,提高了生產(chǎn)效率。本系統(tǒng)所使用的加熱 器件是電爐絲,功率為三千瓦,要求溫度在 4001000。靜態(tài)控制精度為

8、2.43。 本設(shè)計(jì)使用單片機(jī)作為核心進(jìn)行控制。單片機(jī)具有集成度高,通用性好, 功能強(qiáng),特別是體積小,重量輕,耗能低,可靠性高,抗干擾能力強(qiáng)和使用方 便等獨(dú)特優(yōu)點(diǎn),在數(shù)字、智能化方面有廣泛的用途。 1.2 國(guó)內(nèi)外現(xiàn)狀 溫度控制系統(tǒng)在國(guó)內(nèi)各行各業(yè)的應(yīng)用雖然已經(jīng)十分廣泛,但從國(guó)內(nèi)生產(chǎn)的 溫度控制器來(lái)講,總體發(fā)展水平仍然不高,同日本、美國(guó)、德國(guó)等先進(jìn)國(guó)家相 比,仍然有著較大的差距。成熟的溫控產(chǎn)品主要以“點(diǎn)位”控制及常規(guī)的 pid 控制器為主,它們只能適應(yīng)一般溫度系統(tǒng)控制,而用于較高控制場(chǎng)合的智能化、 自適應(yīng)控制儀表,國(guó)內(nèi)技術(shù)還不十分成熟,形成商品化并廣泛應(yīng)用的控制儀表 較少。隨著我國(guó)經(jīng)濟(jì)的發(fā)展及加入

9、wto,我國(guó)政府及企業(yè)對(duì)此都非常重視,對(duì) 相關(guān)企業(yè)資源進(jìn)行了重組,相繼建立了一些國(guó)家、企業(yè)的研發(fā)中心,開展創(chuàng)新 性研究,使我國(guó)儀表工業(yè)得到了迅速的發(fā)展。 單片機(jī)是指一個(gè)集成在一塊芯片上的完整計(jì)算機(jī)系統(tǒng)。盡管他的大部分功 能集成在一塊小芯片上,但是它具有一個(gè)完整計(jì)算機(jī)所需要的大部分部件: cpu、內(nèi)存、內(nèi)部和外部總線系統(tǒng),目前大部分還會(huì)具有外存。同時(shí)集成諸如通 訊接口、定時(shí)器,實(shí)時(shí)時(shí)鐘等外圍設(shè)備。而現(xiàn)在最強(qiáng)大的單片機(jī)系統(tǒng)甚至可以 將聲音、圖像、網(wǎng)絡(luò)、復(fù)雜的輸入輸出系統(tǒng)集成在一塊芯片上。 單片機(jī)也被稱為微控制器(microcontroller) ,是因?yàn)樗钤绫挥迷诠I(yè) 控制領(lǐng)域。單片機(jī)由芯片內(nèi)僅

10、有 cpu 的專用處理器發(fā)展而來(lái)。最早的設(shè)計(jì)理念 是通過(guò)將大量外圍設(shè)備和 cpu 集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易 集成進(jìn)復(fù)雜的而對(duì)體積要求嚴(yán)格的控制設(shè)備當(dāng)中。intel 的 z80 是最早按照這 種思想設(shè)計(jì)出的處理器,從此以后,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣。 早期的單片機(jī)都是 8 位或 4 位的。其中最成功的是 intel 的 8031,因?yàn)楹?jiǎn) 單可靠而性能不錯(cuò)獲得了很大的好評(píng)。此后在 8031 上發(fā)展出了 mcs51 系列單片 機(jī)系統(tǒng)。基于這一系統(tǒng)的單片機(jī)系統(tǒng)直到現(xiàn)在還在廣泛使用。隨著工業(yè)控制領(lǐng) 域要求的提高,開始出現(xiàn)了 16 位單片機(jī),但因?yàn)樾詢r(jià)比不理想并未得到很廣泛 的

11、應(yīng)用。90 年代后隨著消費(fèi)電子產(chǎn)品大發(fā)展,單片機(jī)技術(shù)得到了巨大的提高。 隨著 intel i960 系列特別是后來(lái)的 arm 系列的廣泛應(yīng)用,32 位單片機(jī)迅速取 代 16 位單片機(jī)的高端地位,并且進(jìn)入主流市場(chǎng)。而傳統(tǒng)的 8 位單片機(jī)的性能也 得到了飛速提高,處理能力比起 80 年代提高了數(shù)百倍。目前,高端的 32 位單 片機(jī)主頻已經(jīng)超過(guò) 300mhz,性能直追 90 年代中期的專用處理器,而普通的型 號(hào)出廠價(jià)格跌落至 1 美元,最高端的型號(hào)也只有 10 美元。當(dāng)代單片機(jī)系統(tǒng)已經(jīng) 不再只在裸機(jī)環(huán)境下開發(fā)和使用,大量專用的嵌入式操作系統(tǒng)被廣泛應(yīng)用在全 系列的單片機(jī)上。而在作為掌上電腦和手機(jī)核心處

12、理的高端單片機(jī)甚至可以直 接使用專用的 windows 和 linux 操作系統(tǒng)。 1.3 課題的設(shè)計(jì)目的 1. 鞏固、加深和擴(kuò)大單片機(jī)應(yīng)用的知識(shí)面,提高綜合及靈活運(yùn)用所學(xué)知識(shí) 解決工業(yè)控制的能力。 2. 培養(yǎng)針對(duì)課題需要,選擇和查閱有關(guān)手冊(cè)、圖表及文獻(xiàn)資料的自學(xué)能力, 提高組成系統(tǒng)、編程、調(diào)試的動(dòng)手能力。 3. 通過(guò)對(duì)課題設(shè)計(jì)方案的分析、選擇、比較、熟悉單片機(jī)用系統(tǒng)開發(fā)、研 制的過(guò)程,軟硬件設(shè)計(jì)的方法、內(nèi)容及步驟。 1.4 課題的主要工作 本課題的器 ds18b20,此傳感器課讀取被測(cè)量溫度值,進(jìn)行轉(zhuǎn)換。 主要工作研究重點(diǎn)是設(shè)計(jì)一種基于單片機(jī)的數(shù)字溫度測(cè)量及報(bào)警系統(tǒng)。利 用數(shù)字溫度傳感如下:

13、 1. 測(cè)溫范圍 55+125,固有測(cè)溫分辨率 0.5。 2. 精度誤差小于 1。 3. lcd1602 液晶顯示。 4. 兩路溫度測(cè)量及報(bào)警功能。 5. 實(shí)現(xiàn)報(bào)警提示蜂鳴器及 led 發(fā)光二極管。 1.5 本文研究?jī)?nèi)容 數(shù)字溫度計(jì)采用溫度敏感元件也就是溫度傳感器(如鉑電阻,熱電偶, 半導(dǎo)體,熱敏電阻等),將溫度的變化轉(zhuǎn)換成電信號(hào)的變化,如電壓和電流 的變化,溫度變化和電信號(hào)的變化有一定的關(guān)系,如線性關(guān)系,一定的曲線 關(guān)系等,這個(gè)電信號(hào)可以使用模數(shù)轉(zhuǎn)換的電路即a/d 轉(zhuǎn)換電路將模擬信號(hào) 轉(zhuǎn)換為數(shù)字信號(hào),數(shù)字信號(hào)再送給處理單元,如單片機(jī)或者pc 機(jī)等,處理 單元經(jīng)過(guò)內(nèi)部的軟件計(jì)算將這個(gè)數(shù)字信號(hào)和

14、溫度聯(lián)系起來(lái),成為可以顯示出 來(lái)的溫度數(shù)值,如 25.0攝氏度,然后通過(guò)顯示單元,如 led,lcd 或者電腦 屏幕等顯示出來(lái)給人觀察。這樣就完成了數(shù)字溫度計(jì)的基本測(cè)溫功能。 本文是基于 at89s51 單片機(jī),采用數(shù)字溫度傳感器 ds18b20,利用 ds18b20 不需要 a/d 轉(zhuǎn)換,課直接進(jìn)行溫度采集顯示,報(bào)警的數(shù)字溫度計(jì)設(shè) 計(jì)。包括傳感器數(shù)據(jù)采集電路,溫度顯示電路,上下限報(bào)警調(diào)整電路,單片機(jī) 主板電路等組成。 2 系統(tǒng)總體方案及硬件設(shè)計(jì) 2.1 數(shù)字溫度計(jì)設(shè)計(jì)方案論證 由于本設(shè)計(jì)是測(cè)溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng), 在將隨被測(cè)溫度變化的電壓或電流采集過(guò)來(lái),進(jìn)行 a/

15、d 轉(zhuǎn)換后,就可以用單片 機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測(cè)溫度顯示出來(lái),這種設(shè)計(jì)需 要用到 a/d 轉(zhuǎn)換電路,感溫電路比較麻煩。進(jìn)而考慮到用溫度傳感器,在單片 機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采 用一只溫度傳感器 ds18b20,此傳感器,可以很容易直接讀取被測(cè)溫度值,進(jìn) 行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。 2.2 總體設(shè)計(jì)框圖 溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖 1 所示,控制器采用單片機(jī) at89c52,溫度傳感器采用 ds18b20,lcd1602 實(shí)現(xiàn)溫度顯示。 圖 1 總體設(shè)計(jì)框圖 2.2.1 主控制器 單片機(jī) at89c52 具有低電壓供電和體

16、積小等特點(diǎn),四個(gè)端口只需要兩個(gè)口 就能滿足電路系統(tǒng)的設(shè)計(jì)需要,適合便攜手持式產(chǎn)品的設(shè)計(jì)使用。 at89c52 單片機(jī)芯片具有以下特性: 1)指令集合芯片引腳與 intel 公司的 8052 兼容; 2)4kb 片內(nèi)在系統(tǒng)可編程 flash 程序存儲(chǔ)器; 3)時(shí)鐘頻率為 033mhz; 4)128 字節(jié)片內(nèi)隨機(jī)讀寫存儲(chǔ)器(ram) ; 5)6 個(gè)中斷源,2 級(jí)優(yōu)先級(jí); 6)2 個(gè) 16 位定時(shí)/記數(shù)器; 7)全雙工串行通信接口; 8)監(jiān)視定時(shí)器; 9)兩個(gè)數(shù)據(jù)指針; 2.2.2 1602 顯示模塊 at89c52 單片機(jī) 時(shí)鐘震蕩電路 lcd1602 顯示模 塊 溫度門限報(bào)警電路 溫度檢測(cè)電路

17、顯示電路采用 lcd1602 液晶,接 p0 口, 1602lcd 主要技術(shù)參數(shù): 顯示容量:162個(gè)字符 芯片工作電壓:4.55.5v 工作電流:2.0ma(5.0v) 模塊最佳工作電壓:5.0v 字符尺寸:2.954.35(wh)mm 2.2.2.1引腳功能說(shuō)明: 1602lcd 采用標(biāo)準(zhǔn)的14腳(無(wú)背光)或16腳(帶背光)接口,各引腳接口說(shuō)明 如表2-1所示: 編號(hào)符號(hào)引腳說(shuō)明編號(hào)符號(hào)引腳說(shuō)明 1vss 電源地 9d2 數(shù)據(jù) 2vdd 電源正極 10d3 數(shù)據(jù) 3vl 液晶顯示偏壓 11d4 數(shù)據(jù) 4rs 數(shù)據(jù)/命令選擇 12d5 數(shù)據(jù) 5r/w 讀/寫選擇 13d6 數(shù)據(jù) 6e 使能信

18、號(hào) 14d7 數(shù)據(jù) 7d0 數(shù)據(jù) 15bla 背光源正極 8d1 數(shù)據(jù) 16blk 背光源負(fù)極 表2-1:引腳接口說(shuō)明表 第1腳:vss 為地電源。 第2腳:vdd 接5v 正電源。 第3腳:vl 為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比 度最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影” ,使用時(shí)可以通過(guò)一個(gè)10k 的電位器調(diào)整 對(duì)比度。 第4腳:rs 為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存 器。 第5腳:r/w 為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng) rs 和 r/w 共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng) rs 為低電平 r/w 為高電 平時(shí)可

19、以讀忙信號(hào),當(dāng) rs 為高電平 r/w 為低電平時(shí)可以寫入數(shù)據(jù)。 第6腳:e 端為使能端,當(dāng) e 端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。 第714腳:d0d7為8位雙向數(shù)據(jù)線。 第15腳:背光源正極。 第16腳:背光源負(fù)極。 2.2.2.2 1602lcd 的指令說(shuō)明及時(shí)序 1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表2-2所示: 序號(hào) 指令 rsr/wd7d6d5d4d3d2d1d0 1 清顯示 0000000001 2 光標(biāo)返回 000000001* 3 置輸入模式 00000001i/ds 4 顯示開/關(guān)控制 0000001dcb 5 光標(biāo)或字符移位 000001s/c r

20、/l* 6 置功能 00001dlnf* 7 置字符發(fā)生存貯器地址 0001 字符發(fā)生存貯器地址 8 置數(shù)據(jù)存貯器地址 001 顯示數(shù)據(jù)存貯器地址 9 讀忙標(biāo)志或地址 01bf 計(jì)數(shù)器地址 10 寫數(shù)到 cgram 或 ddram) 10 要寫的數(shù)據(jù)內(nèi)容 11 從 cgram 或 ddram 讀數(shù) 11 讀出的數(shù)據(jù)內(nèi)容 表2-2:控制命令表 1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。 (說(shuō)明:1為高電平、0為低電平) 指令1:清顯示,指令碼01h,光標(biāo)復(fù)位到地址00h 位置。 指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00h。 指令3:光標(biāo)和顯示模式設(shè)置 i/d:光標(biāo)移動(dòng)方向

21、,高電平右移,低電平左移 s:屏 幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。 指令4:顯示開關(guān)控制。 d:控制整體顯示的開與關(guān),高電平表示開顯示,低電 平表示關(guān)顯示 c:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo) b:控制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。 指令5:光標(biāo)或顯示移位 s/c:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。 指令6:功能設(shè)置命令 dl:高電平時(shí)為4位總線,低電平時(shí)為8位總線 n:低電 平時(shí)為單行顯示,高電平時(shí)雙行顯示 f: 低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平 時(shí)顯示5x10的點(diǎn)陣字符。 指令7:字符發(fā)生器 ram 地址設(shè)置。 指令8:

22、ddram 地址設(shè)置。 指令9:讀忙信號(hào)和光標(biāo)地址 bf:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能 接收命令或者數(shù)據(jù),如果為低電平表示不忙。 指令10:寫數(shù)據(jù)。 指令11:讀數(shù)據(jù)。 與 hd44780相兼容的芯片時(shí)序表如下: 讀狀態(tài)輸入rs=l,r/w=h,e=h輸出d0d7=狀態(tài)字 寫指令輸入rs=l,r/w=l,d0d7=指令碼,e=高 脈沖 輸出無(wú) 讀數(shù)據(jù)輸入rs=h,r/w=h,e=h輸出d0d7=數(shù)據(jù) 寫數(shù)據(jù)輸入rs=h,r/w=l,d0d7=數(shù)據(jù),e=高脈 沖 輸出無(wú) 表2-3:基本操作時(shí)序表 讀寫操作時(shí)序如圖2-1和2-2所示: 圖2-1讀操作時(shí)序 圖2-2 寫操作時(shí)序 2.2.2

23、.3 1602lcd 的 ram 地址映射及標(biāo)準(zhǔn)字庫(kù)表 液晶顯示模塊是一個(gè)慢顯示器件,所以在執(zhí)行每條指令之前一定要確認(rèn)模塊的 忙標(biāo)志為低電平,表示不忙,否則此指令失效。要顯示字符時(shí)要先輸入顯示字 符地址,也就是告訴模塊在哪里顯示字符,圖2-3是1602的內(nèi)部顯示地址。 圖2-3 1602lcd 內(nèi)部顯示地址 例如第二行第一個(gè)字符的地址是40h,那么是否直接寫入40h 就可以將光標(biāo)定 位在第二行第一個(gè)字符的位置呢?這樣不行,因?yàn)閷懭腼@示地址時(shí)要求最高位 d7恒定為高電平1所以實(shí)際寫入的數(shù)據(jù)應(yīng)該是01000000b(40h)+10000000b(80h) =11000000b(c0h)。 在對(duì)液晶

24、模塊的初始化中要先設(shè)置其顯示模式,在液晶模塊顯示字符時(shí)光標(biāo)是 自動(dòng)右移的,無(wú)需人工干預(yù)。每次輸入指令前都要判斷液晶模塊是否處于忙的 狀態(tài)。 1602液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器(cgrom)已經(jīng)存儲(chǔ)了160個(gè)不同的點(diǎn)陣字 符圖形,這些字符有:阿拉伯?dāng)?shù)字、英文字母的大小寫、常用的符號(hào)、和日文 假名等,每一個(gè)字符都有一個(gè)固定的代碼,比如大寫的英文字母“a”的代碼是 01000001b(41h) ,顯示時(shí)模塊把地址41h 中的點(diǎn)陣字符圖形顯示出來(lái),我們就 能看到字母“a” 2.2.3 溫度傳感器 ds18b20 溫度傳感器是美國(guó) dallas 半導(dǎo)體公司推出的一種改進(jìn)型智能 溫度傳感器,與傳統(tǒng)的熱敏

25、電阻等測(cè)溫元件相比,它能直接讀出被測(cè)溫度,并 且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn) 9-12 位的數(shù)字值讀數(shù)方式。ds18b20 的 性能特點(diǎn)如下: 獨(dú)特的單線接口僅需要一個(gè)端口引腳進(jìn)行通信,無(wú)須經(jīng)過(guò)其它變換電路; 多個(gè) ds18b20 可以并聯(lián)在惟一的三線上,實(shí)現(xiàn)多點(diǎn)組網(wǎng)功能; 內(nèi)含 64 位經(jīng)過(guò)激光修正的只讀存儲(chǔ)器 rom; 可通過(guò)數(shù)據(jù)線供電,內(nèi)含寄生電源,電壓范圍為 3.05.5; 零待機(jī)功耗; 溫度以或位數(shù)字; 用戶可定義報(bào)警設(shè)置; 報(bào)警搜索命令識(shí)別并標(biāo)志超過(guò)程序限定溫度(溫度報(bào)警條件)的器件; 負(fù)電壓特性,電源極性接反時(shí),溫度計(jì)不會(huì)因發(fā)熱而燒毀,但不能正常工作; 測(cè)溫范圍為-55-+1

26、25,測(cè)量分辨率為 0.0625采用單總線專用技術(shù), ds18b20 采用腳 pr35 封裝或腳 soic 封裝,其內(nèi)部結(jié)構(gòu)框圖如圖 2 所 示。 圖 2 ds18b20 內(nèi)部結(jié)構(gòu) 64 位 rom 的結(jié)構(gòu)開始位是產(chǎn)品類型的編號(hào),接著是每個(gè)器件的惟一的序號(hào), 共有 48 位,最后位是前面 56 位的 crc 檢驗(yàn)碼,這也是多個(gè) ds18b20 可以采 用一線進(jìn)行通信的原因。溫度報(bào)警觸發(fā)器和,可通過(guò)軟件寫入用戶報(bào) 警上下限。 ds18b20 溫度傳感器的內(nèi)部存儲(chǔ)器還包括一個(gè)高速暫存 ram 和一個(gè)非易失性的 可電擦除的 eeram。高速暫存 ram 的結(jié)構(gòu)為字節(jié)的存儲(chǔ)器,結(jié)構(gòu)如圖 3 所示。 頭

27、個(gè)字節(jié)包含測(cè)得的溫度信息,第和第字節(jié)和的拷貝,是易失 的,每次上電復(fù)位時(shí)被刷新。第個(gè)字節(jié),為配置寄存器,它的內(nèi)容用于確定 溫度值的數(shù)字轉(zhuǎn)換分辨率。ds18b20 工作時(shí)寄存器中的分辨率轉(zhuǎn)換為相應(yīng)精度 的溫度數(shù)值。該字節(jié)各位的定義如圖 3 所示。低位一直為,是工作模 式位,用于設(shè)置 ds18b20 在工作模式還是在測(cè)試模式,ds18b20 出廠時(shí)該位被 設(shè)置為,用戶要去改動(dòng),r1 和 r0 決定溫度轉(zhuǎn)換的精度位數(shù),來(lái)設(shè)置分辨率。 溫度 lsb 溫度 msb th 用戶字節(jié) 1 tl 用戶字節(jié) 2 tm r1 1r01111 . . . 圖 3 ds18b20 字節(jié)定義 由下面表 1 可見,ds1

28、8b20 溫度轉(zhuǎn)換的時(shí)間比較長(zhǎng),而且分辨率越高,所需要 的溫度數(shù)據(jù)轉(zhuǎn)換時(shí)間越長(zhǎng)。因此,在實(shí)際應(yīng)用中要將分辨率和轉(zhuǎn)換時(shí)間權(quán)衡考 慮。 高速暫存的第、字節(jié)保留未用,表現(xiàn)為全邏輯。第字節(jié)讀 出前面所有字節(jié)的 crc 碼,可用來(lái)檢驗(yàn)數(shù)據(jù),從而保證通信數(shù)據(jù)的正確性。 當(dāng) ds18b20 接收到溫度轉(zhuǎn)換命令后,開始啟動(dòng)轉(zhuǎn)換。轉(zhuǎn)換完成后的溫度值就以 16 位帶符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼形式存儲(chǔ)在高速暫存存儲(chǔ)器的第、字節(jié)。單 片機(jī)可以通過(guò)單線接口讀出該數(shù)據(jù),讀數(shù)據(jù)時(shí)低位在先,高位在后,數(shù)據(jù)格式 以 0.0625lsb 形式表示。 當(dāng)符號(hào)位時(shí),表示測(cè)得的溫度值為正值,可以直接將二進(jìn)制位轉(zhuǎn)換為十 進(jìn)制;當(dāng)符號(hào)位時(shí),表示

29、測(cè)得的溫度值為負(fù)值,要先將補(bǔ)碼變成原碼, 再計(jì)算十進(jìn)制數(shù)值。表 2 是一部分溫度值對(duì)應(yīng)的二進(jìn)制溫度數(shù)據(jù)。 r0r1 0 0 0 1 0 1 1 1 9 10 11 12 分辨率/位 溫度最大轉(zhuǎn)向時(shí)間/ms 93.75 187.5 375 750 . . . 表 1 ds18b20 溫度轉(zhuǎn)換時(shí)間表 ds18b20 完成溫度轉(zhuǎn)換后,就把測(cè)得的溫度值與 ram 中的 th、t字節(jié) 內(nèi)容作比較。若th 或 ttl,則將該器件內(nèi)的報(bào)警標(biāo)志位置位,并對(duì)主 機(jī)發(fā)出的報(bào)警搜索命令作出響應(yīng)。因此,可用多只 ds18b20 同時(shí)測(cè)量溫度并進(jìn) 行報(bào)警搜索。 在 64 位 rom 的最高有效字節(jié)中存儲(chǔ)有循環(huán)冗余檢驗(yàn)碼

30、(crc) 。主機(jī) rom 的前 56 位來(lái)計(jì)算 crc 值,并和存入 ds18b20 的 crc 值作比較,以判斷 主機(jī)收到的 rom 數(shù)據(jù)是否正確。 配置寄存器 保留 保留 保留 crc ds18b20 的測(cè)溫原理是這這樣的,器件中低溫度系數(shù)晶振的振蕩頻率受溫度 的影響很小,用于產(chǎn)生固定頻率的脈沖信號(hào)送給減法計(jì)數(shù)器 1;高溫度系數(shù)晶 振隨溫度變化其振蕩頻率明顯改變,所產(chǎn)生的信號(hào)作為減法計(jì)數(shù)器的脈沖輸 入。器件中還有一個(gè)計(jì)數(shù)門,當(dāng)計(jì)數(shù)門打開時(shí),ds18b20 就對(duì)低溫度系數(shù)振蕩 器產(chǎn)生的時(shí)鐘脈沖進(jìn)行計(jì)數(shù)進(jìn)而完成溫度測(cè)量。計(jì)數(shù)門的開啟時(shí)間由高溫度系 數(shù)振蕩器來(lái)決定,每次測(cè)量前,首先將55所對(duì)應(yīng)

31、的一個(gè)基數(shù)分別置入減法 計(jì)數(shù)器、溫度寄存器中,計(jì)數(shù)器和溫度寄存器被預(yù)置在55所對(duì)應(yīng)的一 個(gè)基數(shù)值。 減法計(jì)數(shù)器對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行減法計(jì)數(shù),當(dāng)減法計(jì)數(shù)器 的預(yù)置值減到時(shí),溫度寄存器的值將加 1,減法計(jì)數(shù)器的預(yù)置將重新被 裝入,減法計(jì)數(shù)器重新開始對(duì)低溫度系數(shù)晶振產(chǎn)生的脈沖信號(hào)進(jìn)行計(jì)數(shù),如 此循環(huán)直到減法計(jì)數(shù)器計(jì)數(shù)到時(shí),停止溫度寄存器的累加,此時(shí)溫度寄存器 中的數(shù)值就是所測(cè)溫度值。其輸出用于修正減法計(jì)數(shù)器的預(yù)置值,只要計(jì)數(shù)器 門仍未關(guān)閉就重復(fù)上述過(guò)程,直到溫度寄存器值大致被測(cè)溫度值。 溫度/二進(jìn)制表示十六進(jìn)制表示 +1250000 0111 1101 000007d0h +85000

32、0 0101 0101 00000550h +25.06250000 0001 1001 00000191h +10.1250000 0000 1010 000100a2h +0.50000 0000 0000 00100008h 00000 0000 0000 10000000h -0.51111 1111 1111 0000fff8h -10.1251111 1111 0101 1110ff5eh -25.06251111 1110 0110 1111fe6fh -551111 1100 1001 0000fc90h 表 2一部分溫度對(duì)應(yīng)值表 2.3 系統(tǒng)整體硬件電路設(shè)計(jì) 2.3.1 主板

33、電路 系統(tǒng)整體硬件電路包括,傳感器數(shù)據(jù)采集電路,溫度顯示電路,上下限報(bào)警 調(diào)整電路,單片機(jī)主板電路等,單片機(jī)主板電路如圖 5 所示: 圖 5 單片機(jī)主板電路 圖 5 中為時(shí)鐘振蕩電路, 2.3.2 顯示電路 顯示電路只用 p0 口,采用 lcd1602 液晶, 圖 6 溫度顯示電路 2.3.3 溫度采集電路 ds18b20 電路采用多總線設(shè)計(jì),一個(gè)傳感器接一條總線,避免了 讀序列號(hào)的操作 3.系統(tǒng)軟件設(shè)計(jì) 3.1 主程序設(shè)計(jì) 整個(gè)系統(tǒng)的功能是由硬件電路配合軟件來(lái)實(shí)現(xiàn)的,當(dāng)硬件基本定型后,軟 件的功能也就基本定下來(lái)了。從軟件的功能不同可分為兩大類:一是監(jiān)控軟件 (主程序),它是整個(gè)控制系統(tǒng)的核心

34、,專門用來(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)系。主程序流程見圖5-1。 否 是 圖 5-1 主程序流程圖 3.2 ds18b20 初始化 18b20初始化流程圖見圖5-2。 開始 初始化 判斷溫度是否在設(shè) 定范圍內(nèi) 紅燈亮 報(bào)警 綠燈亮 正常

35、 顯示溫度 結(jié)束 c c5 51 1寄寄存存器器初初始始 化化 溫溫度度轉(zhuǎn)轉(zhuǎn)換換命命令令 1 18 8b b2 20 0存存在在? 讀讀取取溫溫度度 溫溫度度數(shù)數(shù)據(jù)據(jù)處處理理 溫溫度度顯顯示示 報(bào)報(bào)警警 溫溫度度比比較較 超超出出范范圍圍? 開開始始 y y n n y y n n 圖 5-2 ds18b20初始化流程圖 3.33.3數(shù)據(jù)測(cè)試 將溫度傳感器與冰水混合物接觸,經(jīng)過(guò)充分?jǐn)嚢柽_(dá)到熱平衡后調(diào)節(jié)系統(tǒng), 使顯示讀數(shù)為 0.00(標(biāo)定 0);利用氣壓計(jì)讀出當(dāng)時(shí)當(dāng)?shù)氐拇髿鈮簭?qiáng),并根據(jù) 大氣壓強(qiáng)和當(dāng)?shù)刂亓铀俣扔?jì)算出當(dāng)時(shí)的實(shí)際壓強(qiáng);根據(jù)沸點(diǎn)與壓強(qiáng)的關(guān)系查 出沸點(diǎn)溫度。把溫度傳感器放入沸水中,待顯

36、示讀數(shù)穩(wěn)定后重新調(diào)節(jié),使顯示 器顯示讀數(shù)等于當(dāng)?shù)禺?dāng)時(shí)沸點(diǎn)溫度后工作結(jié)束。該溫度計(jì)的量程為- 55125,讀數(shù)精度為 0.5,實(shí)際使用一般在 0100。采用 050和 50100的精密水銀溫度計(jì)作檢驗(yàn)標(biāo)準(zhǔn),對(duì)設(shè)計(jì)的溫度計(jì)進(jìn)行 測(cè)試,其結(jié)果表明能達(dá)到該精度要求。 3.4 仿真結(jié)果 設(shè)置溫度上限為 28.5 度,溫度下限為 23.5 度。 1.如圖 5-3 所示。此時(shí)溫度時(shí) 24 度和 25 度,正常范圍內(nèi),綠燈亮,溫度 正常。 圖 5-3 仿真 1 2.如圖 5-4 所示。此時(shí)溫度為 24 度和 22 度,由于 22 度低于下限溫度,紅 燈閃亮,蜂鳴器響,實(shí)現(xiàn)報(bào)警。 圖 5-4 仿真 2 3.如圖

37、 5-5 所示。此時(shí)溫度為 25 度和 30 度,30 度不在所設(shè)范圍內(nèi),紅燈 閃亮,報(bào)警。 4. 圖 5-5 仿真 3 參考文獻(xiàn) 1 黃維翼單片機(jī)應(yīng)用與項(xiàng)目實(shí)踐m,清華大學(xué)出版社,2010 2 王質(zhì)樸呂運(yùn)朋 mcs-51 單片機(jī)原理接口及應(yīng)用m,北京理工大學(xué)出版社,2009 3 陳杰,黃鴻傳感器與檢測(cè)技術(shù)m高等教育出版社,2002 4 彭偉單片機(jī) c 語(yǔ)言程序設(shè)計(jì)實(shí)訓(xùn) 100 例m電子工業(yè)出版社,2009 5 李俊松21 世紀(jì)的光電子科學(xué)n科學(xué)時(shí)報(bào),2002-02-20(10) 6 康華光,陳大欽,張林電子技術(shù)基礎(chǔ)模擬部分m高等教育出版社,2005 7 paul scherz,夏建生,王仲奕

38、實(shí)用電子元器件與電路基礎(chǔ)m電子工業(yè)出版社, 2009 致 謝 本論文是在張劍華老師的悉心指導(dǎo)和熱情關(guān)懷下完成的。張老師淵博學(xué)識(shí)、 嚴(yán)峻的治學(xué)態(tài)度及隨和的為人之道給我留下了難以磨滅的印象,這將是我受益 終身。在此我由衷的感謝張老師對(duì)我們的幫助,也非常感謝系領(lǐng)導(dǎo)對(duì)我們的關(guān) 懷。 附錄附錄: :程序清單程序清單 #include #define uchar unsigned char #define uint unsigned int sbit dq=p10;/ds18b20 與單片機(jī)連接口 sbit dq1=p11;/ds18b201 與單片機(jī)連接口 sbit rs=p25; sbit rw=p2

39、6; sbit en=p27; sbit beef = p34; sbit p36 = p36; sbit p37 = p37; unsigned char code str1=1:; unsigned char code str2=h:; unsigned char code str3=2:; unsigned char code str4=l:; unsigned char code str5=23.5;/最低溫門限 unsigned char code str6=28.5;/最高溫門制 uchar data disdata4; uchar data disdata14; uint tem

40、p,temp1,templ=23.5,temph=28.5; uint tvalue,tvalue1;/溫度值 uchar tflag,tflag1;/溫度正負(fù)標(biāo)志 /*lcd1602 程序*/ void delay1ms(unsigned int ms)/延時(shí) 1 毫秒(不夠精確的) unsigned int i,j; for(i=0;ims;i+) for(j=0;j0;i-) dq = 0; /給脈沖信號(hào) dat=1; dq = 1; /給脈沖信號(hào) if(dq) dat|=0x80; delay_18b20(10); return(dat); uchar ds1820rd1()/*讀數(shù)據(jù)*/ /讀第二個(gè)溫度傳感 器/ unsigned char j=0; unsigned char dat1 = 0; for (j=8;j0;j-) dq1= 0; /給脈沖信號(hào) dat

溫馨提示

  • 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ù)覽,若沒有圖紙預(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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論