畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的液晶顯示高精度溫度計(jì)設(shè)計(jì)_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的液晶顯示高精度溫度計(jì)設(shè)計(jì)_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的液晶顯示高精度溫度計(jì)設(shè)計(jì)_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的液晶顯示高精度溫度計(jì)設(shè)計(jì)_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)基于單片機(jī)的液晶顯示高精度溫度計(jì)設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(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、 i 摘 要 【摘要】在日常生活及工業(yè)生產(chǎn)過(guò)程中經(jīng)常要用到溫度的檢測(cè)及控制溫度是生產(chǎn)過(guò)程和科學(xué)實(shí)驗(yàn)中普遍而且重要的物理參數(shù)之一。在生產(chǎn)過(guò)程中為了高效地進(jìn)行生產(chǎn)必須對(duì)它的主要參數(shù)如溫度、壓力、流量等進(jìn)行有效的控制。溫度控制在生產(chǎn)過(guò)程中占有相當(dāng)大的比例。溫度測(cè)量是溫度控制的基礎(chǔ)技術(shù)已經(jīng)比較成熟。傳統(tǒng)的測(cè)溫元件有熱電偶和二電阻。而熱電偶和熱電阻測(cè)出的一般都是電壓再轉(zhuǎn)換成對(duì)應(yīng)的溫度這些方法相對(duì)比較復(fù)雜需要比較多的外部硬件支持。我們用一種相對(duì)比較簡(jiǎn)單的方式來(lái)測(cè)量。我們采用美國(guó)dallas半導(dǎo)體公司繼ds1820之后推出的一種改進(jìn)型智能溫度傳感器ds18b20作為檢測(cè)元件溫度范圍為-55125 oc,最高

2、分辨率可達(dá)0.0625 oc。ds18b20可以直接讀出被側(cè)溫度值而且采用三線制與單片機(jī)相連減少了外部的硬件電路具有低成本和易使用的特點(diǎn)。 本文主要介紹高精度溫度計(jì)的設(shè)計(jì)。本設(shè)計(jì)大體分三個(gè)工作過(guò)程首先,由ds18b20溫度傳感器芯片測(cè)量當(dāng)前的溫度,并將結(jié)果送入單片機(jī)。然后,通過(guò)at89c51單片機(jī)對(duì)送來(lái)的溫度進(jìn)行計(jì)算和轉(zhuǎn)換,并將此結(jié)果送入液晶顯示模塊。最后,由1602液晶顯示器將溫度顯示出來(lái)。 【關(guān)鍵詞】: 溫度控制、溫度測(cè)試、at89c51、1602lcd、ds18b20溫度傳感器 目 錄第一章 緒論 . 1 第二章 系統(tǒng)硬件的設(shè)計(jì) . 2 2.1 硬件設(shè)計(jì) . 2 2.1.1功能要求 .

3、2 2.1.2方案論證 . 2 2.2 系統(tǒng)硬件電路的設(shè)計(jì).2 2.2.1 at89c51單片機(jī) . 2 at89c51簡(jiǎn)介及引腳功能說(shuō)明.2 復(fù)位電路.4 時(shí)鐘(晶振)電路 . 4 2.2.2 1602液晶顯示器 . 5 1602lcd 基本參數(shù)及引腳功能說(shuō)明.5 1602lcd 指令說(shuō)明及時(shí)序.6 1602lcd 標(biāo)準(zhǔn)字符庫(kù).8 1602lcd 顯示電路圖.9 2.2.3 ds18b20 溫度傳感器.10 ds18b20 結(jié)構(gòu)及引腳功能說(shuō)明.10

4、ds18b20 內(nèi)部結(jié)構(gòu).10 ds18b20 初始化和讀/寫(xiě)時(shí)序.12 ds18b20 常用指令.13 ds18b20 溫度采集電路圖.14 第三章 系統(tǒng)程序的設(shè)計(jì) . 15 3.1 主程序 . 15 3.2 ds18b20模塊程序 . 15 3.3 1602液晶模塊程序. 16 第四章 應(yīng)用的相關(guān)軟件 . 18 4.1 keil uvision3編輯軟件 . 18 4.2 protel 99se 電路板設(shè)計(jì)軟件 . 18 4.3 智能高速通用編輯器 . 18 第五章 實(shí)物效果展示 . 20 第六章 結(jié)論與心得 . 21 致謝 . 22 參考文

5、獻(xiàn) . 23 附錄a. 高精度溫度計(jì)電路原理圖 . 24 附錄b. 材料清單 . 25 附錄c. 源程序 . 26 第一章 緒論 隨著科學(xué)技術(shù)的發(fā)展和現(xiàn)代工業(yè)技術(shù)的需要測(cè)溫技術(shù)也在不斷地改進(jìn)和提高由于測(cè)溫范圍越來(lái)越廣根據(jù)不同的要求又制造出不同需要的測(cè)溫儀器現(xiàn)實(shí)社會(huì)發(fā)展的許多情況下需要測(cè)量溫度參數(shù)。 ds18b20是美國(guó)dallas半導(dǎo)體公司繼ds1820之后最新推出的一種改進(jìn)型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比他能夠直接讀出被測(cè)溫度并且可根據(jù)實(shí)際要求通過(guò)簡(jiǎn)單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式。可以分別在93.75 ms和750 ms內(nèi)完成9位和12位的數(shù)字量并且從ds18b20讀出的信息或?qū)?/p>

6、入ds18b20的信息僅需要一根口線單線接口讀寫(xiě),溫度變換功率來(lái)源于數(shù)據(jù)總線總線本身也可以向所掛接的ds18b20供電而無(wú)需額外電源。因而使用ds18b20可使系統(tǒng)結(jié)構(gòu)更趨簡(jiǎn)單可靠性更高。他在測(cè)溫精度、轉(zhuǎn)換時(shí)間、傳輸距離、分辨率等方面較ds1820有了很大的改進(jìn)給用戶帶來(lái)了更方便的使用和更令人滿意的效果。 隨著微電子技術(shù)的不斷發(fā)展微處理器芯片的集成程度越來(lái)越高單片機(jī)已可以在一塊芯片上同時(shí)集成cpu、存儲(chǔ)器、定時(shí)器計(jì)數(shù)器、并行和串行接口、前置放大器、ad轉(zhuǎn)換器、da轉(zhuǎn)換器等多種電路這就很容易將計(jì)算機(jī)技術(shù)與測(cè)量控制技術(shù)結(jié)合組成智能化測(cè)量控制系統(tǒng)。at89c51單片機(jī)是美國(guó)atmel公司推出的單片機(jī)

7、它與mcs51完全兼容4k程序存儲(chǔ)器采用閃速存儲(chǔ)技術(shù)設(shè)有三級(jí)加密不易仿制其寬電壓范圍2767v及低功耗的特點(diǎn)特別適用于微型儀器儀表。 lcd應(yīng)用于智能儀表、通信和辦公自動(dòng)化等領(lǐng)域,它的主要作用是顯示ascii碼字符,因此又被稱作字符型顯示器件。利用點(diǎn)陣字形特點(diǎn)可自定義漢字字庫(kù)讓其顯示漢字。該液晶顯示模塊具有體積小、功耗低、顯示內(nèi)容豐富、超薄輕巧等優(yōu)點(diǎn),在袖珍式儀表和低功耗應(yīng)用系統(tǒng)中得到廣泛的應(yīng)用。目前字符型液晶顯示模塊已經(jīng)是單片機(jī)應(yīng)用設(shè)計(jì)中最常用的信息顯示器件。lcd1602液晶顯示模塊可以顯示兩行,每行16個(gè)字符,采用單+5v電源供電,外圍電壓。 我們?cè)O(shè)計(jì)的溫度系統(tǒng)是由中央控制器、溫度檢測(cè)器

8、及顯示器組成??刂破鞑捎脝纹瑱C(jī)at89s51溫度檢測(cè)部分采用ds18b20溫度傳感器用1602lcd做顯示器。溫度傳感器ds18b20采集溫度信號(hào)送該給單片機(jī)處理存儲(chǔ)器通過(guò)單片機(jī)對(duì)某些時(shí)間點(diǎn)的數(shù)據(jù)進(jìn)行存儲(chǔ)單片機(jī)再把溫度數(shù)據(jù)送lcd顯示已達(dá)到顯示當(dāng)前溫度的目的。 .2 protel 99se 電路板設(shè)計(jì)軟件 .q系統(tǒng)硬件的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 2 第二章 系統(tǒng)硬件的設(shè)計(jì) 2.1 硬件設(shè)計(jì) 2.1.1功能要求 在智能最小系統(tǒng)的基礎(chǔ)上使用單個(gè)ds18b20采集環(huán)境溫度并用1602液晶顯示器顯示溫度結(jié)果測(cè)量范圍在10500c之間,精度0.010c。 2.1.2方案論證 該設(shè)計(jì)方案是以at89c51單片機(jī)

9、為控制核心用溫度傳感器ds18b20進(jìn)行溫度采集繼而顯示在1602lcd上從而達(dá)到顯示當(dāng)前環(huán)境溫度的目的。在論證過(guò)程中我們需要將溫度精確到0.010c已達(dá)到對(duì)溫度的精準(zhǔn)。整個(gè)系統(tǒng)硬件部分包括單片機(jī)、溫度檢測(cè)系統(tǒng)、液晶顯示器。高精度溫度計(jì)設(shè)計(jì)方案框圖見(jiàn)圖 2-1。 圖2-1 高精度溫度計(jì)系統(tǒng)方案 2.2 系統(tǒng)硬件電路的設(shè)計(jì) 2.2.1 a89c51單片機(jī) at89c51是一種帶4k字節(jié)閃爍可編程可擦除只讀存儲(chǔ)器fperomflash programmable and erasable read only memory的低電壓高性能cmos 8位微處理器俗稱單片機(jī)。該器件采用atmel高密度非易失

10、存儲(chǔ)器制造技術(shù)制造與工業(yè)標(biāo)準(zhǔn)的mcs-51指令集和輸出管腳相兼容。由于將多功能8位cpu和閃爍存儲(chǔ)器組合在單個(gè)芯片中atmel的at89c51是一種高效微控制器。at89c單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價(jià)廉的方案。 at89c51引腳功能說(shuō)明 掌握at89c51單片機(jī)應(yīng)首先了解at89c51的引腳熟悉并牢記各引腳的功能。at89c51 p3 p2 按鍵復(fù)位 晶振電路 ds18b20 1602lcd 畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 3 at89c51有40條引腳。這40條引腳可分為i/o端口線32條、控制線4條、電源線2條、外接晶體線2條四部分,at89c51引腳排列

11、如圖2-2所示。 圖2-2 at89c51芯片引腳圖 at89c51共有40個(gè)引腳大致可分為4類 (1) 電源引腳 vcc:電源端+5v。 vss: 接地端(gnd)。 (2) 時(shí)鐘電路引腳 xtal1:外接晶振輸入端。 xtal2:外接晶振輸出端。 (3) i/o引腳 p0.pp0.7/ad0ad7: 一組8位漏極開(kāi)路型雙向i/o口也是地址/總線復(fù)用口。作入/輸出口時(shí)必須外接上拉電阻它可驅(qū)動(dòng)8個(gè)ttl門電路。當(dāng)訪問(wèn)片外存儲(chǔ)器時(shí)用作地址/總線分時(shí)復(fù)用口線。 p1.0p1.7: 一組內(nèi)部帶上拉電阻的8位準(zhǔn)雙向i/o口可驅(qū)動(dòng)4個(gè)ttl門電路。 p2.0p2.7/a8a15: 一組內(nèi)部帶上拉電阻的8

12、位準(zhǔn)雙向i/o口可驅(qū)動(dòng)4個(gè)ttl門電路。當(dāng)訪問(wèn)片外存儲(chǔ)器時(shí)用作高8位地址總線。 p3.0p3.7: 一組內(nèi)部帶上拉電阻的8位準(zhǔn)雙向i/o口。出于芯片引腳數(shù)的限制p3端口每個(gè)引腳具有第二功能。 (4) 控制線引腳 rst: 復(fù)位端。當(dāng)reset端出現(xiàn)持續(xù)兩個(gè)機(jī)器周期以上的高電平時(shí)可實(shí)現(xiàn)復(fù)位操作。 ea: 片外程序存儲(chǔ)器選擇端。若要訪問(wèn)外部程序存儲(chǔ)器則ea端必須保持低電2.1.1 at89c51引腳功能說(shuō)明 -系統(tǒng)硬件的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 4 平。 ale: 地址鎖存允許端。當(dāng)訪問(wèn)外部程序存儲(chǔ)器或數(shù)據(jù)存儲(chǔ)器時(shí)ale輸出脈沖用于鎖存p0口分時(shí)送出的低8位地址下降沿有效。不訪問(wèn)外部存儲(chǔ)器時(shí)該端以時(shí)鐘頻

13、率的1/6輸出固定的正脈沖信號(hào)可用作外部時(shí)鐘。對(duì)內(nèi)部flash存儲(chǔ)器編程期間該引腳用于輸入編程脈沖。 psen: 讀片外程序存儲(chǔ)器選通信號(hào)輸出端。當(dāng)89c51從外部程序存儲(chǔ)器取指令時(shí)該腳有效(上升沿)。每個(gè)機(jī)器周期psen均產(chǎn)生兩次有效輸出信號(hào)。 復(fù)位電路 rst引腳是復(fù)位信號(hào)的輸入端。復(fù)位信號(hào)是高電平有效。高電平有效的持續(xù)時(shí)間應(yīng)為24個(gè)振蕩周期以上。若時(shí)鐘頻率為6mhz則復(fù)位信號(hào)至少應(yīng)持續(xù)4微秒以上才可以使單片機(jī)復(fù)位。本次設(shè)計(jì)中采用按鍵復(fù)位的方法進(jìn)行復(fù)位操作。如下圖2-3所示。 圖2-3 按鍵復(fù)位電路 按鍵復(fù)位是利用開(kāi)關(guān)按鈕來(lái)實(shí)現(xiàn)的即通電后按下開(kāi)關(guān)使得瞬間rst端的電位與vc

14、c相同隨著電容上儲(chǔ)能增加電容電壓也增大充電電流減少reset端的電位逐漸下降。這樣在rst端就會(huì)建立一個(gè)脈沖電壓調(diào)節(jié)電容與電阻的大小可對(duì)脈沖持續(xù)的時(shí)間進(jìn)行調(diào)節(jié)。 時(shí)鐘(晶振)電路 時(shí)鐘電路對(duì)單片機(jī)系統(tǒng)而言是必需的.由于單片機(jī)內(nèi)部是由各種各樣的數(shù)字邏輯器件(如觸發(fā)器寄存器存儲(chǔ)器等)構(gòu)成,這些數(shù)字器件的工作必須按時(shí)間順序完成,這種時(shí)間順序就稱為時(shí)序.時(shí)鐘電路就是提供單片機(jī)內(nèi)部各種操作的時(shí)間基準(zhǔn)的電路,沒(méi)有時(shí)鐘電路單片機(jī)就無(wú)法工作。此次設(shè)計(jì)中我們采用由由內(nèi)部方式產(chǎn)生時(shí)鐘的方法形成時(shí)鐘電路具體如圖2-4所示。 畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 5 圖2-4 時(shí)鐘電路 內(nèi)部方式在xtal1和x

15、tal2端外接石英晶體作定時(shí)元件內(nèi)部反相放大器自激振蕩產(chǎn)生時(shí)鐘。時(shí)鐘發(fā)生器對(duì)振蕩脈沖二分頻即若石英頻率fosc6mhz則時(shí)鐘頻率3mh2因此時(shí)鐘是一個(gè)雙相信號(hào)由p1相和p2相構(gòu)成。fosc可在2mhz12mhz選擇。小電容可以取30pf左右。 2.2.2 1602液晶顯示器 字符型液晶顯示模塊是一種專門用于顯示字母、數(shù)字、符號(hào)等點(diǎn)陣式lcd目前常用16*116*220*2和40*2行等的模塊。1602lcd應(yīng)用于智能儀表、通信和辦公自動(dòng)化等領(lǐng)域,它的主要作用是顯示ascii碼字符,因此又被稱作字符型顯示器件。利用點(diǎn)陣字形特點(diǎn)可自定義漢字字庫(kù)讓其顯示漢字。 1602 lcd 基本

16、參數(shù)及引腳功能說(shuō)明 1、1602lcd主要技術(shù)參數(shù) 顯示容量:162個(gè)字符 芯片工作電壓:4.55.5v 工作電流:2.0ma(5.0v) 模塊最佳工作電壓:5.0v 字符尺寸:2.954.35(wh)mm 2、引腳功能說(shuō)明 1602lcd采用標(biāo)準(zhǔn)的14腳無(wú)背光或16腳帶背光接口各引腳接口說(shuō)如表2.1所示 表2.1 1602 lcd 引腳接口說(shuō)明表 編號(hào) 符號(hào) 引腳說(shuō)明 編號(hào) 符號(hào) 引腳說(shuō)明 1 vss 電源地 9 d2 數(shù)據(jù) 2 vdd 電源正極 10 d3 數(shù)據(jù) 3 vl 液晶顯示偏壓 11 d4 數(shù)據(jù) 4 rs 數(shù)據(jù)/命令選擇 12 d5 數(shù)據(jù) 鞅匭氚詞奔淥承蟯瓿?這種時(shí)間?系統(tǒng)硬件的設(shè)

17、計(jì) 畢業(yè)設(shè)計(jì)論文 6 5 r/w 讀/寫(xiě)選擇 13 d6 數(shù)據(jù) 6 e 使能信號(hào) 14 d7 數(shù)據(jù) 7 d0 數(shù)據(jù) 15 bla 背光源正極 8 d1 數(shù)據(jù) 16 blk 背光源負(fù)極 第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為讀寫(xiě)信號(hào)線高電平時(shí)進(jìn)行讀操作低電平時(shí)進(jìn)行寫(xiě)操作。當(dāng)rs和r/w共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址當(dāng)rs為低電平r/w為高電平時(shí)可以讀

18、忙信號(hào)當(dāng)rs為高電平r/w為低電平時(shí)可以寫(xiě)入數(shù)據(jù)。 第6腳e端為使能端當(dāng)e端由高電平跳變成低電平時(shí)液晶模塊執(zhí)行命令。 第714腳d0d7為8位雙向數(shù)據(jù)線。 第15腳背光源正極。 第16腳背光源負(fù)極。 1602 lcd 指令說(shuō)明及時(shí)序 1、1602液晶模塊內(nèi)部的控制器共有11條控制指令如表2.2所示 表2.2 1602 lcd 控制命令表 序號(hào) 指令 rs r/w d7 d6 d5 d4 d3 d2 d1 d0 1 清顯示 0 0 0 0 0 0 0 0 0 1 2 光標(biāo)返回 0 0 0 0 0 0 0 0 1 * 3 置輸入模式 0 0 0 0 0 0 0 1 i/d s 4

19、顯示開(kāi)/關(guān)控制 0 0 0 0 0 0 1 d c b 5 光標(biāo)或字符移位 0 0 0 0 0 1 s/c r/l * * 6 置功能 0 0 0 0 1 dl n f * * 7 置字符發(fā)生存貯器地址 0 0 0 1 字符發(fā)生存貯器地址 8 置數(shù)據(jù)存貯器地址 0 0 1 顯示數(shù)據(jù)存貯器地址 9 讀忙標(biāo)志或地址 0 1 bf 計(jì)數(shù)器地址 10 寫(xiě)數(shù)到cgram或ddram 1 0 要寫(xiě)的數(shù)據(jù)內(nèi)容 畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 7 11 從cgram或ddram讀數(shù) 1 1 讀出的數(shù)據(jù)內(nèi)容 1602液晶模塊的讀寫(xiě)操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。說(shuō)明1為高電平、0為低電平 指令1清顯

20、示指令碼01h,光標(biāo)復(fù)位到地址00h位置。 指令2光標(biāo)復(fù)位光標(biāo)返回到地址00h。 指令3光標(biāo)和顯示模式設(shè)置 i/d光標(biāo)移動(dòng)方向高電平右移低電平左移 s:屏幕上所有文字是否左移或者右移。高電平表示有效低電平則無(wú)效。 指令4顯示開(kāi)關(guān)控制。 d控制整體顯示的開(kāi)與關(guān)高電平表示開(kāi)顯示低電平表示關(guān)顯示 c控制光標(biāo)的開(kāi)與關(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í)

21、顯示5x10的點(diǎn)陣字符。 指令7字符發(fā)生器ram地址設(shè)置。 指令8ddram地址設(shè)置。 指令9讀忙信號(hào)和光標(biāo)地址 bf為忙標(biāo)志位高電平表示忙此時(shí)模塊不能接收命令或者數(shù)據(jù)如果為低電平表示不忙。 指令10寫(xiě)數(shù)據(jù)。 指令11讀數(shù)據(jù)。 2、1602 讀/寫(xiě)時(shí)序 當(dāng) rs=0、rw=0時(shí)為寫(xiě)指令 rs=0、rw=1時(shí)為讀指令 rs=1、rw=0時(shí)為寫(xiě)數(shù)據(jù) rs=1、rw=1時(shí)為讀數(shù)據(jù)。 具體的1602讀寫(xiě)操作時(shí)序如圖2-5和2-6所示。 貯器地址 9 讀忙標(biāo)志或地址 0 1系統(tǒng)硬件的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 8 圖2-5 讀操作時(shí)序 圖2-6 寫(xiě)操作時(shí)序 1602 lcd 標(biāo)準(zhǔn)字符庫(kù) 1602

22、液晶模塊內(nèi)部的字符發(fā)生存儲(chǔ)器cgrom)已經(jīng)存儲(chǔ)了不同的點(diǎn)陣字符圖形這些字符有阿拉伯?dāng)?shù)字、英文字母的大小寫(xiě)、常用的符號(hào)、和日文假名等每一個(gè)字符都有一個(gè)固定的代碼其中數(shù)字與字母同ascii碼兼容對(duì)應(yīng)關(guān)系如下表所示。其內(nèi)部還有自定義字符cgram可用于存儲(chǔ)自已定義的字符。 表2.3為1602標(biāo)準(zhǔn)字符庫(kù) 畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 9 高位 低 位 0000 0010 0011 0100 0101 0110 0111 1010 1011 1100 1101 1110 1111 0000 cgra(1) 0 p p - p 0001 (2) ! 1 a q a q ? ? q 0010 (3) ” 2

23、 b r b r 0011 (4) # 3 c s c s 0100 (5) $ 4 d t d t 0101 (6) % 5 e u e u ? 0110 (7) & 6 f v f v 0111 (8) 7 g w g w g 1000 (1) ( 8 h x h x x 1001 (2) ) 9 i y i y y 1010 (3) * : j z j z j 千 1011 (4) + ; k k 萬(wàn) 1100 (5) , n n n 1111 (8) / ? o - o ? 1602 lcd 顯示電路圖 在此次設(shè)計(jì)中1602lcd作為顯示端顯示由p2口輸入ds18b20

24、采集的數(shù)據(jù)1602硬件接口如圖2-7所示。 當(dāng) rs=0、rw=0時(shí)為寫(xiě)指令 rs=0、rw=1時(shí)為讀指令 rs=#系統(tǒng)硬件的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 10 圖2-7 1602字符液晶顯示電路接口圖 2.2.3 ds18b20 溫度傳感器 ds18b20是dallas公司生產(chǎn)的單總線數(shù)字溫度傳感器具有3引腳to92小體積封裝形式溫度測(cè)量范圍為55125,可編程為9位12位a/d轉(zhuǎn)換精度對(duì)應(yīng)的可辨溫度分別為0.5、0.25、0.125和0.0625被測(cè)溫度用符號(hào)擴(kuò)展的16位數(shù)字量方式串行輸出支持3v5.5v的電壓范圍使系統(tǒng)設(shè)計(jì)更靈活、方便,其工作電源既可在遠(yuǎn)端引入也可采用寄生電源方式產(chǎn)生.同時(shí)多個(gè)ds

25、18b20可以并聯(lián)到3根或2根線上cpu只需一根端口線就能與諸多ds18b20通信占用處理器的端口較少可節(jié)省大量的引線和邏輯電路。以上特點(diǎn)使ds18b20非常適用于遠(yuǎn)距離多點(diǎn)溫度檢測(cè)系統(tǒng)。 ds18b20結(jié)構(gòu)及引腳功能說(shuō)明 ds18b20的引腳 圖2-8 溫度傳感器ds18b20引腳圖 表2.4 溫度傳感器ds18b20引腳功能表 序號(hào) 名稱 引腳功能描述 1 gnd 地信號(hào) 2 dq 數(shù)據(jù)輸入/輸出引腳。開(kāi)漏單總線接口引腳。當(dāng)被用在寄生電源下也可以向器件提供電源。 3 vdd 外接供電電源輸入端。當(dāng)工作于寄生電源時(shí)此引腳必須接地。 ds18b20 內(nèi)部結(jié)構(gòu) d

26、s18b20內(nèi)部結(jié)構(gòu)主要由四部分組成64位光刻rom、溫度傳感器、非易失性溫om當(dāng) rs=0、rw=0時(shí)為寫(xiě)指?畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 11 度報(bào)警觸發(fā)器th和tl、配置寄存器。具體結(jié)構(gòu)如圖2-9所示。 圖2-9 ds18b20內(nèi)部結(jié)構(gòu)圖 1 64位激光rom。64位激光rom從高位到低位依次為8位crc、48位序列號(hào)和8位家族代碼(28h)組成。 2 溫度靈敏元件。用于采集溫度并轉(zhuǎn)換成電信號(hào)。 3 非易失性溫度報(bào)警觸發(fā)器th和tl??赏ㄟ^(guò)軟件寫(xiě)入用戶報(bào)警上下限值。 4 高速暫存存儲(chǔ)器 高速暫存存儲(chǔ)器由9個(gè)字節(jié)組成其分配圖2-10所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式

27、存放在高速暫存存儲(chǔ)器的第0和第1個(gè)字節(jié)。單片機(jī)可通過(guò)單線接口讀到該數(shù)據(jù)讀取時(shí)低位在前高位在后數(shù)據(jù)格式如圖2-11所示。對(duì)應(yīng)的溫度計(jì)算當(dāng)符號(hào)位s=0時(shí)直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制當(dāng)s=1時(shí)先將補(bǔ)碼變?yōu)樵a再計(jì)算十進(jìn)制值。 8位crc 保留 保留 保留 配置 tl th 溫度高位 溫度低位 msb lsb 圖2-10 ds18b20存儲(chǔ)器映像圖 圖2-11 ds18b20溫度存儲(chǔ)器數(shù)據(jù)格式 5 配置寄存器。配置寄存器為高速暫存存儲(chǔ)器中的第五個(gè)字節(jié)。ds18b20在工作時(shí)按此寄存器中的分辨率將溫度轉(zhuǎn)換成相應(yīng)精度的數(shù)值其各位定義如圖2-四部分組成64位光刻rom、溫度?系統(tǒng)硬件的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 12

28、 所示。其中tm測(cè)試模式標(biāo)志位出廠時(shí)被寫(xiě)入0不能改變r(jià)0、r1溫度計(jì)分辨率設(shè)置位其對(duì)應(yīng)四種分辨率如表2.5所列出廠時(shí)r0、r1置為缺省值r0=1r1=1即12位分辨率用戶可根據(jù)需要改寫(xiě)配置寄存器以獲得合適的分辨率。 tm r1 r0 1 1 1 1 1 圖2-12 ds18b20配置寄存器結(jié)構(gòu)圖 表2.5 配置寄存器與分辨率關(guān)系表 r0 r1 溫度計(jì)分辨率/bit 最大轉(zhuǎn)換時(shí)間/ms 0 0 9 93.75 0 1 10 187.5 1 0 11 375 1 1 12 750 ds18b20 初始化和讀/寫(xiě)時(shí)序 由于ds18b20采用的是1wire總線協(xié)議方式即在一根數(shù)據(jù)線實(shí)現(xiàn)

29、數(shù)據(jù)的雙向傳輸而對(duì)at89c51單片機(jī)來(lái)說(shuō)硬件上并不支持單總線協(xié)議因此我們必須采用軟件的方法來(lái)模擬單總線的協(xié)議時(shí)序來(lái)完成對(duì)ds18b20芯片的訪問(wèn)。從而對(duì)讀寫(xiě)的數(shù)據(jù)位有著嚴(yán)格的時(shí)序要求。ds18b20有嚴(yán)格的通信協(xié)議來(lái)保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號(hào)的時(shí)序初始化時(shí)序、讀時(shí)序、寫(xiě)時(shí)序。所有時(shí)序都是將主機(jī)作為主設(shè)備單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動(dòng)啟動(dòng)寫(xiě)時(shí)序開(kāi)始如果要求單總線器件回送數(shù)據(jù)在進(jìn)行寫(xiě)命令后主機(jī)需啟動(dòng)讀時(shí)序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。 1、ds18b20的初始化時(shí)序 圖2-13 ds18b20的初始化時(shí)序圖 2、ds18b2

30、0的讀/寫(xiě)時(shí)序 控制器在寫(xiě)時(shí)序?qū)憯?shù)據(jù)到ds18b20,在讀時(shí)序從ds18b20中讀取數(shù)據(jù).每一總線時(shí)序傳送一位數(shù)據(jù)。 凈虻刂?0 1畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 13 1讀流程時(shí)序 對(duì)于ds18b20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過(guò)程。 對(duì)于ds18b20的讀時(shí)隙是從主機(jī)把單總線拉低之后在15秒之內(nèi)就得釋放單總線以讓ds18b20把數(shù)據(jù)傳輸?shù)絾慰偩€上。ds18b20在完成一個(gè)讀時(shí)序過(guò)程至少需要60us才能完成。 2寫(xiě)流程時(shí)序 對(duì)于ds18b20的寫(xiě)時(shí)序仍然分為寫(xiě)0時(shí)序和寫(xiě)1時(shí)序兩個(gè)過(guò)程。 對(duì)于ds18b20寫(xiě)0時(shí)序和寫(xiě)1時(shí)序的要求不同當(dāng)要寫(xiě)0時(shí)序時(shí)單總線要被拉低至少60us保證ds18b20

31、能夠在15us到45us之間能夠正確地采樣io總線上的“0”電平當(dāng)要寫(xiě)1時(shí)序時(shí)單總線被拉低之后在15us之內(nèi)就得釋放單總線。 圖2-14 ds18b20的/讀寫(xiě)時(shí)序 ds18b20常用指令 ds18b20的操作分為rom操作指令和ram操作指令兩類。 表2.6 rom操作指令 指令 約定代碼 功能 讀rom 33h 讀ds18b20 rom中的編碼(即64位地址) 符合rom 55h 發(fā)出此命令之后,接著發(fā)出64位rom編碼,訪問(wèn)總線上與該編碼相對(duì)應(yīng)的ds18b20使之作出響應(yīng),為下一步對(duì)該ds18b20的讀寫(xiě)做準(zhǔn)備 dir=c:windows系統(tǒng)硬件的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 14

32、 搜索rom 0f0h 用于確定掛在同一總線上ds18b20的個(gè)數(shù)和識(shí)別64位rom地址,為操作各器件作好準(zhǔn)備 跳過(guò)rom 0cch 忽略64位rom地址,直接向ds18b20發(fā)溫度變換命令,適用于單片工作 告警搜索命令 0ech 執(zhí)行后只有溫度超過(guò)設(shè)定值上限或下限的片子才作出響應(yīng) 表2.7 ram操作指令 指令 約定代碼 功能 溫度變換 44h 啟動(dòng)ds18b20進(jìn)行溫度轉(zhuǎn)換,轉(zhuǎn)換時(shí)間最長(zhǎng)500ms(典型為200ms),結(jié)果存入內(nèi)部9字節(jié)ram中 讀存儲(chǔ)器 0beh 讀內(nèi)部ram中9字節(jié)的內(nèi)容 寫(xiě)存儲(chǔ)器 4eh 發(fā)出向內(nèi)部ram的3、4字節(jié)寫(xiě)上、下限溫度數(shù)據(jù)命令緊跟該命令之后是傳送兩字節(jié)的數(shù)

33、據(jù) 復(fù)制存儲(chǔ)器 48h 將ram中3、4字節(jié)的內(nèi)容復(fù)制到eeprom中 重調(diào)eeprom 0b8h 將eeprom中的內(nèi)容恢復(fù)到ram中的3、4字節(jié) 讀供電方式 0b4h 讀ds18b20的供電模式寄生供電時(shí)ds18b20發(fā)送“0”外接電源供電ds18b20發(fā)送“1” ds18b20 溫度采集電路圖 在本設(shè)計(jì)中由ds18b20組建溫度采集系統(tǒng)。其中1腳gnd2腳為數(shù)據(jù)輸入端3腳vcc2腳與3腳間接上一個(gè)4.7k的電阻形成上拉電阻。詳細(xì)的采集電路如圖2-15所示。 圖2-15 ds18b20溫度采集電路 詈螳粗骰?需啟動(dòng)讀時(shí)序完成?畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 15 第三章 系統(tǒng)程

34、序的設(shè)計(jì) 3.1 主程序 在主程序流程圖中初始化液晶模塊然后延時(shí)一段時(shí)間進(jìn)入while循環(huán)讀取溫度將溫度顯示在lcd液晶屏上。主程序的流程圖如下 圖 3-1主程序流程圖 3.2 ds18b20模版程序 首先ds18b20初始化復(fù)位ds18b20然后單片機(jī)等待ds18b20的應(yīng)答脈沖。一旦單片機(jī)檢測(cè)到應(yīng)答脈沖便發(fā)起跳過(guò)rom匹配操作命令。成功執(zhí)行了rom操作命令后就可以使用內(nèi)存操作命令啟動(dòng)溫度轉(zhuǎn)換延時(shí)一段時(shí)間后等待溫度轉(zhuǎn)換完成。再發(fā)起跳過(guò)rom匹配操作命令然后讀暫存器將轉(zhuǎn)換結(jié)果讀出并轉(zhuǎn)為顯示碼送到液晶顯示。ds18b20模塊程序流程圖如圖3-2所示。 while(1) 讀取溫度值 溫度值顯示 開(kāi)

35、始 液晶模塊初始化 延時(shí) jectx.wonibo.c系統(tǒng)程序的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 16 圖3-2 ds18b20模塊程序流程圖 3.3 1602液晶模塊程序 首先對(duì)1602液晶顯示器進(jìn)行初始化按鍵復(fù)位后延時(shí)15ms進(jìn)行初始化設(shè)置依次為顯示關(guān)閉、顯示清屏、顯示光標(biāo)移動(dòng)設(shè)置最后進(jìn)行寫(xiě)操作。1602液晶驅(qū)動(dòng)程序流程圖如圖3-3所示。 啟動(dòng)溫度轉(zhuǎn)換 讀取溫度 溫度處理 跳過(guò)rom匹配 ds18b20復(fù)位 跳過(guò)rom匹配 ds18b20復(fù)位 畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 17 圖3-3 1602液晶驅(qū)動(dòng)程序流程圖 延時(shí)15ms 顯示模式設(shè)置 延時(shí)5ms 顯示關(guān)閉 顯示清屏 延時(shí)5ms 延

36、時(shí)5ms 顯示光標(biāo)移動(dòng)設(shè)置 延時(shí)5ms 顯示開(kāi)及光標(biāo)設(shè)置 顯示位置設(shè)置 延時(shí) 顯示溫度各位數(shù)值 1602初始化 telementsbytagname(head)0.appendchild(a);pdc._l應(yīng)用的相關(guān)軟件 畢業(yè)設(shè)計(jì)論文 18 第四章 應(yīng)用的相關(guān)軟件 4.1 keil uvision3編輯軟件 keil c51是美國(guó)keil software公司出品的51系列兼容單片機(jī)c語(yǔ)言軟件開(kāi)發(fā)系統(tǒng)與匯編相比c語(yǔ)言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢(shì)因而易學(xué)易用。用過(guò)匯編語(yǔ)言后再使用c來(lái)開(kāi)發(fā)體會(huì)更加深刻。 keil c51軟件提供豐富的庫(kù)函數(shù)和功能強(qiáng)大的集成開(kāi)發(fā)調(diào)試工具全wind

37、ows界面。另外重要的一點(diǎn)只要看一下編譯后生成的匯編代碼就能體會(huì)到keil c51生成的目標(biāo)代碼效率非常之高多數(shù)語(yǔ)句生成的匯編代碼很緊湊容易理解。在開(kāi)發(fā)大型軟件時(shí)更能體現(xiàn)高級(jí)語(yǔ)言的優(yōu)勢(shì)。 本次設(shè)計(jì)中主要使用keil軟件對(duì)高精度溫度計(jì)的源程序c語(yǔ)言進(jìn)行編輯和檢驗(yàn)。 4.2 protel 99se 電路板設(shè)計(jì)軟件 protel 99se是prokltechnology公司開(kāi)發(fā)的基于windows環(huán)境下的電路板設(shè)計(jì)軟件。該軟件功能強(qiáng)大人機(jī)界面友好易學(xué)易用仍然是大中院校電學(xué)專業(yè)必學(xué)課程同時(shí)也是業(yè)界人士首選的電路板設(shè)計(jì)工具。 protel 99se 由兩大部分組成電路原理圖設(shè)計(jì)advanced sche

38、matic和多層印刷電路板設(shè) 計(jì)advanced pcb。其中advanced schematic由兩部分組成電路圖編輯器schematic和 元件庫(kù)編輯器schematic library。 由于高精度溫度是一個(gè)具體的實(shí)物因此在設(shè)計(jì)中要進(jìn)行實(shí)物制作為了方便制作我們要用到protel 99se進(jìn)行原理圖設(shè)計(jì)。 4.3 智能高速通用編輯器 該編輯器編程速度無(wú)與倫比逼近芯片理論極限。基本配置48腳流行驅(qū)動(dòng)電路一顆通用適配器插在dip48鎖緊座上支持同封裝所有類型器件48腳及以下dip器件無(wú)需適配器直接支持。通用適配器保證快速新器件支持。i/o電平由dac控制直接支持低達(dá)1.5v的低壓器件。更先進(jìn)的

39、波形驅(qū)動(dòng)電路極大抑制工作噪聲配合ic廠家認(rèn)證的算法無(wú)論是低電壓器件、二手器件還是低品質(zhì)器件均能保證極高的編程良品率。編程結(jié)果可選擇高低雙電壓校驗(yàn)保證結(jié)果持久穩(wěn)固。支持90多個(gè)廠家9000多種flash、eprom、eeprom、mcu、pld等器件。支持新器件僅需升級(jí)軟件免費(fèi)??蓽y(cè)試sram、標(biāo)準(zhǔn)ttl/coms電路并能自動(dòng)判斷型號(hào)。自動(dòng)檢測(cè)芯片錯(cuò)插和管腳接觸不良避免損壞器件??蓽y(cè)試和自動(dòng)識(shí)別標(biāo)準(zhǔn)ttl/cmos邏輯電路和用戶自定義測(cè)試向量的非標(biāo)準(zhǔn)邏輯電路。工程project將用戶關(guān)于對(duì)象器件的各種操作、設(shè)置包括器件型號(hào)設(shè)定、燒寫(xiě)文件的調(diào)入、配置位的設(shè)定、批處理命令等保存在工程文件浮?指令5光

40、標(biāo)或顯示移位 s/c高礹畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 19 中每次運(yùn)行時(shí)一步進(jìn)入寫(xiě)片操作。器件型號(hào)選擇和文件載入均有歷史history記錄方便再次選擇。批處理auto命令允許用戶將擦除、查空、編程、校驗(yàn)、加密等常用命令序列隨心所欲地組織成一步完成的單一命令。量產(chǎn)模式下一旦芯片正確插入cpu即自動(dòng)啟動(dòng)批處理命令無(wú)須人工按鍵。自動(dòng)序列號(hào)功能按用戶要求自動(dòng)生成并寫(xiě)入序列號(hào)。借助于開(kāi)放的api用戶可以在線動(dòng)態(tài)修改數(shù)據(jù)buffer使每片芯片內(nèi)容均不同。器件型號(hào)選錯(cuò)軟件按照實(shí)際讀出的id提示相近的候選型號(hào)。自動(dòng)識(shí)別文件格式, 自動(dòng)提示文件地址溢出。完善的過(guò)流保護(hù)功能避免損壞編程器。邏輯測(cè)試功能。 圖4-1為學(xué)校中使用的280 智能高速通用編輯器 圖4-1 智能高速通用編輯器 實(shí)物效果展示 畢業(yè)設(shè)計(jì)論文 20 第五章 實(shí)物效果展示 本次畢業(yè)設(shè)計(jì)主題為高精度溫度計(jì)。我們須將硬件設(shè)備與軟件編程結(jié)合才能具體的展示所做的溫度計(jì)的實(shí)物效果。 在將程序下載進(jìn)單片機(jī)后我們接通電源來(lái)觀測(cè)現(xiàn)象。該溫度計(jì)是用1602lcd來(lái)展示成果的。我們可以通過(guò)調(diào)節(jié)與1602相連的電位器來(lái)改變1602上顯示溫度字符的光亮程度以適應(yīng)在不同環(huán)境下可以清晰地顯示溫度。 另外在檢測(cè)ds18b20是否能正常工作時(shí)我們使用了直接的手觸方式。結(jié)果顯示在同一環(huán)境下不同的人具有不同的溫度我們發(fā)現(xiàn)ds18b20能夠快

溫馨提示

  • 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ù)網(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)論