




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、中文摘要中文摘要液晶是現(xiàn)在電子產(chǎn)品中使用越來越多的一種顯示器件。我們經(jīng)常會(huì)在各種各樣的電子產(chǎn)品和儀器上看到液晶顯示器的存在。這些液晶品種繁多,功能不一 ,有的是字符型 ,有的是點(diǎn)陣型常常用來顯示各種參數(shù) ,包括電壓、電流、溫度及各種電氣參數(shù)和一些特定信息。液晶不但用來顯示各種文字還可以被設(shè)計(jì)成各種圖案、通過改變里面特定顯示 的內(nèi)容 ,還還可以動(dòng)態(tài)的顯示各種圖案及畫面。液晶的使用打破了以往單一聲光顯示功能 ,為人們提供了更多豐富多彩的顯示信息。使顯示的內(nèi)容更加形象化 、生動(dòng)化。本設(shè)計(jì)采用以單片機(jī)為核心的低成本、高精度、微型化數(shù)字顯示溫度實(shí)時(shí)曲線的硬件電路和軟件設(shè)計(jì)方法。整個(gè)電路采用模塊化設(shè)計(jì),由
2、主程序、中斷程序、ds18b20 溫度轉(zhuǎn)換的驅(qū)動(dòng)程序、顯示子程序等模塊組成。ds18b20 溫度傳感器數(shù)字信號(hào)經(jīng)單片機(jī)綜合分析處理,實(shí)現(xiàn)溫度顯示以及曲線繪圖各種功能。在此基礎(chǔ)上設(shè)計(jì)了系統(tǒng)的總體方案,最后通過硬件和軟件實(shí)現(xiàn)了各個(gè)功能模塊。相關(guān)部分附有硬件電路圖、程序流程圖。關(guān)鍵詞:關(guān)鍵詞:at89s52 單片機(jī);ds18b20 溫度傳感器;12864 液晶顯示模塊;目錄目錄中文摘要 .i第 1 章 前言 .11.1 液晶的概述 .11.2 液晶顯示的意義 .11.3 液晶 lcd 的各類應(yīng)用 .11.4 課程設(shè)計(jì)的任務(wù)和要求 .2第 2 章 液晶顯示溫度曲線方案設(shè)計(jì) .32.1 總體選型方案.3
3、2.1.1 溫度檢測電路選型方案.32.1.2 液晶顯示模塊選型方案 .32.1.3 鍵盤輸入模塊選型方案 .32.2 整體設(shè)計(jì)思路.3第 3 章 液晶溫度顯示硬件設(shè)計(jì) .43.1 控制模塊硬件設(shè)計(jì) .43.1.1 at89s52 單片機(jī)簡介 .43.1.2 at89s52 單片機(jī)最小系統(tǒng)硬件設(shè)計(jì) .53.2 液晶顯示模塊硬件設(shè)計(jì).63.2.1 lcd12864zk 液晶模塊介紹 .63.2.2 液晶顯示模塊硬件設(shè)計(jì) .93.3 溫度模塊的硬件設(shè)計(jì).103.3.1 溫度傳感器 ds18b20 概述 .103.3.2 溫度模塊的硬件設(shè)計(jì) .11第 4 章 液晶顯示系統(tǒng)軟件設(shè)計(jì) .134.1 主程
4、序設(shè)計(jì).134.2 液晶顯示模塊的設(shè)計(jì) .134.2.1 12864 程序設(shè)計(jì) .134.2.2 12864 程序設(shè)計(jì)流程圖 .154.3 溫度模塊軟件設(shè)計(jì) .174.3.1 ds18b20 測溫?cái)?shù)據(jù)的讀取程序設(shè)計(jì) .174.3.2 ds18b20 溫度讀取流程 .20第 5 章 總結(jié) .22參考文獻(xiàn) .23附錄 a:溫度實(shí)時(shí)曲線顯示硬件原理圖.24附錄 b:軟件程序.25第第 1 1 章章 前言前言1.11.1 液晶的概述液晶的概述物質(zhì)通常分為三種型態(tài) 晶體(固體)、液體、氣體 。某些 固體物質(zhì)在一定條件下會(huì)呈現(xiàn)液態(tài)晶體狀態(tài) 。這種狀態(tài)既不同于各向同性的液體,也不同于在三維空間分子完全規(guī)則排
5、列的固體晶體,但又具有液體的流動(dòng)性、連續(xù)性和分子排列的有序性。這種處于液體和晶體之間過渡相態(tài)的物質(zhì)稱為液晶。液晶分為熱致液晶和溶致液晶。前者是物質(zhì)在某一溫度范圍內(nèi)呈現(xiàn)液晶狀態(tài),后者是物質(zhì)溶于水或有機(jī)溶劑而形成的。用于電子器件的液晶為熱致液晶。現(xiàn)在的液晶物質(zhì)均為芳香族化合物,已被發(fā)現(xiàn)的液晶物質(zhì)多達(dá) 3000 余種 。液晶分子呈棒狀或條狀,寬約十幾 nm(納米),長約數(shù) nm 液晶分子有較強(qiáng)的電偶極矩和容易極化的化學(xué)團(tuán)。由于液晶分子間的作用力比固體弱,所以液晶分子容易呈現(xiàn)各種狀態(tài)。液晶分子的介電常數(shù)、電導(dǎo)率、折射率、磁化率等具有較大的各向異性 ,在外加電場作用下會(huì)產(chǎn)生各種電光效應(yīng),從而可應(yīng)用于液晶
6、顯示器(liquid crystal display device ,縮寫為 lcd) 。1.21.2 液晶顯示的意義液晶顯示的意義隨著計(jì)算機(jī)技術(shù)的發(fā)展 ,基于微處理器的智能儀表已成為儀表的主體.而越來越多的智能儀表采用圖形點(diǎn)陣液晶模塊后 ,提供了豐富靈活的顯示內(nèi)容 ,更符合人性化的特點(diǎn).智能儀表的功能是否強(qiáng)大、用戶操作性是否方便 ,都必須通過界面友好的外觀和可操作性來體現(xiàn)。可見 ,人機(jī)界面是智能儀表開發(fā)中的主要環(huán)節(jié) ,在開發(fā)的工作量中占了很大的比例.現(xiàn)有技術(shù)中智能儀表人機(jī)界面一般由液晶顯示器和微處理器組成。目前 ,已有很多文獻(xiàn)對(duì)液晶顯示技術(shù)、圖形用戶界面設(shè)計(jì)作了研究。1.31.3 液晶液晶
7、lcdlcd 的各類應(yīng)用的各類應(yīng)用1)辦公自動(dòng)化(oa) 。如 pc 機(jī)、臺(tái)式計(jì)算機(jī)、傳真機(jī)、復(fù)印機(jī)、文字處理機(jī)等 。2)個(gè)人數(shù)字助理(pda) 。如筆記本電腦、袖珍計(jì)算機(jī)、計(jì)算器、電子信箋(備忘)等。3)設(shè)備自動(dòng)化(fa) 。如測量設(shè)備、提升機(jī)、電梯等 。4)通訊 。如無繩 電話、個(gè)人手提 電話系統(tǒng)、多功能電話、手提數(shù)據(jù)終端、蜂窩電話等。5)車輛設(shè)備。如汽車收音機(jī)、汽車音響、汽車 vcd、速度表、汽車導(dǎo)航系統(tǒng)(gps)等。1.41.4 課程設(shè)計(jì)的任務(wù)和要求課程設(shè)計(jì)的任務(wù)和要求設(shè)計(jì)溫度實(shí)時(shí)曲線顯示測量儀,任務(wù):溫度變化時(shí)能及時(shí)再現(xiàn)正確的溫度數(shù)值多大,并且可以看到液晶顯屏上描繪的實(shí)時(shí)溫度曲線。設(shè)
8、計(jì)溫度測量儀,要求:1) 設(shè)計(jì)出溫度實(shí)時(shí)曲線顯示測量儀的硬件結(jié)構(gòu)電路。2) 設(shè)計(jì)軟件流程圖并編寫程序。3) 精度等級(jí)是 0.5。第第 2 2 章章 液晶顯示溫度曲線方案設(shè)計(jì)液晶顯示溫度曲線方案設(shè)計(jì)2.12.1 總體選型方案總體選型方案.1 溫度檢測電路選型方案溫度檢測電路選型方案考慮到經(jīng)濟(jì)、測溫精度與 52 單片機(jī) i/o 口的資源等因素。溫度檢測電路采用智能溫度傳感器 ds18b20,它與單片機(jī)相連只需要 3 線,減少了外部的硬件電路。并且溫度傳感器 ds18b20 輸出的信號(hào)為數(shù)字信號(hào),可以被單片機(jī)直接采集。省去了一般溫度傳感器輸出信號(hào)要經(jīng)過放大電路,模數(shù)轉(zhuǎn)換的環(huán)節(jié)。2.1
9、.22.1.2 液晶顯示模塊選型方案液晶顯示模塊選型方案由于要顯示溫度實(shí)時(shí)曲線,故傳統(tǒng)的小的液晶顯示屏 1602 不能滿足本課題要求。故選用更寬,更大點(diǎn)的液晶顯示屏 12864zk。它可以顯示半寬字型,顯 cgram 字型,顯示中文字形。更為重要的是顯示實(shí)時(shí)曲線必須滿足打點(diǎn)要求,由于它具有繪圖功能故滿足打點(diǎn)要求。.3 鍵盤輸入模塊選型方案鍵盤輸入模塊選型方案 采用獨(dú)立鍵盤,它的功能是作為 52 單片機(jī)觸發(fā)外部中斷硬件。2.22.2 整體設(shè)計(jì)思路整體設(shè)計(jì)思路本課題設(shè)計(jì)的是液晶顯示溫度實(shí)時(shí)曲線,首先要達(dá)到的最簡單想法是可以在液晶屏上顯示溫度,要顯示溫度,必須將溫度傳感器輸出(數(shù)字量
10、)信號(hào)傳送至單片機(jī),通過程序?qū)π盘?hào)進(jìn)行處理,所以在這里我們需要存儲(chǔ)器來儲(chǔ)存一些必要的信息,之后是顯示這里的顯示我們是用 lcd 顯示,在這里要提到鍵盤的作用,鍵盤在這里是實(shí)現(xiàn)顯示界面的切換。設(shè)計(jì)思路圖見圖 2.1。單單片片機(jī)機(jī)溫溫度度傳傳感感器器液液晶晶顯顯示示模模塊塊溫溫度度獨(dú)獨(dú)立立鍵鍵盤盤電電源源模模塊塊圖 2.1 液晶顯示整體方案設(shè)計(jì)圖第第 3 3 章章 液晶溫度顯示硬件設(shè)計(jì)液晶溫度顯示硬件設(shè)計(jì)3.13.1 控制模塊硬件設(shè)計(jì)控制模塊硬件設(shè)計(jì).1 at89s52at89s52 單片機(jī)簡介單片機(jī)簡介 硬件結(jié)構(gòu)硬件結(jié)構(gòu)該系統(tǒng)采用的是 atmel 公司
11、生產(chǎn)的 at89s52 單片機(jī)為主控器。at89s52 是一種低功耗、高性能 cmos8 位微控制器,具有 8k 在系統(tǒng)可編程 flash 存儲(chǔ)器。使用 atmel 公司高密度非 易失性存儲(chǔ)器技術(shù)制造,與工業(yè) 80c51 產(chǎn)品指令和引腳完 全兼容。片上 flash 允許程序存儲(chǔ)器在系統(tǒng)可編程,亦適于常規(guī)編程器。在單芯片上,擁有靈巧的 8 位 cpu 和在系統(tǒng) 可編程 flash,使得 at89s52 為眾多嵌入式控制應(yīng)用系統(tǒng)提 供高靈活、超有效的解決方案。 at89s52 具有以下標(biāo)準(zhǔn)功能: 8k 字節(jié) flash,256 字節(jié)ram, 32 位 i/o 口線,看門狗定時(shí)器,2 個(gè)數(shù)據(jù)指針,三
12、個(gè) 16 位 定時(shí)器/計(jì)數(shù)器,一個(gè) 6 向量 2 級(jí)中斷結(jié)構(gòu),全雙工串行口, 片內(nèi)晶振及時(shí)鐘電路。另外,at89s52 可降至 0hz 靜態(tài)邏輯操作,支持 2 種軟件可選擇節(jié)電模式??臻e模式下,cpu 停止工作,允許 ram、定時(shí)器/計(jì)數(shù)器、串口、中斷繼續(xù)工 作。掉電保護(hù)方式下,ram 內(nèi)容被保存,振蕩器被凍結(jié), 單片機(jī)一切工作停止,直到下一個(gè)中斷或硬件復(fù)位為止。8 位微控制器 8k 字節(jié)在系統(tǒng)可編程 flash at89s52在單片機(jī)的引腳外圍固定的引腳,如 vcc(40) ,gnd(20)已經(jīng)正確固定到電源和地上。x1(18),x2(19)是接晶振的引腳已經(jīng)外接到 11.0592mhz 和
13、 30pf 的電容。rst(9)是單片機(jī)的復(fù)位引腳,通過 rc 回路,作為單片機(jī)的上電復(fù)位。作為 p3 口的第二功能端口,p3.0(10),p3.1(11)為單片機(jī)的通信引腳,和max232 芯片連接。方便在下載程序時(shí),只要上電復(fù)位即可完成下載的硬件操作。另外,為了提高 p0 口的驅(qū)動(dòng)能力,在 p0 口的各引腳上接了上拉電阻 5.1k 到電源 vcc=5v。采用一片 max232,為 rs232 與 ttl 電平的轉(zhuǎn)換,使得可以方面使用電腦的 com 口對(duì)單片機(jī)進(jìn)行程序的燒錄。其芯片引腳圖如圖 3.1 所示。ea/vpp31xtal119xtal218rst9p3.7(rd)17p3.6(wr
14、)16p3.2(int0)12p3.3(int1)13p3.4(t0)14p3.5(t1)15p1.0(t2)1p1.1(t2ex)2p1.23p1.34p1.45p1.5(mosi)6p1.6(miso)7p1.7(sck)8(ad0)p0.039(ad1)p0.138(ad2)p0.237(ad3)p0.336(ad4)p0.435(ad5)p0.534(ad6)p0.633(ad7)p0.732(a8)p2.021(a9)p2.122(a10)p2.223(a11)p2.324(a12)p2.425(a13)p2.526(a14)p2.627(a15)p2.728psen29ale/pr
15、og30(txd)p3.111(rxd)p3.010gnd20vcc40u?at89s52圖 3.1 at89s52 引腳圖.2 at89s52at89s52 單片機(jī)最小系統(tǒng)硬件設(shè)計(jì)單片機(jī)最小系統(tǒng)硬件設(shè)計(jì)1)單片機(jī)復(fù)位電路硬件設(shè)計(jì)原理圖,如圖 3.2 所示。10kr1res2s1sw-pb10ufc2caprstvcc圖 3.2 復(fù)位電路原硬件原理圖2)單片機(jī)的時(shí)鐘電路硬件設(shè)計(jì)原理圖,如圖 3.3 所示。12y111.0592m100pc 1100pfc 3c apx1x2圖 3.3 時(shí)鐘電路硬件原理圖3)單片機(jī)的電源電路硬件設(shè)計(jì)原理圖,如圖 3.4 所示。 0.1ufc4ca
16、p100ufce2cap feed1kr4res21234usbpowerds1led0vccs6sw-spst圖 3.4 電源電路原理圖4)中斷按鍵硬件設(shè)計(jì)原理圖,如圖 3.5 所示。s4sw-pbs3sw-pbint1int0圖 3.5 中斷按鍵硬件原理圖3.23.2 液晶顯示模塊硬件設(shè)計(jì)液晶顯示模塊硬件設(shè)計(jì).1 lcd12864zklcd12864zk 液晶模塊介紹液晶模塊介紹 基本功能基本功能lcm12864zk 中文液晶顯示模塊的屏幕由 128*64 點(diǎn)構(gòu)成 ,可顯示四行、每行 8 個(gè)漢字。其字型 rom 內(nèi)含 8192 個(gè) 16*16 點(diǎn)
17、的中文字型和 128 個(gè) 16* 8 點(diǎn)的半寬字母符號(hào)字型。繪圖顯示 ram(gdram)提供 64*32byte 空間、最多控制 256*64 點(diǎn)的二維繪圖緩沖空間 ,繪圖顯示畫面提供一個(gè) 64*256 點(diǎn)的繪圖區(qū)域。造字 ram (cgram)提供 4 組軟件可編程的 16*16 點(diǎn)陣造字功能。lcm12864zk 與單片機(jī)等微控器的接口界面靈活 ,有并行、串行兩種模式 ,其中并行模式又有 8 位/4 位兩種接法,串行模式又分 3 線 /2 線兩種接法。 引腳功能引腳功能 (見表 3.1)表 3.1 12864zk 引腳功能引腳名稱功能1k背光源負(fù)極2a背光源正
18、極3gnd地4vcc3v/5v5nc未連接6rs(并行)選擇寄存器 (0:指令寄存器 1:數(shù)據(jù)寄存器);(串行)片選 (0:禁止 1:允許)7rw(并行)讀寫控制腳 (0:寫入 1:讀 ) ; (串行 )輸入串行數(shù)據(jù)8e(sclk)(并行)寫數(shù)據(jù)啟始腳(串行)輸入串行脈沖916db0db7i/o 數(shù)據(jù)線 0717psb控制界面 0:串行1:并行 8 /4 位18 /rst復(fù)位信號(hào),低有效19,20vr,v0lcd 亮度調(diào)整,外接電阻端 功能指令系統(tǒng)簡介功能指令系統(tǒng)簡介lcm12864zk 以 st7920 為內(nèi)核,其指令系統(tǒng)分為基本指令集和擴(kuò)充指令集?;局噶罴?/p>
19、清除顯示、位地址清零、進(jìn)入點(diǎn)設(shè)定、顯示狀態(tài)開/關(guān)、光標(biāo)或顯示移位控制、功能設(shè)定、設(shè)定 cgram 位址、設(shè)定顯示數(shù)據(jù) ram (ddram)位址、讀取忙標(biāo)志(bf)、寫數(shù)據(jù)到 ram(ddram/cgram /gdram)、讀出 ram 的值等指令;擴(kuò)充指令集包括待命模式、卷動(dòng)位址或 ram 位址、選擇睡眠模式、擴(kuò)充功能設(shè)定、設(shè)定光標(biāo)位址(iram)或卷動(dòng)位址、設(shè)定繪圖 ram 地址等指令。下面介紹本課題中常用的 12864 功能指令,見表 3.2,3.3。1)指令表 3.2(re=0:基本指令集)2)指令表 3.3(re=1:擴(kuò)展指令集)指令碼指令rs rwdb7 db6db5db4db3d
20、b2db1db0說明待命模式0000000001將 ddram 填滿“20h” ,并且設(shè)定ddram 的地址計(jì)數(shù)器(ac)到“00h”指令碼指令rs rwdb7 db6db5db4db3db2db1db0說明清除顯示0000000001將 ddram 填滿“20h” ,并且設(shè)定 ddram 的地址計(jì)數(shù)器(ac)到“00h”功能設(shè)定00001dlx0rexxdl=1(必須設(shè)為 1)re=1:擴(kuò)充指令集動(dòng)作re=0:基本指令集動(dòng)作設(shè)定cgram地址0001ac5ac4ac3ac2ac1ac0設(shè)定 cgram 地址到地址計(jì)數(shù)器(ac)設(shè)定ddram 地址001ac6ac5ac4ac3ac2ac1ac
21、0設(shè)定 ddram 地址到地址計(jì)數(shù)器(ac)讀取忙碌標(biāo)志(bf)和地址01bfac6ac5ac4ac3ac2ac1ac0讀取忙碌標(biāo)志(bf)可以確認(rèn)內(nèi)部動(dòng)作是否完成,同時(shí)可以讀出地址計(jì)數(shù)器(ac)的值寫資料到ram10d7d6d5d4d3d2d1d0寫入資料到內(nèi)部的 ram(ddram/cgram/iram/gdram)讀出ram 的值11d7d6d5d4d3d2d1d0從內(nèi)部 ram 讀取資料(ddram/cgram/iram/gdram)卷動(dòng)地址或 iram 地址選擇000000001srsr=1:允許輸入垂直卷動(dòng)地址 sr=0:允許輸入 iram地址反白選擇00000001r1r0選擇
22、4 行中的任一行作反白顯示,并可決定反白與否睡眠模式0000001slxxsl=1:脫離睡眠模式 sl=0:進(jìn)入睡眠模式擴(kuò)充功能設(shè)定000011x1reg0re=1: 擴(kuò)充指令集動(dòng)作 re=0: 基本指令集動(dòng)作 g=1 :繪圖顯示 on g=0 :繪圖顯示 off設(shè)定 iram地址或卷動(dòng)地址0001ac5ac4ac3ac2ac1ac0sr=1:ac5ac0 為垂直卷動(dòng)地址 sr=0:ac3ac0 為icon iram 地址設(shè)定繪圖ram 地址001ac6ac5ac4ac3ac2ac1ac0設(shè)定 cgram 地址到地址計(jì)數(shù)器(ac)備注: 1、當(dāng)模塊在接受指令前,微處理順必須先確認(rèn)模塊內(nèi)部處于非
23、忙碌狀態(tài),即讀取 bf 標(biāo)志時(shí) bf 需為 0,方可接受新的指令;如果在送出一個(gè)指令前并不檢查 bf 標(biāo)志,那么在前一個(gè)指令和這個(gè)指令中間必須延遲一段較長的時(shí)間,即是等待前一個(gè)指令確實(shí)執(zhí)行完成,指令執(zhí)行的時(shí)間請參考指令表中的個(gè)別指令說明。 2、 “re”為基本指令集與擴(kuò)充指令集的選擇控制位元,當(dāng)變更“re”位元后,往后的指令集將維持在最后的狀態(tài),除非再次變更“re”位元,否則使用相同指令集時(shí),不需每次重設(shè)“re”位元。.2 液晶顯示模塊硬件設(shè)計(jì)液晶顯示模塊硬件設(shè)計(jì)該模塊設(shè)計(jì)的液晶顯示器的數(shù)據(jù)端口連接在了單片機(jī)的 p0 口,而控制端rs、rw、en 分別接單片機(jī)的 p2.6、p3
24、.6、p2.7。lcd12864zk 低電平復(fù)位,電源 5v 直流供電。硬件電路如圖 3.7 所示。1234567891011121314151617181920jp2lcd12864gndvcclcd_rslcd_rwlcd_db0lcd_db1lcd_db2lcd_db3lcd_db4lcd_db5lcd_db7psbledaledblcd_db61kr5rpotvccrst1ncnclcd_evccvccvcc1kr8res3s2sw-pbvo1kr?res2圖 3.7 12864 液晶顯示原理圖3.33.3 溫度模塊的硬件設(shè)計(jì)溫度模塊的硬件設(shè)計(jì).1 溫度傳感器溫度傳感器
25、 ds18b20ds18b20 概述概述溫度傳感器是將溫度信號(hào)轉(zhuǎn)換為電信號(hào)的裝置,型號(hào)有很多,數(shù)字式溫度傳感器常用的有 ds18b20、ds1820 等。此設(shè)計(jì)采用的是 ds18b20。ds18b20 是 dallas 公司生產(chǎn)的一線式數(shù)字溫度傳感器,是世界上第一片支持“ 一線總線”接口的溫度傳感器, 在其內(nèi)部使用了在板(on-board)專利技術(shù)。具有 3 引腳to92 小體積封裝形式;溫度測量范圍為55125,可編程為 9 位12 位 a/d轉(zhuǎn)換精度,測溫分辨率可達(dá) 0.0625,被測溫度用符號(hào)擴(kuò)展的 16 位數(shù)字量方式串行輸出;其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生;多個(gè) d
26、s18b20 可以并聯(lián)到 3 根或 2 根線上,cpu 只需一根端口線就能與諸多 ds18b20 通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路。ds18b20 內(nèi)部結(jié)構(gòu)如圖 3.8 所示,主要由 4 部分組成:64 位 rom、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器 th 和 tl、配置寄存器。ds18b20 的管腳排列見下節(jié)圖 3.9 所示,dq 為數(shù)字信號(hào)輸入輸出端;gnd 為電源地;vdd 為外接供電電源。64位row和一線端口存儲(chǔ)和控制邏輯高速暫存器8位crc生成器溫度傳感器高溫觸發(fā)器th低溫觸發(fā)器tl配置寄存器供電方式選擇vccdq圖 3.8 ds18b20 內(nèi)部結(jié)構(gòu)框圖ro
27、m 中的 64 位序列號(hào)是出廠前被光刻好的,它可以看作是該 ds18b20 的地址序列碼,每個(gè) ds18b20 的 64 位序列號(hào)均不相同。64 位 rom 的排的循環(huán)冗余校驗(yàn)碼(crc=x8x5x41) 。rom 的作用是使每一個(gè) ds18b20 都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè) ds18b20 的目的。ds18b20 中的溫度傳感器完成對(duì)溫度的測量,用 16 位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以 0.0625/lsb 形式表達(dá),其中 s 為符號(hào)位。例如125的數(shù)字輸出為07d0h,25.0625的數(shù)字輸出為 0191h,25.0625的數(shù)字輸出為 ff6fh,55的數(shù)字輸出為
28、 fc90h。ds18b20 主要特性如下:適應(yīng)電壓范圍更寬, 電壓范圍:3.0v5.5v, 在寄生電源方式下可由數(shù)據(jù)線供電;獨(dú)特的單線接口方式, ds18b20 在與微處理器連接時(shí)僅需要一條口線即可實(shí)現(xiàn)微處理器與的雙向通訊;ds18b20支持多點(diǎn)組網(wǎng)功能, 多個(gè)ds18b20可以并聯(lián)在唯一的三線上, 實(shí)現(xiàn)組網(wǎng)多點(diǎn)測溫;ds18b20在使用中不需要任何外圍元件, 全部傳感元件及轉(zhuǎn)換電路集成在形如一只三極管的集成電路內(nèi);溫度范圍-55+125 , 在-1085 時(shí)精度為0.5;可編程的分辨率為9-12位, 對(duì)應(yīng)的可分辨溫度分別為0.5、0.25、0.125和0.0625, 可實(shí)現(xiàn)高精度測溫;在9
29、位分辨率時(shí)最多在93.75ms內(nèi)把溫度轉(zhuǎn)換為數(shù)字, 位分辨率時(shí)最多在750ms內(nèi)把溫度值轉(zhuǎn)換為數(shù)字, 速度更快;測量結(jié)果直接輸出數(shù)字溫度信號(hào), 以“ 一線總線”串行傳送給cpu, 同時(shí)可傳送crc校驗(yàn)碼, 具有極強(qiáng)的抗干擾糾錯(cuò)能力;負(fù)壓特性電源極性接反時(shí), 芯片不會(huì)因發(fā)熱而燒毀, 但不能正常工作。.2 溫度模塊的硬件設(shè)計(jì)溫度模塊的硬件設(shè)計(jì)溫度的測量是采用數(shù)字溫度傳感器 ds18b20,外圍電路如圖所示。當(dāng) ds18b20 正在執(zhí)行溫度轉(zhuǎn)換或從高速暫存器 epprom 傳送數(shù)據(jù)時(shí),工作電流可達(dá) 1.5ma,這個(gè)電流可能會(huì)引起連接單總線的弱上拉電阻的不可接受的壓降,這需要更大的電流
30、,而此時(shí)cpp(寄生電源儲(chǔ)能電容)無法提供,為了保證 ds18b20 有充足的供電,當(dāng)進(jìn)行溫度轉(zhuǎn)換或拷貝數(shù)據(jù)到 eeprom 操作時(shí),必須給單總線一個(gè)上拉電阻,一般為 4.7k 的上拉電阻,根據(jù)距離遠(yuǎn)近可以適當(dāng)調(diào)節(jié)阻值,距離近時(shí)減小阻值,但不能低于 2.1k,否則ds18b20 將無法復(fù)位。其數(shù)據(jù)線 dq 端接單片機(jī) p1.0 口。硬件電路如圖 3.9 所示。圖 3.9 ds18b20 接線在外部電源供電方式下, ds18b20 工作電源由 vdd 引腳接人, 不存在電源電流不足的問題, 可以保證轉(zhuǎn)換精度, 同時(shí)在總線上理論可以掛接任意多個(gè) ds18b20 傳感器, 組成多點(diǎn)測溫系統(tǒng)。注意在外
31、部供電的方式下, ds18b20 的 gnd 引腳不能懸空, 否則不能轉(zhuǎn)換溫度, 讀取的溫度總是 85。第第 4 4 章章 液晶顯示系統(tǒng)軟件設(shè)計(jì)液晶顯示系統(tǒng)軟件設(shè)計(jì)4.14.1 主程序設(shè)計(jì)主程序設(shè)計(jì)主程序要滿足不斷地采集溫度信息,實(shí)時(shí)顯示溫度數(shù)值,描繪溫度實(shí)時(shí)曲線,等要求。故主程序流程圖見圖 4.1。主主程程序序開開始始單單片片機(jī)機(jī)初初始始化化lcd初初始始化化lcd中中g(shù)dram的的內(nèi)內(nèi)容容清清零零屏屏幕幕上上畫畫坐坐標(biāo)標(biāo)ds18b20初初始始化化讀讀取取溫溫度度數(shù)數(shù)據(jù)據(jù)并并處處理理flag=0? 在在lcd屏屏幕幕上上打打點(diǎn)點(diǎn);右右上上方方顯顯示示溫溫度度數(shù)數(shù)值值顯顯示示漢漢字字的的界界面
32、面ynflag1=1?畫畫坐坐標(biāo)標(biāo);flag1=0;yn圖 4.1 主程序流程圖 4.24.2 液晶顯示模塊的設(shè)計(jì)液晶顯示模塊的設(shè)計(jì).1 1286412864 程序設(shè)計(jì)程序設(shè)計(jì) 12864zk12864zk 控制器指令操作方式控制器指令操作方式該課題使用液晶模塊控制驅(qū)動(dòng)器 st7920,它提供了并行和串行兩類指令操作方式。這兩種控制方式,由外部 psb 引腳來選擇:當(dāng) psb 引腳輸入高電平時(shí),為并行操作方式。當(dāng) psb 引腳輸入低電平時(shí),為串行操作方式。其中,并行操作方式又可以分為 8 位并行操作方式和 4 位并行操作方式兩種。下面只對(duì)這 8 位并
33、行操作方式進(jìn)行介紹。 12864zk 液晶模塊 8 位并行連接時(shí)序圖:(1)mpu 寫資料到模塊,見圖 4.2。圖 4.2 mpu 寫資料到模塊時(shí)序圖(2)mpu 從模塊讀出資料,見圖 4.3。圖 4.3 mpu 從模塊讀出資料時(shí)序圖主控制系統(tǒng)將配合(rs、rw、e、db0db7)來完成數(shù)據(jù)傳送。從一次完整的流程來看,當(dāng)執(zhí)行設(shè)定地址(cgram,ddram,iram 等)指令后,若要讀取數(shù)據(jù)則需要先空讀一次,才能得到正確的數(shù)據(jù)。第二次讀取時(shí)不需要空讀,除非又執(zhí)行一次設(shè)定地址指令才需要再次空讀一次。lcmlcm 繪圖過程分析繪圖過程分析圖形顯示程序的關(guān)鍵在于解決圖形坐
34、標(biāo)系、屏幕坐標(biāo)系、gdram 坐標(biāo)系的轉(zhuǎn)換問題,也就是確定要顯示的點(diǎn)對(duì)應(yīng)在液晶屏面上像素的位置和在 gdram 中的地址。得到這個(gè)對(duì)應(yīng)關(guān)系后 ,我們就可以通過將某個(gè)存儲(chǔ)單元中的某一位置為 1 來實(shí)現(xiàn)在液晶屏上畫出這個(gè)點(diǎn)。lcm12864zk 的水平與垂直地址示意圖如圖 4.4 所示 2 。圖 4.4lcm12864zk 水平地址與垂直地址示意圖lcm12864zk 液晶模塊內(nèi) gdram 與液晶屏幕的對(duì)應(yīng)關(guān)系如圖 4.5 所示。圖 4.5 gdram 與液晶屏幕的對(duì)應(yīng)關(guān)系示意圖由以上 gdram 排列順序及其與液晶屏幕的對(duì)應(yīng)關(guān)系可知:(1) lcm12864zk 的繪圖 ram(gdram)為
35、 64 行*32byte/行(64 行*16word/行 )。(2) 在液晶屏幕上只能顯示 1283 64 個(gè)點(diǎn) ,對(duì)應(yīng)于 gdram 中 128*64bit。當(dāng) gdram的橫坐標(biāo)小于 8 并且縱坐標(biāo)值小于 32 時(shí),其內(nèi)容將顯示在屏幕上半部,當(dāng) gdram 的橫坐標(biāo)為 815 并且縱坐標(biāo)值小于 32 時(shí),其內(nèi)容將顯示在屏幕下半部;當(dāng) gdram 的縱坐標(biāo)大于 31(3263)時(shí)其內(nèi)容將不能顯示在屏幕上。lcm12864zk 在已知 gdram 位址的情況下,寫圖 ram 步驟如下:(1) 先將垂直坐標(biāo) y 寫入(063) ;(2) 再將水平坐標(biāo) x 寫入(015) ;(3) 將 d15d8
36、 數(shù)據(jù)寫入;(4) 將 d7d0 數(shù)據(jù)寫入。在實(shí)際繪圖過程中,由于每一個(gè) gdram 地址對(duì)應(yīng)于 16 個(gè)位(bit)地址,所以如果第二次寫 gdram(h,v),則該 ram 中其他位的值有時(shí)會(huì)改變,為了避免這種改變,需要事先將該地址中的內(nèi)容讀出來 (st7920 有此功能)與此次要寫入的值取或后作為最終值寫入。.2 1286412864 程序設(shè)計(jì)流程圖程序設(shè)計(jì)流程圖由上述 4.2 節(jié)液晶顯示模塊的設(shè)計(jì),設(shè)計(jì)的功能函數(shù)流程圖見圖 4.5,圖 4.6,圖4.7,圖 4.8,圖 4.9。 寫寫數(shù)數(shù)據(jù)據(jù)開開始始e=0;rs=1;rw=0;p0口口往往lcd寫寫數(shù)數(shù)據(jù)據(jù);使使能能端端
37、e=1;e=0;函函數(shù)數(shù)返返回回讀讀數(shù)數(shù)據(jù)據(jù)開開始始e=0;p0=0 xff;rs=1;rw=1;使使能能端端e=1;p0口口從從lcd讀讀數(shù)數(shù)據(jù)據(jù);e=0;函函數(shù)數(shù)返返回回圖 4.5 mpu 往模塊寫數(shù)據(jù)流程圖 圖 4.6 mpu 從模塊讀出數(shù)據(jù)流程圖 讀讀指指令令開開始始e=0;p0=0 xff;rs=0;rw=1;使使能能端端e=1;p0口口從從lcd讀讀指指令令;e=0;函函數(shù)數(shù)返返回回寫寫指指令令開開始始e=0;rs=0;rw=0;p0口口往往lcd寫寫指指令令;使使能能端端e=1;e=0;函函數(shù)數(shù)返返回回圖 4.7 mpu 從模塊指令信息流程圖 圖 4.8 mpu 往模塊寫指令流程
38、圖打打點(diǎn)點(diǎn)函函數(shù)數(shù)開開始始確定輸入在lcd屏的位置確確定定gdram的的水水平平坐坐標(biāo)標(biāo)與與垂垂直直坐坐標(biāo)標(biāo)得得到到要要點(diǎn)點(diǎn)亮亮屏屏幕幕某某點(diǎn)點(diǎn)數(shù)數(shù)據(jù)據(jù)往往lcd送送gdram的的垂垂直直坐坐標(biāo)標(biāo),水水平平坐坐標(biāo)標(biāo)轉(zhuǎn)轉(zhuǎn)換換到到擴(kuò)擴(kuò)展展指指令令集集讀讀高高字字節(jié)節(jié)數(shù)數(shù)據(jù)據(jù);讀讀低低字字節(jié)節(jié)數(shù)數(shù)據(jù)據(jù);被被讀讀高高字字節(jié)節(jié)或或上上高高字字節(jié)節(jié)數(shù)數(shù)據(jù)據(jù);被被讀讀低低字字節(jié)節(jié)或或上上低低字字節(jié)節(jié)數(shù)數(shù)據(jù)據(jù);高高低低字字節(jié)節(jié)數(shù)數(shù)據(jù)據(jù)送送lcd打打點(diǎn)點(diǎn)函函數(shù)數(shù)返返回回往往lcd送送gdram的的垂垂直直坐坐標(biāo)標(biāo),水水平平坐坐標(biāo)標(biāo)圖 4.9 繪圖程序流程圖4.34.3 溫度模塊軟件設(shè)計(jì)溫度模塊軟件設(shè)計(jì)4.3.1
39、4.3.1 ds18b20ds18b20 測溫?cái)?shù)據(jù)的讀取程序設(shè)計(jì)測溫?cái)?shù)據(jù)的讀取程序設(shè)計(jì)對(duì)室內(nèi)溫度的檢測室通過數(shù)字溫度傳感器 ds18b20 實(shí)現(xiàn)的,在溫度模塊硬件電路的設(shè)計(jì)中已經(jīng)對(duì)的硬件電路做了設(shè)計(jì),現(xiàn)在設(shè)計(jì) ds18b20 的軟件部分。1.ds18b20 的內(nèi)部數(shù)據(jù)部件(1)光刻rom中的64位序列號(hào)是出廠前被光刻好的, 它可以看作是ds18b20該ds18b20的地址序列碼。64位光刻的rom排列是:開始8位(24h)是產(chǎn)品類型標(biāo)號(hào), 接著的48位是該ds18b20自身的序列號(hào), 最后8位是前面56位的循環(huán)冗余校驗(yàn)碼(crc=x8+x5+x4+1)。光刻rom的作用是使每一個(gè)ds18b20
40、都各不相同, 這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)ds18b20的目的。(2)ds18b20中的溫度傳感器可完成對(duì)溫度的測量, 以12位轉(zhuǎn)化為例用16位符號(hào)擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供, 以0.0625/lsb的形式表達(dá), 其中s為符號(hào)。如圖4.10所示。sssss 2625 24232221202-1 2-22-32-4bit7bit6bit5bit4bit3bit2bit1bit0bit15bit8bit14bit9bit11bit13bit10bit12ls bytems byte圖4.10 ds18b20溫度值格式表這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù), 存儲(chǔ)在的兩個(gè)8比特的ram中, 二進(jìn)制
41、中的前面5位是符號(hào)位, 如果測得的溫度大于0, 這位為0, 只要將測到的數(shù)值乘以0.0625即可得到實(shí)際溫度,如果溫度小于0, 這位為1, 測到的數(shù)值需要取反加1再乘以0.0625即可得到實(shí)際溫度。例如+125的數(shù)字輸出為,07d0h,+25.0625 的數(shù)字輸出為,0191h,-25.0625的數(shù)字輸出為,ff6fh -55的數(shù)字輸出為fc90h。2.單總線協(xié)議單總線協(xié)議能夠?qū)崿F(xiàn)數(shù)據(jù)的雙向傳輸, 操作包括數(shù)據(jù)的讀寫和復(fù)位功能。下面對(duì)各個(gè)方面進(jìn)行具體的介紹。(1)總線復(fù)位,首先必須對(duì)ds18b20進(jìn)行復(fù)位,由單片機(jī)給ds18b20單總線至少480us的低電平信號(hào),當(dāng)ds18b20接到此復(fù)位信號(hào)
42、后,延時(shí)15-60us,通過大地總線60-240us來產(chǎn)生應(yīng)答脈沖。主機(jī)接收到從機(jī)的應(yīng)答脈沖后,說明有單總線器件在線,通信雙方達(dá)成基本協(xié)議。復(fù)位時(shí)序如圖4.11所示。單片機(jī)接收復(fù)位脈沖最小480us最大960us單片機(jī)發(fā)送復(fù)位脈沖ds18b20響應(yīng)60240us最小480us等待1560us圖4.11 復(fù)位時(shí)序圖(2)控制器發(fā)送rom指令。一旦總線主機(jī)檢測到應(yīng)答信號(hào),便可以發(fā)起rom操作指令。rom指令一共有5條,見表格4.1每一個(gè)工作周期只能發(fā)一條。rom指令為8位長度,功能是對(duì)片內(nèi)的64位光刻rom進(jìn)行操作。其主要目的是為了分辨一條總線上掛接多少個(gè)ds18b20并做出處理。一般只掛一個(gè)ds
43、18b20時(shí)可以跳過rom指令。表 4.1 rom 指令表指令 代碼功能說明讀rom 0 x33用于讀出ds18b20內(nèi)集成的64位激光rom序列號(hào)匹酪rom 0 x55跳過rom 0 xcc搜索rom 0 xf0多個(gè)ds18b20在線時(shí), 可用此命令匹配一個(gè)給定序列號(hào),此后命令就針對(duì)該芯片忽略序列號(hào), 對(duì)所有在線的ds18b20進(jìn)行配置用于讀出在線的ds18b20的序列號(hào)報(bào)警rom 0 xec對(duì)溫度超過上限或者下限時(shí),讀出報(bào)警的ds18b20(3)ds18b20 共有 9 個(gè) ram,每個(gè)字節(jié)為 8 位。第 1、2 個(gè)字節(jié)是溫度轉(zhuǎn)換后的數(shù)值信息,3、4 個(gè)字節(jié)是用戶 e2prom(常用于溫度
44、報(bào)警值存儲(chǔ))的鏡像,在上電復(fù)位時(shí)旗幟被刷新。第五個(gè)字節(jié)則是用戶第三個(gè) e2prom 的鏡像。第 6、7、8 個(gè)字節(jié)為計(jì)數(shù)器寄存器,是為了讓用戶得到更高的溫度分辨率而設(shè)計(jì)的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計(jì)算的暫存單元。第 9 個(gè)字節(jié)為前 8 個(gè)字節(jié)的 crc 碼。e2prom 非易失性記憶體,用于存放長期需要保存的數(shù)據(jù)。ram 及 e2prom 結(jié)構(gòu)圖如圖 4.12 所示。溫度低字節(jié)溫度高字節(jié)th/user byte1confing保留th/user byte2保留保留crcth/user byte1confingth/user byte2123456789e2prom圖 4.12 ds18b20 r
45、am 及 e2prom 結(jié)構(gòu)圖控制器發(fā)送存儲(chǔ)器操作指令:在執(zhí)行 rom 指令后才能執(zhí)行內(nèi)存指令。在 rom 指令發(fā)送給 ds18b20 之后,緊接著就是發(fā)送存儲(chǔ)器操作指令了。操作指令同樣為 8 位,共6 條,見表格 4.2。存儲(chǔ)器操作指令的功能是控制 ds18b20 工作。表 4.2 ram 指令表指令 代碼功能說明溫度變換 0 x44啟動(dòng)溫度轉(zhuǎn)換,12位轉(zhuǎn)換最長750ms讀溫度寄存器 0 xbe讀取溫度寄存器的溫度值寫溫度寄存器 0 x4e發(fā)出內(nèi)部ram的3、4字節(jié)寫上下限溫度數(shù)據(jù)命令,在該命令后緊跟兩個(gè)字節(jié)數(shù)據(jù)復(fù)制溫度寄存器 0 x4b將ram中的3、4字節(jié)數(shù)據(jù)復(fù)制到e2prom中重調(diào)e2
46、prom 0 xb8將e2prom中的數(shù)據(jù)拷貝到溫度寄存器中讀供電方式 0 xb4寄生供電時(shí),ds18b20發(fā)送“0” ;外接電源供電時(shí),ds18b20發(fā)送“1”(4)數(shù)據(jù)處理:ds18b20 要求嚴(yán)格的時(shí)序來保證數(shù)據(jù)的完整性。在單線 dq 上,存在復(fù)位脈沖、應(yīng)答脈沖、寫“0” 、寫“1” 、讀“0” 、讀“1”幾種信號(hào)類型。數(shù)據(jù)位的讀寫是由讀寫時(shí)序來實(shí)現(xiàn)的。寫時(shí)序:當(dāng)主機(jī)將數(shù)據(jù)線從高電平拉至低電平時(shí),產(chǎn)生時(shí)序,寫時(shí)序分別為寫“0”和寫“1” ,時(shí)序圖如下圖所示。在寫數(shù)據(jù)時(shí)序的前 15us 總線需要是被控制器拉為低電平,而后則將是芯片對(duì)總線數(shù)據(jù)的采樣時(shí)間,采樣時(shí)間在 15-60us,采樣時(shí)間內(nèi)
47、如果控制器將總線拉高則表示寫“1” ,如果控制器將總線拉低則表示寫“0” 。每一位的發(fā)送都應(yīng)該至少 15us 的低電平起始位,隨后的數(shù)據(jù)“0”或“1”應(yīng)該在 45us 內(nèi)完成。整個(gè)位的發(fā)送時(shí)間應(yīng)該保持在 60-120us,否則不能保證通信的正常。寫時(shí)序圖如圖 4.13 所示。單片機(jī)寫”0”單片機(jī)寫“1”30us15us15us15us15us30us1usds18b20采樣ds18b20采樣圖 4.13 寫時(shí)序圖讀時(shí)序:該時(shí)序也是必須有主機(jī)產(chǎn)生 1us 的低電平,表示該時(shí)間的起始。然后在總線被釋放后的 15us 中 ds18b20 會(huì)發(fā)送內(nèi)部數(shù)據(jù)位,因此再次 15us 內(nèi)主機(jī)必須停止把 dq
48、引腳置底,這時(shí)控制如果發(fā)現(xiàn)總線為高電平表示讀數(shù)據(jù)“1” ,如果總線為低電平,則表示讀數(shù)據(jù)“0” 。每一位的讀取之前都由控制器加一個(gè)起始信號(hào)。圖 4.14 為讀時(shí)序圖。15us15us 15us15us30us30us單片機(jī)讀“0”單片機(jī)讀“1”1us圖 4.14 讀時(shí)序圖所有的讀寫時(shí)序至少需要 60us 且每兩個(gè)獨(dú)立的時(shí)序至少 1us 的回復(fù)時(shí)間。在寫時(shí)序中,主機(jī)將在拉低總線 15us 內(nèi)釋放總線,并向 ds18b20 寫“1” 。若主機(jī)拉低總先后能保持至少 60us 的低電平,則向單總線器件寫“0” 。ds18b20 僅在主機(jī)發(fā)出讀時(shí)序時(shí)才產(chǎn)生向主機(jī)傳輸數(shù)據(jù),所以當(dāng)主機(jī)向 ds18b20 發(fā)
49、出度數(shù)據(jù)命令后。必須馬上產(chǎn)生時(shí)序,以便 ds18b20 傳輸數(shù)據(jù)。.2 ds18b20ds18b20 溫度讀取流程溫度讀取流程單片機(jī)在實(shí)現(xiàn) ds18b20 溫度轉(zhuǎn)換和讀取的程序設(shè)計(jì)中必須嚴(yán)格按照其時(shí)序來進(jìn)行,此設(shè)計(jì)中,單總線上只掛接了一個(gè) ds18b20,所以不用對(duì) rom 寄存器進(jìn)行操作,直接跳過 rom,對(duì) ram 寄存器進(jìn)行操作。在單片機(jī)發(fā)出溫度轉(zhuǎn)換命令后,須延時(shí),以便ds18b20 完成溫度轉(zhuǎn)換,在單片機(jī)發(fā)出讀溫度命令后,必須馬上產(chǎn)生讀時(shí)隙接收ds18b20 的發(fā)回來的數(shù)據(jù)。單片機(jī)實(shí)現(xiàn)溫度轉(zhuǎn)換和讀取的程序流程圖如圖 4.15 所示,溫度模塊主流程圖如圖 4.15 所示。
50、跳過讀序號(hào)列號(hào)的操作溫度轉(zhuǎn)換延時(shí)等待溫度轉(zhuǎn)換完成初始化ds18b20跳過讀序號(hào)列號(hào)的操作發(fā)起讀暫存器命令初始化ds18b20溫度讀取子程序讀取溫度高、低位字節(jié)將溫度數(shù)據(jù)轉(zhuǎn)換十六進(jìn)制數(shù)返回圖 4.15 溫度讀程序流程圖第第 5 5 章章 總結(jié)總結(jié)近年來,隨著溫度檢測技術(shù)和單片機(jī)的發(fā)展,基于單片機(jī)的測溫測技術(shù)的應(yīng)用越來越廣泛,尤其是人機(jī)畫面更加人性化。本設(shè)計(jì)主要以溫度為研究對(duì)象,通過液晶模塊顯示實(shí)時(shí)溫度值,能夠顯示溫度實(shí)時(shí)曲線。主要做的工作可總結(jié)如下:1.綜合分析了各種類型的傳感器和它的工作特點(diǎn),設(shè)計(jì)了一個(gè)可行的測量方案。2.實(shí)現(xiàn)了測溫系統(tǒng)的硬件電路和軟件結(jié)構(gòu)設(shè)計(jì),綜合考慮精度、成本等因素,合理選
51、用了傳感器、單片機(jī)及其外圍芯片。 在課題的研究中,仍然存在一些問題有待進(jìn)一步改進(jìn)完善:1.對(duì)環(huán)境溫度的測量只是用了一個(gè) ds18b20 溫度傳感器,室內(nèi)某點(diǎn)溫度不可能代替整個(gè)室內(nèi)的溫度,故要實(shí)現(xiàn)該設(shè)計(jì)的實(shí)用性,應(yīng)該在單總線上掛上多個(gè)溫度傳感器分布在室內(nèi)的關(guān)鍵角落。2.該設(shè)計(jì)是可以顯示溫度的實(shí)時(shí)曲線但由于刷新液晶屏幕頻率過慢給人有閃爍感有待換用更高性能的單片機(jī)。參考文獻(xiàn)參考文獻(xiàn)1 景小健,尹清華等. mg - 12864 液晶顯示器在智能儀表中的應(yīng)用,化工自動(dòng)化及儀表,2003,30(6):62-64.2 北京青云創(chuàng)新科技發(fā)展有限公司.帶中文字庫圖形液晶顯示模塊 lcm12864zk 使用說明書
52、z.2002.3 孫傳友,孫曉斌,張一. 感測技術(shù)與系統(tǒng)設(shè)計(jì)m,北京:科學(xué)出版社,2004:708-710.4 徐科軍. 傳感器與檢測技術(shù)m,北京:電子工業(yè)出版社,2004.09:4.5 張軍. 智能溫度傳感器 ds18b20 及其應(yīng)用j.儀表技術(shù).2010,(04).6 馬家成, 孫玉德, 張穎. mcs- 51 單片機(jī)原理與接口技術(shù)m. 2 版. 哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1998 .7 張萍. 基于數(shù)字溫度計(jì) ds18b2 的溫度測量儀的開發(fā)j.自動(dòng)化儀表, 2007(6): 64-66 .8 金偉正. 單線數(shù)字溫度傳感器的原理與應(yīng)用j.電子技術(shù)應(yīng)用,2000(6):66- 68 .
53、9 馬忠梅,籍順心. 單片機(jī)的 c 語言應(yīng)用程序設(shè)計(jì)m.北京航空航大大學(xué)出版社,2003.附錄附錄 a a:溫度實(shí)時(shí)曲線顯示硬件原理圖:溫度實(shí)時(shí)曲線顯示硬件原理圖ea/vpp31xtal119xtal218rst9p3.7(rd)17p3.6(wr)16p3.2(int0)12p3.3(int1)13p3.4(t0)14p3.5(t1)15p1.01p1.12p1.23p1.34p1.45p1.56p1.67p1.78(ad0)p0.039(ad1)p0.138(ad2)p0.237(ad3)p0.336(ad4)p0.435(ad5)p0.534(ad6)p0.633(ad7)p0.732(
54、a8)p2.021(a9)p2.122(a10)p2.223(a11)p2.324(a12)p2.425(a13)p2.526(a14)p2.627(a15)p2.728psen29ale/prog30(txd)p3.111(rxd)p3.010gnd20vcc40u1at89s5212y111.0592m100pc1100pfc3capx1x2x1x210kr1res2s1sw-pb10ufc2caprstrstvccvccvcc1234567816151413121110910kr6res pack4vcc1234567891011121314151617181920jp2lcd12864
55、gndvcclcd_rslcd_rwlcd_db0lcd_db1lcd_db2lcd_db3lcd_db4lcd_db5lcd_db7psbledaledblcd_db61kr5rpotvccrst1ncnclcd_evcc4.7kr7res3vcclcd_db0lcd_db1lcd_db2lcd_db4lcd_db5lcd_db6lcd_db7lcd_db3lcd_elcd_rslcd_rwvccvcc1kr8res3s2sw-pbvos4sw-pbs3sw-pbint1int0int1int00.1ufc4cap100ufce2cap feed1kr4res21234usbpowerds1
56、led0vccs6sw-spst1234567891110jp4db9rs232_rxrs232_txtxd_p3.1rxd_p3.0c1+v+c1-c2+c2-v-1ufc5cap1ufc6cap1ufc7cap1ufc8capv+v-c1-c2-c1+c2+txd_p3.1rxd_p3.0vccvccdq2gnd1vcc3u?ds1820c1+1vdd2c1-3c2+4c2-5vee6t2out7r2in8r2out9t2in10t1in11r1out12r1in13t1out14gnd15vcc16u?max232cpers232_txrs232_rx附錄附錄 b b:軟件程序:軟件程序
57、#include #define uint unsigned int#define uchar unsigned char#define x1 0 x80#define x2 0 x88#define y1 0 x80#define comm 0#define dat 1bit flag=0;sbit rs = p26; /h=data; l=command;sbit rw = p36; /h=read; l=write;sbit e = p27; /input enable;sbit psb= p21; /h=并口; l=串口;sbit rst= p35; /reset signal 低電平
58、有效sbit busy=p07; /lcd busy bitsbit dq =p10; /18b20 數(shù)據(jù)線引腳uchar temper2;/存放溫度的數(shù)組void wr_lcd (uchar dat_comm,uchar content);void chk_busy (void);void delay (uint us);void set_dot(uchar x,uchar y) ;void init_lcd (void)rst = 1;psb = 1;wr_lcd(comm,0 x30); /*30-基本指令動(dòng)作*/wr_lcd(comm,0 x01); /*清屏,地址指針指向 00h*/
59、wr_lcd(comm,0 x06); /*光標(biāo)的移動(dòng)方向*/wr_lcd(comm,0 x0c); /*開顯示,關(guān)游標(biāo)*/void wr_lcd(uchar dat_comm,uchar content)chk_busy ();if(dat_comm)rs = 1; /datarw = 0; /writeelsers = 0; /commandrw = 0; /writep0=content; /output data or comme = 1;e = 0;/*讀數(shù)據(jù)操*/read_lcd() uchar content;chk_busy ();delay(3);p0=0 xff;delay
60、(3);rs = 1; /datarw = 1; /reade = 1;content=p0; /位置可能不對(duì)頭,影響結(jié)果delay(3);e = 0;return(content);void chk_busy(void)p0 = 0 xff;rs = 0;rw = 1;e = 1;while(busy=1);e = 0;void delay(uint us) /delay timewhile(us-);void delay1(uint ms)uint i,j;for(i=0;ims;i+)for(j=0;j15;j+)delay(1);void chn_disp(uchar www,uchar code *chn)uch
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 45954-2025氣象計(jì)量標(biāo)準(zhǔn)器通用技術(shù)要求空氣濕度
- 鐵路操作考試題及答案
- 北京金融知識(shí)培訓(xùn)班課件
- 北京裝修施工知識(shí)培訓(xùn)班課件
- 居委會(huì)調(diào)解面試題及答案
- 食品經(jīng)營考試題及答案
- 宋書考試題型及答案
- 初級(jí)鉆工考試題及答案
- 木匠師傅面試題及答案
- 校醫(yī)基礎(chǔ)知識(shí)培訓(xùn)課件
- 2025年中國移動(dòng)遼寧公司招聘筆試參考題庫含答案解析
- 2025年夫妻離婚協(xié)議書模板
- 2023屆高考英語人教版一輪復(fù)習(xí):必修第一冊至選修第四冊單詞表講義
- 《腫瘤篩查技術(shù)》課件
- 高溫熔融金屬企業(yè)安全知識(shí)培訓(xùn)
- 實(shí)驗(yàn)室生物安全手冊
- 《教學(xué)勇氣-漫步教師心靈原書》
- 航天禁(限)用工藝目錄(2021版)-發(fā)文稿(公開)
- 醫(yī)院行政辦公室主任職責(zé)
- 爭做“四有好老師”-當(dāng)好“四個(gè)引路人”
- 外研版高中英語詞匯表(全套)
評(píng)論
0/150
提交評(píng)論