基于單片機(jī)的液晶顯示高精度溫度計(jì)設(shè)計(jì)論文_第1頁(yè)
基于單片機(jī)的液晶顯示高精度溫度計(jì)設(shè)計(jì)論文_第2頁(yè)
基于單片機(jī)的液晶顯示高精度溫度計(jì)設(shè)計(jì)論文_第3頁(yè)
基于單片機(jī)的液晶顯示高精度溫度計(jì)設(shè)計(jì)論文_第4頁(yè)
基于單片機(jī)的液晶顯示高精度溫度計(jì)設(shè)計(jì)論文_第5頁(yè)
已閱讀5頁(yè),還剩36頁(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功能要求 . 2 2.1.2

3、方案論證 . 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í)序. 1602LCD 標(biāo)準(zhǔn)字符庫(kù).8 1602LCD 顯示電路圖.9 2.2.3 DS18b20 溫度傳感器.10 DS18B20 結(jié)構(gòu)與引腳功能說(shuō)明.10 DS18B20

4、部結(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 參考文獻(xiàn) . 23 附錄A

5、. 高精度溫度計(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ù)方式??梢苑謩e在93.75 ms和750 ms完成9位和12位的數(shù)字量并且從DS18B20讀出的信息或?qū)懭隓S18B20的信息僅

6、需要一根口線單線接口讀寫(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ī)它與MCS51完全兼容4K

7、程序存儲(chǔ)器采用閃速存儲(chǔ)技術(shù)設(shè)有三級(jí)加密不易仿制其寬電壓圍2767V與低功耗的特點(diǎn)特別適用于微型儀器儀表。LCD應(yīng)用于智能儀表、通信和辦公自動(dòng)化等領(lǐng)域,它的主要作用是顯示ASCII碼字符,因此又被稱作"字符型顯示器件"。利用點(diǎn)陣字形特點(diǎn)可自定義漢字字庫(kù)讓其顯示漢字。該液晶顯示模塊具有體積小、功耗低、顯示容豐富、超薄輕巧等優(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)前溫度的目的。 .docin.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單片

9、機(jī)為控制核心用溫度傳感器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的引腳熟悉并牢記各引腳的功能。AT89C51P3 P2 按鍵復(fù)位 晶振電路 DS18B20 1602LCD .docin 畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 3 AT89C51有40條引腳。這40條引腳可分為I/O端口線32條、控制線4條、電源線2條、外接晶體線2條四部分,AT89

11、C51引腳排列如圖2-2所示。 圖2-2 AT89C51芯片引腳圖 AT89C51共有40個(gè)引腳大致可分為4類(lèi)(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門(mén)電路。當(dāng)訪問(wèn)片外存儲(chǔ)器時(shí)用作地址/總線分時(shí)復(fù)用口線。 P1.0P1.7: 一組部帶上拉電阻的8位準(zhǔn)雙向I/O口可驅(qū)動(dòng)4個(gè)TTL門(mén)電路。 P2.0P2.7/A8A15: 一組部帶上拉電

12、阻的8位準(zhǔn)雙向I/O口可驅(qū)動(dòng)4個(gè)TTL門(mén)電路。當(dāng)訪問(wèn)片外存儲(chǔ)器時(shí)用作高8位地址總線。 P3.0P3.7: 一組部帶上拉電阻的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端必須保持低電 docin 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)外部存

13、儲(chǔ)器時(shí)該端以時(shí)鐘頻率的1/6輸出固定的正脈沖信號(hào)可用作外部時(shí)鐘。對(duì)部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

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

15、部方式在XTAL1和XTAL2端外接石英晶體作定時(shí)元件部反相放大器自激振蕩產(chǎn)生時(shí)鐘。時(shí)鐘發(fā)生器對(duì)振蕩脈沖二分頻即若石英頻率fosc6MHz則時(shí)鐘頻率3MH2因此時(shí)鐘是一個(gè)雙相信號(hào)由P1相和P2相構(gòu)成。fosc可在2MHZ12MHZ選擇。小電容可以取30PF左右。 2.2.2 1602液晶顯示器 字符型液晶顯示模塊是一種專(zhuān)門(mén)用于顯示字母、數(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ù)讓其顯示漢

16、字。 1602 LCD 基本參數(shù)與引腳功能說(shuō)明 1、1602LCD主要技術(shù)參數(shù)顯示容量:16×2個(gè)字符 芯片工作電壓:4.55.5V 工作電流:2.0mA(5.0V) 模塊最佳工作電壓:5.0V 字符尺寸:2.95×4.35(W×H)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

17、數(shù)據(jù)/命令選擇 12 D5 數(shù)據(jù) .docin 鞅匭氚詞奔淥承蟯瓿?這種時(shí)間?系統(tǒng)硬件的設(shè)計(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ě)操作

18、。當(dāng)RS和R/W共同為低電平時(shí)可以寫(xiě)入指令或者顯示地址當(dāng)RS為低電平R/W為高電平時(shí)可以讀忙信號(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液晶模塊部的控制器共有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

19、 0 0 1 * 3 置輸入模式 0 0 0 0 0 0 0 1 I/D S 4 顯示開(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ù)容 .docin.畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 7 11 從CGRAM或DDRAM讀數(shù) 1 1 讀出的數(shù)據(jù)容 1602液晶模塊

20、的讀寫(xiě)操作、屏幕和光標(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)方向高電平右移低電平左移 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位總

21、線 N低電平時(shí)為單行顯示高電平時(shí)雙行顯示 F: 低電平時(shí)顯示5x7的點(diǎn)陣字符高電平時(shí)顯示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所示。 .docin 貯器地址 9 讀忙標(biāo)志或地址 0 1系統(tǒng)硬件的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 8 圖2-5

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

23、;××0000 CGRA(1) 0 P p - P ××××0001 (2) ! 1 A Q a q ? ? q ××××0010 (3) ” 2 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 ? ü××××0

24、110 (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) , <

25、; L l | ××××1101 (6) - = M m ÷××××1110 (7) . > N n n ××××1111 (8) / ? O - o ° ? 1602 LCD 顯示電路圖 在此次設(shè)計(jì)中1602LCD作為顯示端顯示由P2口輸入DS18B20采集的數(shù)據(jù)1602硬件接口如圖2-7所示。 .docin 當(dāng) RS=0、RW=0時(shí)為寫(xiě)指令 RS=0、RW=1時(shí)為讀指令 RS=#系統(tǒng)硬件的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 10 圖2-7 160

26、2字符液晶顯示電路接口圖 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è)DS18B20可以并聯(lián)到3根或2根線上CPU只需一根端口線就能與諸多DS18B20通信占用處理器的端口較少可節(jié)省大量的引線和邏輯電路。以上特點(diǎn)使DS18B20非常適用于遠(yuǎn)距離多

27、點(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 部結(jié)構(gòu) DS18B20部結(jié)構(gòu)主要由四部分組成64位光刻ROM、溫度傳感器、非易失性溫 docin om當(dāng) RS=0、RW=0時(shí)為寫(xiě)指?畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 11 度報(bào)警觸發(fā)器TH和

28、TL、配置寄存器。具體結(jié)構(gòu)如圖2-9所示。 圖2-9 DS18B20部結(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ǔ)碼形式存放在高速暫存存儲(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)換

29、為十進(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-12 docin 四部分組成64位光刻ROM、溫度?系統(tǒng)硬件的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 12 所示。其中TM測(cè)試模式標(biāo)志位出廠時(shí)被寫(xiě)入0不能改變R0、R1溫度計(jì)分辨率設(shè)置位其對(duì)應(yīng)四種分辨率如表2.5所列出廠時(shí)R0、R1置為缺省值R0=1R1=

30、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)數(shù)據(jù)的雙向傳輸而對(duì)AT89C51單片機(jī)來(lái)說(shuō)硬件上并不支持單總線協(xié)議因此我們必須采用軟件的方法來(lái)模擬單總線的協(xié)議時(shí)序來(lái)完成對(duì)DS18B20芯片的訪問(wèn)。從

31、而對(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、DS18B20的讀/寫(xiě)時(shí)序 控制器在寫(xiě)時(shí)序?qū)憯?shù)據(jù)到DS18B20,在讀時(shí)序從DS18B20中讀取數(shù)據(jù).每一總線時(shí)序傳送一位數(shù)據(jù)。 .docin 凈虻刂?0 1畢業(yè)

32、設(shè)計(jì)論文 高精度溫度計(jì) 13 1讀流程時(shí)序?qū)τ贒S18B20的讀時(shí)序分為讀0時(shí)序和讀1時(shí)序兩個(gè)過(guò)程。 對(duì)于DS18B20的讀時(shí)隙是從主機(jī)把單總線拉低之后在15秒之就得釋放單總線以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個(gè)讀時(shí)序過(guò)程至少需要60us才能完成。 2寫(xiě)流程時(shí)序?qū)τ贒S18B20的寫(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能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平當(dāng)要寫(xiě)1時(shí)序時(shí)單總線被拉低之后在15us之就得釋放單總線。 圖2-14 DS1

33、8B20的/讀寫(xiě)時(shí)序 DS18B20常用指令 DS18B20的操作分為ROM操作指令和RAM操作指令兩類(lèi)。 表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)備 .docin dir=C:WINDOWS系統(tǒng)硬件的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 14 搜索ROM 0F0H 用于確定掛在同一總線上DS18B20的個(gè)數(shù)和識(shí)別64位ROM地址,為操作各器件作好準(zhǔn)備 跳過(guò)ROM 0CC

34、H 忽略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é)果存入部9字節(jié)RAM中 讀存儲(chǔ)器 0BEH 讀部RAM中9字節(jié)的容 寫(xiě)存儲(chǔ)器 4EH 發(fā)出向部RAM的3、4字節(jié)寫(xiě)上、下限溫度數(shù)據(jù)命令緊跟該命令之后是傳送兩字節(jié)的數(shù)據(jù)復(fù)制存儲(chǔ)器 48H 將RAM中3、4字節(jié)的容復(fù)制到EEPROM中 重調(diào)EEPROM 0B8H 將EEPROM中的容恢復(fù)到RAM中的3、4

35、字節(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溫度采集電路 .docin 詈螳粗骰?需啟動(dòng)讀時(shí)序完成?畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 15 第三章 系統(tǒng)程序的設(shè)計(jì) 3.1 主程序 在主程序流程圖中初始化液晶模塊然后延時(shí)一段時(shí)間進(jìn)入While循環(huán)讀取溫度將溫度顯示在LCD液晶屏上。主程序

36、的流程圖如下 圖 3-1主程序流程圖 3.2 DS18B20模版程序 首先DS18B20初始化復(fù)位DS18B20然后單片機(jī)等待DS18B20的應(yīng)答脈沖。一旦單片機(jī)檢測(cè)到應(yīng)答脈沖便發(fā)起跳過(guò)ROM匹配操作命令。成功執(zhí)行了ROM操作命令后就可以使用存操作命令啟動(dòng)溫度轉(zhuǎn)換延時(shí)一段時(shí)間后等待溫度轉(zhuǎn)換完成。再發(fā)起跳過(guò)ROM匹配操作命令然后讀暫存器將轉(zhuǎn)換結(jié)果讀出并轉(zhuǎn)為顯示碼送到液晶顯示。DS18B20模塊程序流程圖如圖3-2所示。 While(1)讀取溫度值 溫度值顯示 開(kāi)始 液晶模塊初始化 延時(shí) .docin jectx.wonibo.c系統(tǒng)程序的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 16 圖3-2 DS1

37、8B20模塊程序流程圖 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ù)位 .docin 畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 17 圖3-3 1602液晶驅(qū)動(dòng)程序流程圖 延時(shí)15ms 顯示模式設(shè)置 延時(shí)5ms 顯示關(guān)閉 顯示清屏 延時(shí)5ms 延時(shí)5ms 顯示光標(biāo)移動(dòng)設(shè)置 延時(shí)5ms 顯示開(kāi)與光標(biāo)設(shè)置 顯示位置設(shè)置 延時(shí) 顯示溫度各位數(shù)值 1602初始化

38、 .docin 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)試工具全Windows界面。另外重要的一點(diǎn)只要看一下編譯后生成的匯編代碼就能體會(huì)到Kei

39、l 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é)專(zhuān)業(yè)必學(xué)課程同時(shí)也是業(yè)界人士首選的電路板設(shè)計(jì)工具。Protel 99SE 由兩大部分組成電路原理圖設(shè)計(jì)Advanced Schematic和多層印刷電路板設(shè) 計(jì)Advanced PCB。其中Advanc

40、ed Schematic由兩部分組成電路圖編輯器Schematic和 元件庫(kù)編輯器Schematic Library。由于高精度溫度是一個(gè)具體的實(shí)物因此在設(shè)計(jì)中要進(jìn)行實(shí)物制作為了方便制作我們要用到Protel 99SE進(jìn)行原理圖設(shè)計(jì)。 4.3 智能高速通用編輯器 該編輯器編程速度無(wú)與倫比逼近芯片理論極限?;九渲?8腳流行驅(qū)動(dòng)電路一顆通用適配器插在DIP48鎖緊座上支持同封裝所有類(lèi)型器件48腳與以下DIP器件無(wú)需適配器直接支持。通用適配器保證快速新器件支持。I/O電平由DAC控制直接支持低達(dá)1.5V的低壓器件。更先進(jìn)的波形驅(qū)動(dòng)電路極大抑制工作噪聲配合IC廠家認(rèn)證的算法無(wú)論是低電壓器件、二手器件

41、還是低品質(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è)定、批處理命令等保存在工程文件 docin 浮?指令5光標(biāo)或顯示移位 S/C高礹畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 19 中每

42、次運(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使每片芯片容均不同。器件型號(hào)選錯(cuò)軟件按照實(shí)際讀出的ID提示相近的候選型號(hào)。自動(dòng)識(shí)別文件格式, 自動(dòng)提示文件地址溢出。完善的過(guò)流保護(hù)功能避免損壞編程器。邏輯測(cè)試功能。 圖4-1為學(xué)校中使用的280 智能高速通用編輯器 圖4-1 智能高速通用編

43、輯器 .docin.docin 實(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能夠快速的將所測(cè)得的不同人的不同體溫顯示在1602上反應(yīng)迅速、準(zhǔn)確。圖5-1和圖5-2分別為高精度溫度計(jì)實(shí)物電路板和實(shí)物效果展示。 圖5-1 高精度溫度計(jì)實(shí)物圖 圖5-2 實(shí)物效果展示 .docin.l暗暮kW

溫馨提示

  • 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)論