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

下載本文檔

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

文檔簡介

1、 I 摘 要 【摘要】在日常生活及工業(yè)生產(chǎn)過程中經(jīng)常要用到溫度的檢測及控制溫度是生產(chǎn)過程和科學(xué)實(shí)驗(yàn)中普遍而且重要的物理參數(shù)之一。在生產(chǎn)過程中為了高效地進(jìn)行生產(chǎn)必須對它的主要參數(shù)如溫度、壓力、流量等進(jìn)行有效的控制。溫度控制在生產(chǎn)過程中占有相當(dāng)大的比例。溫度測量是溫度控制的基礎(chǔ)技術(shù)已經(jīng)比較成熟。傳統(tǒng)的測溫元件有熱電偶和二電阻。而熱電偶和熱電阻測出的一般都是電壓再轉(zhuǎn)換成對應(yīng)的溫度這些方法相對比較復(fù)雜需要比較多的外部硬件支持。我們用一種相對比較簡單的方式來測量。我們采用美國DALLAS半導(dǎo)體公司繼DS1820之后推出的一種改進(jìn)型智能溫度傳感器DS18B20作為檢測元件溫度范圍為-55125 oC,最高

2、分辨率可達(dá)0.0625 oC。DS18B20可以直接讀出被側(cè)溫度值而且采用三線制與單片機(jī)相連減少了外部的硬件電路具有低成本和易使用的特點(diǎn)。 本文主要介紹高精度溫度計(jì)的設(shè)計(jì)。本設(shè)計(jì)大體分三個工作過程首先,由DS18b20溫度傳感器芯片測量當(dāng)前的溫度,并將結(jié)果送入單片機(jī)。然后,通過AT89C51單片機(jī)對送來的溫度進(jìn)行計(jì)算和轉(zhuǎn)換,并將此結(jié)果送入液晶顯示模塊。最后,由1602液晶顯示器將溫度顯示出來。 【關(guān)鍵詞】: 溫度控制、溫度測試、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簡介及引腳功能說明.2 復(fù)位電路.4 時鐘(晶振)電路 . 4 2.2.2 1602液晶顯示器 . 5 1602LCD 基本參數(shù)及引腳功能說明.5 1602LCD 指令說明及時序.6 1602LCD 標(biāo)準(zhǔn)字符庫.8 1602LCD 顯示電路圖.9 2.2.3 DS18b20 溫度傳感器.10 DS18B20 結(jié)構(gòu)及引腳功能說明.10

4、DS18B20 內(nèi)部結(jié)構(gòu).10 DS18B20 初始化和讀/寫時序.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ù)的需要測溫技術(shù)也在不斷地改進(jìn)和提高由于測溫范圍越來越廣根據(jù)不同的要求又制造出不同需要的測溫儀器現(xiàn)實(shí)社會發(fā)展的許多情況下需要測量溫度參數(shù)。 DS18B20是美國DALLAS半導(dǎo)體公司繼DS1820之后最新推出的一種改進(jìn)型智能溫度傳感器。與傳統(tǒng)的熱敏電阻相比他能夠直接讀出被測溫度并且可根據(jù)實(shí)際要求通過簡單的編程實(shí)現(xiàn)912位的數(shù)字值讀數(shù)方式。可以分別在93.75 ms和750 ms內(nèi)完成9位和12位的數(shù)字量并且從DS18B20讀出的信息或?qū)?/p>

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

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

8、由中央控制器、溫度檢測器及顯示器組成??刂破鞑捎脝纹瑱C(jī)AT89S51溫度檢測部分采用DS18B20溫度傳感器用1602LCD做顯示器。溫度傳感器DS18B20采集溫度信號送該給單片機(jī)處理存儲器通過單片機(jī)對某些時間點(diǎn)的數(shù)據(jù)進(jìn)行存儲單片機(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ǔ)上使用單個DS18B20采集環(huán)境溫度并用1602液晶顯示器顯示溫度結(jié)果測量范圍在10500C之間,精度0.010C。 2.1.2方案論證 該設(shè)計(jì)方案

9、是以AT89C51單片機(jī)為控制核心用溫度傳感器DS18B20進(jìn)行溫度采集繼而顯示在1602LCD上從而達(dá)到顯示當(dāng)前環(huán)境溫度的目的。在論證過程中我們需要將溫度精確到0.010C已達(dá)到對溫度的精準(zhǔn)。整個系統(tǒng)硬件部分包括單片機(jī)、溫度檢測系統(tǒng)、液晶顯示器。高精度溫度計(jì)設(shè)計(jì)方案框圖見圖 2-1。 圖2-1 高精度溫度計(jì)系統(tǒng)方案 2.2 系統(tǒng)硬件電路的設(shè)計(jì) 2.2.1 A89C51單片機(jī) AT89C51是一種帶4K字節(jié)閃爍可編程可擦除只讀存儲器FPEROMFlash Programmable and Erasable Read Only Memory的低電壓高性能CMOS 8位微處理器俗稱單片機(jī)。該器件采

10、用ATMEL高密度非易失存儲器制造技術(shù)制造與工業(yè)標(biāo)準(zhǔn)的MCS-51指令集和輸出管腳相兼容。由于將多功能8位CPU和閃爍存儲器組合在單個芯片中ATMEL的AT89C51是一種高效微控制器。AT89C單片機(jī)為很多嵌入式控制系統(tǒng)提供了一種靈活性高且價廉的方案。 AT89C51引腳功能說明 掌握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條四部分

11、,AT89C51引腳排列如圖2-2所示。 圖2-2 AT89C51芯片引腳圖 AT89C51共有40個引腳大致可分為4類 (1) 電源引腳 Vcc:電源端+5V。 Vss: 接地端(GND)。 (2) 時鐘電路引腳 XTAL1:外接晶振輸入端。 XTAL2:外接晶振輸出端。 (3) I/O引腳 P0.PP0.7/AD0AD7: 一組8位漏極開路型雙向I/O口也是地址/總線復(fù)用口。作入/輸出口時必須外接上拉電阻它可驅(qū)動8個TTL門電路。當(dāng)訪問片外存儲器時用作地址/總線分時復(fù)用口線。 P1.0P1.7: 一組內(nèi)部帶上拉電阻的8位準(zhǔn)雙向I/O口可驅(qū)動4個TTL門電路。 P2.0P2.7/A8A15:

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

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

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

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

16、示漢字。 1602 LCD 基本參數(shù)及引腳功能說明 1、1602LCD主要技術(shù)參數(shù) 顯示容量:16×2個字符 芯片工作電壓:4.55.5V 工作電流:2.0mA(5.0V) 模塊最佳工作電壓:5.0V 字符尺寸:2.95×4.35(W×H)mm 2、引腳功能說明 1602LCD采用標(biāo)準(zhǔn)的14腳無背光或16腳帶背光接口各引腳接口說如表2.1所示 表2.1 1602 LCD 引腳接口說明表 編號 符號 引腳說明 編號 符號 引腳說明 1 VSS 電源地 9 D2 數(shù)據(jù) 2 VDD 電源正極 10 D3 數(shù)據(jù) 3 VL 液晶顯示偏壓 11 D4 數(shù)據(jù) 4

17、 RS 數(shù)據(jù)/命令選擇 12 D5 數(shù)據(jù) 鞅匭氚詞奔淥承蟯瓿?這種時間?系統(tǒng)硬件的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 6 5 R/W 讀/寫選擇 13 D6 數(shù)據(jù) 6 E 使能信號 14 D7 數(shù)據(jù) 7 D0 數(shù)據(jù) 15 BLA 背光源正極 8 D1 數(shù)據(jù) 16 BLK 背光源負(fù)極 第1腳VSS為地電源。 第2腳VDD接5V正電源。 第3腳VL為液晶顯示器對比度調(diào)整端接正電源時對比度最弱接地時對比度最高對比度過高時會產(chǎn)生“鬼影”使用時可以通過一個10K的電位器調(diào)整對比度。 第4腳RS為寄存器選擇高電平時選擇數(shù)據(jù)寄存器、低電平時選擇指令寄存器。 第5腳R/W為讀寫信號線高電平時進(jìn)行讀操作低電平時進(jìn)行寫操作。當(dāng)R

18、S和R/W共同為低電平時可以寫入指令或者顯示地址當(dāng)RS為低電平R/W為高電平時可以讀忙信號當(dāng)RS為高電平R/W為低電平時可以寫入數(shù)據(jù)。 第6腳E端為使能端當(dāng)E端由高電平跳變成低電平時液晶模塊執(zhí)行命令。 第714腳D0D7為8位雙向數(shù)據(jù)線。 第15腳背光源正極。 第16腳背光源負(fù)極。 1602 LCD 指令說明及時序 1、1602液晶模塊內(nèi)部的控制器共有11條控制指令如表2.2所示 表2.2 1602 LCD 控制命令表 序號 指令 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

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

20、作、屏幕和光標(biāo)的操作都是通過指令編程來實(shí)現(xiàn)的。說明1為高電平、0為低電平 指令1清顯示指令碼01H,光標(biāo)復(fù)位到地址00H位置。 指令2光標(biāo)復(fù)位光標(biāo)返回到地址00H。 指令3光標(biāo)和顯示模式設(shè)置 I/D光標(biāo)移動方向高電平右移低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效低電平則無效。 指令4顯示開關(guān)控制。 D控制整體顯示的開與關(guān)高電平表示開顯示低電平表示關(guān)顯示 C控制光標(biāo)的開與關(guān)高電平表示有光標(biāo)低電平表示無光標(biāo) B控制光標(biāo)是否閃爍高電平閃爍低電平不閃爍。 指令5光標(biāo)或顯示移位 S/C高電平時移動顯示的文字低電平時移動光標(biāo)。 指令6功能設(shè)置命令 DL高電平時為4位總線低電平時為8位總

21、線 N低電平時為單行顯示高電平時雙行顯示 F: 低電平時顯示5x7的點(diǎn)陣字符高電平時顯示5x10的點(diǎn)陣字符。 指令7字符發(fā)生器RAM地址設(shè)置。 指令8DDRAM地址設(shè)置。 指令9讀忙信號和光標(biāo)地址 BF為忙標(biāo)志位高電平表示忙此時模塊不能接收命令或者數(shù)據(jù)如果為低電平表示不忙。 指令10寫數(shù)據(jù)。 指令11讀數(shù)據(jù)。 2、1602 讀/寫時序 當(dāng) RS=0、RW=0時為寫指令 RS=0、RW=1時為讀指令 RS=1、RW=0時為寫數(shù)據(jù) RS=1、RW=1時為讀數(shù)據(jù)。 具體的1602讀寫操作時序如圖2-5和2-6所示。 貯器地址 9 讀忙標(biāo)志或地址 0 1系統(tǒng)硬件的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 8 圖2-5 讀操

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

23、215;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 ? ü ××××0110 (7)

24、& 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 萬 ××××1100 (5) , < L l |

25、××××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所示。 當(dāng) RS=0、RW=0時為寫指令 RS=0、RW=1時為讀指令 RS=#系統(tǒng)硬件的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 10 圖2-7 1602字符液晶顯示電路接口圖 2

26、.2.3 DS18b20 溫度傳感器 DS18B20是DALLAS公司生產(chǎn)的單總線數(shù)字溫度傳感器具有3引腳TO92小體積封裝形式溫度測量范圍為55125,可編程為9位12位A/D轉(zhuǎn)換精度對應(yīng)的可辨溫度分別為0.5、0.25、0.125和0.0625被測溫度用符號擴(kuò)展的16位數(shù)字量方式串行輸出支持3V5.5V的電壓范圍使系統(tǒng)設(shè)計(jì)更靈活、方便,其工作電源既可在遠(yuǎn)端引入也可采用寄生電源方式產(chǎn)生.同時多個DS18B20可以并聯(lián)到3根或2根線上CPU只需一根端口線就能與諸多DS18B20通信占用處理器的端口較少可節(jié)省大量的引線和邏輯電路。以上特點(diǎn)使DS18B20非常適用于遠(yuǎn)距離多點(diǎn)溫度檢測系統(tǒng)。 2.2

27、.3.1 DS18b20結(jié)構(gòu)及引腳功能說明 DS18B20的引腳 圖2-8 溫度傳感器DS18B20引腳圖 表2.4 溫度傳感器DS18B20引腳功能表 序號 名稱 引腳功能描述 1 GND 地信號 2 DQ 數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用在寄生電源下也可以向器件提供電源。 3 VDD 外接供電電源輸入端。當(dāng)工作于寄生電源時此引腳必須接地。 DS18B20 內(nèi)部結(jié)構(gòu) DS18B20內(nèi)部結(jié)構(gòu)主要由四部分組成64位光刻ROM、溫度傳感器、非易失性溫om當(dāng) RS=0、RW=0時為寫指?畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 11 度報警觸發(fā)器TH和TL、配置寄存器。具體結(jié)構(gòu)如圖2

28、-9所示。 圖2-9 DS18B20內(nèi)部結(jié)構(gòu)圖 1 64位激光ROM。64位激光ROM從高位到低位依次為8位CRC、48位序列號和8位家族代碼(28H)組成。 2 溫度靈敏元件。用于采集溫度并轉(zhuǎn)換成電信號。 3 非易失性溫度報警觸發(fā)器TH和TL??赏ㄟ^軟件寫入用戶報警上下限值。 4 高速暫存存儲器 高速暫存存儲器由9個字節(jié)組成其分配圖2-10所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布后經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補(bǔ)碼形式存放在高速暫存存儲器的第0和第1個字節(jié)。單片機(jī)可通過單線接口讀到該數(shù)據(jù)讀取時低位在前高位在后數(shù)據(jù)格式如圖2-11所示。對應(yīng)的溫度計(jì)算當(dāng)符號位S=0時直接將二進(jìn)制位轉(zhuǎn)換為十進(jìn)制當(dāng)S=1時先將補(bǔ)碼變?yōu)?/p>

29、原碼再計(jì)算十進(jìn)制值。 8位CRC 保留 保留 保留 配置 TL TH 溫度高位 溫度低位 MSB LSB 圖2-10 DS18B20存儲器映像圖 圖2-11 DS18B20溫度存儲器數(shù)據(jù)格式 5 配置寄存器。配置寄存器為高速暫存存儲器中的第五個字節(jié)。DS18B20在工作時按此寄存器中的分辨率將溫度轉(zhuǎn)換成相應(yīng)精度的數(shù)值其各位定義如圖2-四部分組成64位光刻ROM、溫度?系統(tǒng)硬件的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 12 所示。其中TM測試模式標(biāo)志位出廠時被寫入0不能改變R0、R1溫度計(jì)分辨率設(shè)置位其對應(yīng)四種分辨率如表2.5所列出廠時R0、R1置為缺省值R0=1R1=1即12位分辨率用戶可根據(jù)需要改寫配置寄存器以

30、獲得合適的分辨率。 TM R1 R0 1 1 1 1 1 圖2-12 DS18B20配置寄存器結(jié)構(gòu)圖 表2.5 配置寄存器與分辨率關(guān)系表 R0 R1 溫度計(jì)分辨率/bit 最大轉(zhuǎn)換時間/ms 0 0 9 93.75 0 1 10 187.5 1 0 11 375 1 1 12 750 DS18b20 初始化和讀/寫時序 由于DS18B20采用的是1Wire總線協(xié)議方式即在一根數(shù)據(jù)線實(shí)現(xiàn)數(shù)據(jù)的雙向傳輸而對AT89C51單片機(jī)來說硬件上并不支持單總線協(xié)議因此我們必須采用軟件的方法來模擬單總線的協(xié)議時序來完成對DS18B20芯片的訪問。從而對讀寫的數(shù)據(jù)位有著嚴(yán)格的時序要求。DS18B

31、20有嚴(yán)格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序初始化時序、讀時序、寫時序。所有時序都是將主機(jī)作為主設(shè)備單總線器件作為從設(shè)備。而每一次命令和數(shù)據(jù)的傳輸都是從主機(jī)主動啟動寫時序開始如果要求單總線器件回送數(shù)據(jù)在進(jìn)行寫命令后主機(jī)需啟動讀時序完成數(shù)據(jù)接收。數(shù)據(jù)和命令的傳輸都是低位在先。 1、DS18B20的初始化時序 圖2-13 DS18B20的初始化時序圖 2、DS18B20的讀/寫時序 控制器在寫時序?qū)憯?shù)據(jù)到DS18B20,在讀時序從DS18B20中讀取數(shù)據(jù).每一總線時序傳送一位數(shù)據(jù)。 凈虻刂?0 1畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 13 1讀流程時序 對于DS18B2

32、0的讀時序分為讀0時序和讀1時序兩個過程。 對于DS18B20的讀時隙是從主機(jī)把單總線拉低之后在15秒之內(nèi)就得釋放單總線以讓DS18B20把數(shù)據(jù)傳輸?shù)絾慰偩€上。DS18B20在完成一個讀時序過程至少需要60us才能完成。 2寫流程時序 對于DS18B20的寫時序仍然分為寫0時序和寫1時序兩個過程。 對于DS18B20寫0時序和寫1時序的要求不同當(dāng)要寫0時序時單總線要被拉低至少60us保證DS18B20能夠在15us到45us之間能夠正確地采樣IO總線上的“0”電平當(dāng)要寫1時序時單總線被拉低之后在15us之內(nèi)就得釋放單總線。 圖2-14 DS18B20的/讀寫時序 DS18B20

33、常用指令 DS18B20的操作分為ROM操作指令和RAM操作指令兩類。 表2.6 ROM操作指令 指令 約定代碼 功能 讀ROM 33H 讀DS18B20 ROM中的編碼(即64位地址) 符合ROM 55H 發(fā)出此命令之后,接著發(fā)出64位ROM編碼,訪問總線上與該編碼相對應(yīng)的DS18B20使之作出響應(yīng),為下一步對該DS18B20的讀寫做準(zhǔn)備 dir=C:WINDOWS系統(tǒng)硬件的設(shè)計(jì) 畢業(yè)設(shè)計(jì)論文 14 搜索ROM 0F0H 用于確定掛在同一總線上DS18B20的個數(shù)和識別64位ROM地址,為操作各器件作好準(zhǔn)備 跳過ROM 0CCH 忽略64位ROM地址,直接向DS18B20發(fā)溫度變換命令,適用

34、于單片工作 告警搜索命令 0ECH 執(zhí)行后只有溫度超過設(shè)定值上限或下限的片子才作出響應(yīng) 表2.7 RAM操作指令 指令 約定代碼 功能 溫度變換 44H 啟動DS18B20進(jìn)行溫度轉(zhuǎn)換,轉(zhuǎn)換時間最長500ms(典型為200ms),結(jié)果存入內(nèi)部9字節(jié)RAM中 讀存儲器 0BEH 讀內(nèi)部RAM中9字節(jié)的內(nèi)容 寫存儲器 4EH 發(fā)出向內(nèi)部RAM的3、4字節(jié)寫上、下限溫度數(shù)據(jù)命令緊跟該命令之后是傳送兩字節(jié)的數(shù)據(jù) 復(fù)制存儲器 48H 將RAM中3、4字節(jié)的內(nèi)容復(fù)制到EEPROM中 重調(diào)EEPROM 0B8H 將EEPROM中的內(nèi)容恢復(fù)到RAM中的3、4字節(jié) 讀供電方式 0B4H 讀DS18B20的供電模

35、式寄生供電時DS18B20發(fā)送“0”外接電源供電DS18B20發(fā)送“1” DS18B20 溫度采集電路圖 在本設(shè)計(jì)中由DS18B20組建溫度采集系統(tǒng)。其中1腳GND2腳為數(shù)據(jù)輸入端3腳VCC2腳與3腳間接上一個4.7K的電阻形成上拉電阻。詳細(xì)的采集電路如圖2-15所示。 圖2-15 DS18B20溫度采集電路 詈螳粗骰?需啟動讀時序完成?畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 15 第三章 系統(tǒng)程序的設(shè)計(jì) 3.1 主程序 在主程序流程圖中初始化液晶模塊然后延時一段時間進(jìn)入While循環(huán)讀取溫度將溫度顯示在LCD液晶屏上。主程序的流程圖如下 圖 3-1主程序流程圖 3.2 DS18B20模版

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

37、示器進(jìn)行初始化按鍵復(fù)位后延時15ms進(jìn)行初始化設(shè)置依次為顯示關(guān)閉、顯示清屏、顯示光標(biāo)移動設(shè)置最后進(jìn)行寫操作。1602液晶驅(qū)動程序流程圖如圖3-3所示。 啟動溫度轉(zhuǎn)換 讀取溫度 溫度處理 跳過ROM匹配 DS18B20復(fù)位 跳過ROM匹配 DS18B20復(fù)位 畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 17 圖3-3 1602液晶驅(qū)動程序流程圖 延時15ms 顯示模式設(shè)置 延時5ms 顯示關(guān)閉 顯示清屏 延時5ms 延時5ms 顯示光標(biāo)移動設(shè)置 延時5ms 顯示開及光標(biāo)設(shè)置 顯示位置設(shè)置 延時 顯示溫度各位數(shù)值 1602初始化 tElementsByTagName("head")0.appe

38、ndChild(a);PDC._l應(yīng)用的相關(guān)軟件 畢業(yè)設(shè)計(jì)論文 18 第四章 應(yīng)用的相關(guān)軟件 4.1 keil uVision3編輯軟件 Keil C51是美國Keil Software公司出品的51系列兼容單片機(jī)C語言軟件開發(fā)系統(tǒng)與匯編相比C語言在功能上、結(jié)構(gòu)性、可讀性、可維護(hù)性上有明顯的優(yōu)勢因而易學(xué)易用。用過匯編語言后再使用C來開發(fā)體會更加深刻。 Keil C51軟件提供豐富的庫函數(shù)和功能強(qiáng)大的集成開發(fā)調(diào)試工具全Windows界面。另外重要的一點(diǎn)只要看一下編譯后生成的匯編代碼就能體會到Keil C51生成的目標(biāo)代碼效率非常之高多數(shù)語句生成的匯編代碼很緊湊容易理解。在開發(fā)大型軟件時更能體現(xiàn)高

39、級語言的優(yōu)勢。 本次設(shè)計(jì)中主要使用Keil軟件對高精度溫度計(jì)的源程序C語言進(jìn)行編輯和檢驗(yàn)。 4.2 Protel 99SE 電路板設(shè)計(jì)軟件 Protel 99SE是ProklTechnology公司開發(fā)的基于Windows環(huán)境下的電路板設(shè)計(jì)軟件。該軟件功能強(qiáng)大人機(jī)界面友好易學(xué)易用仍然是大中院校電學(xué)專業(yè)必學(xué)課程同時也是業(yè)界人士首選的電路板設(shè)計(jì)工具。 Protel 99SE 由兩大部分組成電路原理圖設(shè)計(jì)Advanced Schematic和多層印刷電路板設(shè) 計(jì)Advanced PCB。其中Advanced Schematic由兩部分組成電路圖編輯器Schematic和 元件庫編輯器Schemati

40、c Library。 由于高精度溫度是一個具體的實(shí)物因此在設(shè)計(jì)中要進(jìn)行實(shí)物制作為了方便制作我們要用到Protel 99SE進(jìn)行原理圖設(shè)計(jì)。 4.3 智能高速通用編輯器 該編輯器編程速度無與倫比逼近芯片理論極限?;九渲?8腳流行驅(qū)動電路一顆通用適配器插在DIP48鎖緊座上支持同封裝所有類型器件48腳及以下DIP器件無需適配器直接支持。通用適配器保證快速新器件支持。I/O電平由DAC控制直接支持低達(dá)1.5V的低壓器件。更先進(jìn)的波形驅(qū)動電路極大抑制工作噪聲配合IC廠家認(rèn)證的算法無論是低電壓器件、二手器件還是低品質(zhì)器件均能保證極高的編程良品率。編程結(jié)果可選擇高低雙電壓校驗(yàn)保證結(jié)果持久穩(wěn)固。支持90多

41、個廠家9000多種FLASH、EPROM、EEPROM、MCU、PLD等器件。支持新器件僅需升級軟件免費(fèi)。可測試SRAM、標(biāo)準(zhǔn)TTL/COMS電路并能自動判斷型號。自動檢測芯片錯插和管腳接觸不良避免損壞器件??蓽y試和自動識別標(biāo)準(zhǔn)TTL/CMOS邏輯電路和用戶自定義測試向量的非標(biāo)準(zhǔn)邏輯電路。工程Project將用戶關(guān)于對象器件的各種操作、設(shè)置包括器件型號設(shè)定、燒寫文件的調(diào)入、配置位的設(shè)定、批處理命令等保存在工程文件浮?指令5光標(biāo)或顯示移位 S/C高礹畢業(yè)設(shè)計(jì)論文 高精度溫度計(jì) 19 中每次運(yùn)行時一步進(jìn)入寫片操作。器件型號選擇和文件載入均有歷史History記錄方便再次選擇。批處理Auto命令允許

42、用戶將擦除、查空、編程、校驗(yàn)、加密等常用命令序列隨心所欲地組織成一步完成的單一命令。量產(chǎn)模式下一旦芯片正確插入CPU即自動啟動批處理命令無須人工按鍵。自動序列號功能按用戶要求自動生成并寫入序列號。借助于開放的API用戶可以在線動態(tài)修改數(shù)據(jù)BUFFER使每片芯片內(nèi)容均不同。器件型號選錯軟件按照實(shí)際讀出的ID提示相近的候選型號。自動識別文件格式, 自動提示文件地址溢出。完善的過流保護(hù)功能避免損壞編程器。邏輯測試功能。 圖4-1為學(xué)校中使用的280 智能高速通用編輯器 圖4-1 智能高速通用編輯器 實(shí)物效果展示 畢業(yè)設(shè)計(jì)論文 20 第五章 實(shí)物效果展示 本次畢業(yè)設(shè)計(jì)主題為高精度溫度計(jì)。我們須將硬件設(shè)備與軟件編程結(jié)合才能具體的展示所做的溫度計(jì)的實(shí)物效果。 在將程序下載進(jìn)單片機(jī)后我們接通電源來觀測現(xiàn)象。該溫度計(jì)是用1602LCD來展示成果的。我們可以通過調(diào)節(jié)與1602相連的電位器來改變1602上顯示溫度字符的光亮程度以適應(yīng)在不同環(huán)境下可以清晰地顯示溫度。 另外在檢測DS18B20是否能正

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論