B溫度傳感器課程設(shè)計報告_第1頁
B溫度傳感器課程設(shè)計報告_第2頁
B溫度傳感器課程設(shè)計報告_第3頁
B溫度傳感器課程設(shè)計報告_第4頁
B溫度傳感器課程設(shè)計報告_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單片機課程設(shè)計報告設(shè)計題目:ds18b20溫度傳感器班 級:09電信(2)班姓 名:xxx學(xué) 號: xxx指導(dǎo)教師:xxx調(diào)試地點:xxx目錄一、概述2009 年 6 月 14 日隨著時代的進步和發(fā)展, 單片機技術(shù)已經(jīng)普及到我們生活、 工作、科研、各個領(lǐng)域,已經(jīng)成為一種比較成熟的技術(shù)。本文主要介紹了一個基于 89s51 單片機的測溫系統(tǒng),詳細(xì)描述了利用液晶顯示器件傳感器ds18b20開發(fā)測溫系統(tǒng)的過程,重點對傳感器在單片機下的硬件連接,軟件編程以及各模塊系統(tǒng)流程進行了詳盡分析,特別是數(shù)字溫度傳感ds18b20的數(shù)據(jù)采集過程。對各部分的電路也一一進行了介紹 , 該系統(tǒng)可以方便的實現(xiàn)實現(xiàn)溫度采集和

2、顯示,并可根據(jù)需要任意設(shè)定上下限報警溫度,它使用起來相當(dāng)方便,具有精度高、量程寬、靈敏度高、體積小、功耗低等優(yōu)點,適合于我們?nèi)粘I詈凸?、農(nóng)業(yè)生產(chǎn)中的溫度測量,也可以當(dāng)作溫度處理模塊嵌入其它系統(tǒng)中,作為其他主系統(tǒng)的輔助擴展。ds18b20w at89c51結(jié)合實現(xiàn)最簡溫度檢測系統(tǒng),該系統(tǒng)結(jié)構(gòu)簡單,抗干擾能力強,適 合于惡劣環(huán)境下進行現(xiàn)場溫度測量,有廣泛的應(yīng)用前景。關(guān)鍵詞:單片機at89c51 ds18b20a度傳感器、液晶顯示 lcd1602二、內(nèi)容1、課程設(shè)計題目基于ds18b20勺溫度傳感器2、課程設(shè)計目的通過基于mcs-51系列單片機at89c51和ds18b2cw度傳感器檢測溫度,熟悉

3、芯片的使用,溫度傳感器的功能,數(shù)碼顯示管的使用,匯編語言的設(shè)計;并且把我們這一年所學(xué)的數(shù)字和模擬電子技術(shù)、檢測技術(shù)、單片機應(yīng)用等知識,通過理論聯(lián)系實際,從題目分析、電路設(shè)計調(diào)試、程序編制調(diào)試到傳感器的選定等這一完整的實驗過程,培養(yǎng)了學(xué)生正確的設(shè)計思想,使學(xué)生充分發(fā)揮主觀能動性,去獨立解決實際問題,以達(dá)到提升學(xué)生的綜合能力、動手能力、文獻(xiàn)資料查閱能力的作用,為畢業(yè)設(shè)計和以后工作打下一個良好的基礎(chǔ)。3 、設(shè)計任務(wù)和要求以mcs-51系列單片機為核心器件,組成一個數(shù)字溫度計,采用數(shù)字溫度傳感器 ds18b20為檢測器件,進行單點溫度檢測,檢測精度為土攝氏度。溫度顯示采用 lcd1602m示,兩位整數(shù)

4、,一位小數(shù)。系統(tǒng)總體仿真圖板上實現(xiàn)效果圖4 、正文(一)、方案選擇與論證根據(jù)設(shè)計任務(wù)的總體要求,本系統(tǒng)可以劃分為以下幾個基本模塊,針對各個模塊的功能要求,分別有以下一些不同的設(shè)計方案:( 1) 、溫度傳感模塊方案一 :采用熱敏電阻,熱敏電阻精度、重復(fù)性、可靠性較差,對于檢測 1 攝氏度的信號是不適用的,也不能滿足測量范圍。在溫度測量系統(tǒng)中,也常采用單片溫度傳感器,比如ad59q lm35等。但這些芯片輸出的都是模擬信號,必須經(jīng)過a/d轉(zhuǎn)換后才能送給計算機,這樣就使測溫系統(tǒng)的硬件結(jié)構(gòu)較復(fù)雜。另外,這種測溫系統(tǒng)難以實現(xiàn)多點測溫,也要用到復(fù)雜的算法,一定程度上也增加了軟件實現(xiàn)的難度。方案二:采用單總

5、線數(shù)字溫度傳感器 ds18b20測量溫度,直接輸出數(shù)字信號。便于單片機處理及控制,節(jié)省硬件電路。且該芯片的物理化學(xué)性很穩(wěn)定,此元件線形性能好,在0100攝氏度時,最大線形偏差小于1攝氏度。ds18b20i勺最大特點之一采 用了單總線的數(shù)據(jù)傳輸,由數(shù)字溫度計ds18b20w微控制器at89c51構(gòu)成的溫度裝置, 它直接輸出溫度的數(shù)字信號到微控制器。每只ds18b20m有一個獨有白不可修改的64位序列號,根據(jù)序列號可訪問不同的器件。這樣一條總線上可掛接多個ds18b20專感器,實現(xiàn)多點溫度測量,輕松的組建傳感網(wǎng)絡(luò)。綜上分析,我們選用第二種方案。溫度傳感模塊仿真圖(2) 、顯示模塊方案一: 采用 8

6、 位段數(shù)碼管,將單片機得到的數(shù)據(jù)通過數(shù)碼管顯示出來。該方案簡單易行,但所需的元件較多,且不容易進行操作,可讀性差,一旦設(shè)定后很難再加入其他的功能,顯示格式受限制,且大耗電量大,不宜用電池給系統(tǒng)供電。方案二: 采用液晶顯示器件,液晶顯示平穩(wěn)、省電、美觀,更容易實現(xiàn)題目要求,對后續(xù)的園藝通兼容性高,只需將軟件作修改即可,可操作性強,也易于讀數(shù),采用rt1602兩行十六個字符的顯示,能同時顯示其它的信息如日期、時間、星期、溫度。綜上分析,我們采用了第二個方案顯示模塊仿真圖三、系統(tǒng)的具體設(shè)計與實現(xiàn)( 1) 、系統(tǒng)的總體設(shè)計方案采用at89s52單片機作為控制核心對溫度傳感器ds18b20空制,讀取溫度

7、信號并進行計算處理,并送到液晶顯示器 lcd1602a示。按照系統(tǒng)設(shè)計功能的要求,確定系統(tǒng) 由 3 個模塊組成:主控制器、測溫電路和顯示電路。數(shù)字溫度計總體電路結(jié)構(gòu)框圖如 圖下所示。( 2)、硬件電路設(shè)計a、單片機控制模塊該模塊由at89c51單片機組成在設(shè)計方面,at89c51的ea接高電平,具外圍電路提供能使之工作的晶振脈沖、復(fù)位按鍵,四個i/o 分別接 8路的單列 ip 座方便與外圍設(shè)備連接。當(dāng)at89c5te片接到來自溫度傳感器的信號時,其內(nèi)部程序?qū)⒏鶕?jù)信號的類型進行處理,并且將處理的結(jié)果送到顯示模塊,發(fā)送控制信號控制各模塊。b、溫度傳感器模塊ds18b20f目關(guān)資料1、ds18b20

8、g理與分析ds18b2配美國dalla芥導(dǎo)體公司繼ds182必后最新推出的一種改進型智能溫度傳感 器。與傳統(tǒng)的熱敏電阻相比,它能夠直接讀出被測溫度并且可根據(jù)實際要求通過簡單的編程實現(xiàn)912位的數(shù)字值讀數(shù)方式??梢苑謩e在 ms和750 ms內(nèi)完成9位和12 位的數(shù)字量,并且從ds18b20賣出的信息或?qū)懭雂s18b20勺信息僅需要一根口線(單 線接口)讀寫 , 溫度變換功率來源于數(shù)據(jù)總線,總線本身也可以向所掛接的 ds18b20 供電,而無需額外電源。因而使用 ds18b2w使系統(tǒng)結(jié)構(gòu)更趨簡單,可靠性更高。他 在測溫精度、轉(zhuǎn)換時間、傳輸距離、分辨率等方面較ds1820有了很大的改進,給用戶帶來了

9、更方便的使用和更令人滿意的效果。以下是ds18b20i勺特點:(1)獨特的單線接口方式:ds18b2叫微處理器連接時僅需要一條口線即可實現(xiàn)微處 理器與ds18b20勺雙向通訊。( 2)在使用中不需要任何外圍元件。(3)可用數(shù)據(jù)線供電,電壓范圍:+ + v 。(4)測溫范圍:-55 - +125 。固有測溫分辨率為 。( 5)通過編程可實現(xiàn)9-12 位的數(shù)字讀數(shù)方式。( 6)用戶可自設(shè)定非易失性的報警上下限值。(7)支持多點組網(wǎng)功能,多個 ds18b20t以并聯(lián)在惟一的三線上,實現(xiàn)多點測溫。( 8)負(fù)壓特性,電源極性接反時,溫度計不會因發(fā)熱而燒毀,但不能正常工作。2、ds18b20勺測溫原理ds

10、18b20勺測溫原理上圖所示,圖中低溫度系數(shù)晶振的振蕩頻率受溫度的影響很小,用于產(chǎn)生固定頻率的脈沖信號送給減法計數(shù)器1,高溫度系數(shù)晶振隨溫度變化其震蕩頻率明顯改變,所產(chǎn)生的信號作為減法計數(shù)器2 的脈沖輸入,圖中還隱含著計數(shù)門,當(dāng)計數(shù)門打開時,ds18b2cb對低溫度系數(shù)振蕩器產(chǎn)生的時鐘脈沖后進行計數(shù),進而完成溫度測量。計數(shù)門的開啟時間由高溫度系數(shù)振蕩器來決定,每次測量前,首先將-55 所對應(yīng)的基數(shù)分別置入減法計數(shù)器1 和溫度寄存器中, 減法計數(shù)器1 和溫度寄存器被預(yù)置在-55 所對應(yīng)的一個基數(shù)值。 減法計數(shù)器1 對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行減法計數(shù),當(dāng)減法計數(shù)器1 的預(yù)置值減到 0 時溫

11、度寄存器的值將加 1,減法計數(shù)器1 的預(yù)置將重新被裝入, 減法計數(shù)器1 重新開始對低溫度系數(shù)晶振產(chǎn)生的脈沖信號進行計數(shù),如此循環(huán)直到減法計數(shù)器2 計數(shù)到 0 時,停止溫度寄存器值的累加,此時溫度寄存器中的數(shù)值即為所測溫度。圖中的斜率累加器用于補償和修正測溫過程中的非線性,其輸出用于修正減法計數(shù)器的預(yù)置值,只要計數(shù)門仍未關(guān)閉就重復(fù)上述過程,直至溫度寄存器值達(dá)到被測溫度值,這就是ds18b205勺測溫原理。另外,由于ds18b2斗線通信功能是分時完成的,他有嚴(yán)格的時隙概念,因此讀寫時序很重 要。系統(tǒng)對ds18b20勺各種操作必須按協(xié)議進行。操作協(xié)議為:初始化ds18b20(發(fā)復(fù)位脈沖)f發(fā)romf

12、t能命令-發(fā)存儲器操作命令-處理數(shù)據(jù)。ds18b20工作過程一般遵循以下協(xié)議:初始化一一rom作命令一一存儲器操作命令一一處理數(shù)據(jù) 初始化單總線上的所有處理均從初始化序列開始。 初始化序列包括總線主機發(fā)出一復(fù)位脈沖,接著由從屬器件送出存在脈沖。存在脈沖讓總線控制器知道ds1820在總線上且已準(zhǔn)備好操作。roms作命令一旦總線主機檢測到從屬器件的存在,它便可以發(fā)出器件roms作命令之一。所有roms作命令均為8位長。這些命令如下:read rom(t rom)33h此命令允許總線主機讀ds18b20勺8位產(chǎn)品系列編碼,唯一的48位序列號,以及8 位的crc此命令只能在總線上僅有一個 ds18b2

13、0!勺情況下可以使用。如果總線上存在 多于一個的從屬器件,那么當(dāng)所有從片企圖同時發(fā)送時將發(fā)生數(shù)據(jù)沖突的現(xiàn)象(漏極 開路會產(chǎn)生線與的結(jié)果) 。match rom( 符合 rom)55h此命令后繼以64位的ro峨據(jù)序列,允許總線主機對多點總線上特定的ds1尋址。只有與64位ro除列嚴(yán)格相符的ds18b23能對后繼的存貯器操作命令作出響應(yīng)。所有與64位ro所列不符的從片將等待復(fù)位脈沖。此命令在總線上有單個或多個器件的情 況下均可使用。skip rom( 跳過 rom )cch在單點總線系統(tǒng)中,此命令通過允許總線主機不提供64位rom碼而訪問存儲器操作來節(jié)省時間。如果在總線上存在多于一個的從屬器件而且

14、在skip rom 命令之后發(fā)出讀命令,那么由于多個從片同時發(fā)送數(shù)據(jù),會在總線上發(fā)生數(shù)據(jù)沖突(漏極開路下拉會產(chǎn)生線與的效果) 。search rom( 搜索 rom)f0h當(dāng)系統(tǒng)開始工作時,總線主機可能不知道單線總線上的器件個數(shù)或者不知道其64位rom碼。搜索romt令允許總線控制器用排除法識別總線上的所有從機的64位編碼。alarm search( 告警搜索 )ech此命令的流程與搜索romt令相同。但是,僅在最近一次溫度測量出現(xiàn)告警的情況 下,ds18b20才對此命令作出響應(yīng)。告警的條件定義為溫度高于th或低于tl。只要ds18b2ch上電,告警條件就保持在設(shè)置狀態(tài),直到另一次溫度測量顯示

15、出非告警值或 者改變th或tl的設(shè)置,使得測量值再一次位于允許的范圍之內(nèi)。貯存在 eeprom的 觸發(fā)器值用于告警。 存儲器操作命令write scratchpad (寫暫存存儲器) 4eh這個命令向ds18b20勺暫存器中寫入數(shù)據(jù),開始位置在地址2。接下來寫入的兩個字節(jié)將被存到暫存器中的地址位置2 和 3??梢栽谌魏螘r刻發(fā)出復(fù)位命令來中止寫入。read scratchpad (讀暫存存儲器) beh這個命令讀取暫存器的內(nèi)容。讀取將從字節(jié) 0 開始,一直進行下去,直到第9(字節(jié)8, crc字節(jié)讀完。如果不想讀完所有字節(jié),控制器可以在任何時間發(fā)出復(fù)位命令 來中止讀取。copy scratchpa

16、d (復(fù)制暫存存儲器) 48h這條命令把暫存器的內(nèi)容拷貝到 ds18b20b勺e2存儲器里,即把溫度報警觸發(fā)字節(jié)存入非易失性存儲器里。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而ds18b2cr正在忙于把暫存器拷貝到 e2存儲器,ds18b2cb會輸出一個“ 0”,如果拷 貝結(jié)束的話,ds18b20則輸出“1”。如果使用寄生電源,總線控制器必須在這條命令 發(fā)出后立即起動強上拉并最少保持10ms。convert t (溫度變換) 44h這條命令啟動一次溫度轉(zhuǎn)換而無需其他數(shù)據(jù)。溫度轉(zhuǎn)換命令被執(zhí)行,而后 ds18b20 保持等待狀態(tài)。如果總線控制器在這條命令之后跟著發(fā)出讀時間隙,而ds18b20

17、又忙于做時間轉(zhuǎn)換的話,ds18b2cb在總線上輸出“ 0”,若溫度轉(zhuǎn)換完成,則輸出“1”。如 果使用寄生電源,總線控制器必須在發(fā)出這條命令后立即起動強上拉,并保持500ms。recall e2 (重新調(diào)整e2) b8h這條命令把貯存在e2中溫度觸發(fā)器的值重新調(diào)至?xí)捍娲鎯ζ?。這種重新調(diào)出的操 作在對ds18b20上電時也自動發(fā)生,因此只要器件一上電,暫存存儲器內(nèi)就有了有效 的數(shù)據(jù)。在這條命令發(fā)出之后,對于所發(fā)出的第一個讀數(shù)據(jù)時間片,器件會輸出溫度 轉(zhuǎn)換忙的標(biāo)識:“0” =忙,“1” =準(zhǔn)備就緒。read power supply (讀電源)b4h對于在此命令發(fā)送至ds18b2 m后所發(fā)出的第一讀

18、數(shù)據(jù)的時間片, 器件都會給出其 電源方式的信號:“0 =寄生電源供電,“1 =外部電源供電。處理數(shù)據(jù)ds18b20勺高速暫存存儲器由9個字節(jié)組成,其分配如圖3所示。當(dāng)溫度轉(zhuǎn)換命令發(fā)布 后,經(jīng)轉(zhuǎn)換所得的溫度值以二字節(jié)補碼形式存放在高速暫存存儲器的第 0和第1個字 節(jié)。單片機可通過單線接口讀到該數(shù)據(jù),讀取時低位在前,高位在后。ds18b20a度數(shù)據(jù)表上表是ds18b2濕度采集轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在ds18b20勺兩個8比特的ram 中,二進制中的前面5位是符號位,如果測得的溫度大于或等于 0,這5位為0,只要 將測到的數(shù)值乘于即可得到實際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反

19、加1再乘于即可得到實際溫度。溫度轉(zhuǎn)換計算方法舉例:例如當(dāng)ds18b20r集到+125c的實際溫度后,輸出為 07d0h則:實際溫度=07d0h 二2000x=1250c 例如當(dāng)ds18b20k集到-55 c的實際溫度后,輸出為 fc90h wj應(yīng)先 將11位數(shù)據(jù)位取反加1得370h (符號位不變,也不作為計算),則:實際溫度=370h x=880x =550c2、顯示模塊lcd160流料(這里主要介紹下指令說明及時序)1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表10-14所示:在舁 廳p指令rsr/wd7d6d5d4d3d2d1d01泊顯示00000000012光標(biāo)返回00000000

20、1*3置輸入模式00000001i/ds4顯示開/關(guān)控制0000001dcb5光標(biāo)或字符移位000001s/cr/l*6置功能00001dlnf*7置字符發(fā)生存貯器地址0001字符發(fā)生存貯器地址8置數(shù)據(jù)存貯器地址001顯示數(shù)據(jù)存貯器地址9讀忙標(biāo)志或地址01bf計數(shù)器地址10寫數(shù)至u cgra或ddram10要寫的數(shù)據(jù)內(nèi)容11從 cgra或 ddramt數(shù)11讀出的數(shù)據(jù)內(nèi)容表10-14:控制命令表1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過指令編程來實現(xiàn)的。(說明:1為高電平、0為低電平)指令1:清顯示,指令碼01h,光標(biāo)復(fù)位到地址00h位置。指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址 00ho指

21、令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位總線n:低電平時 為單行顯示,高電平時雙行顯示 f:低電平時顯示5x7的點陣字符,高電平時顯示 5x10的點陣字符。指令7:字符發(fā)生器ram4址設(shè)置。指令8: ddramfc址設(shè)置。指令9:讀忙信號和光標(biāo)地址bf:為忙標(biāo)志位,高電平表示忙,此時模塊不能接收命 令或者數(shù)據(jù),如果為低電平表示不忙。指令10:寫數(shù)據(jù)。指令11:讀數(shù)據(jù)。與hd44780f目兼容的芯片時序表如下:讀狀態(tài)前入rs=l r/w=h e=h輸出do- d7= 犬態(tài)字寫指令前入rs=l r/w=l d0- d7=旨令碼,e二高,沖輸出無讀數(shù)據(jù)前入rs=h r/w=h e=h輸出do- d7=t據(jù)寫數(shù)據(jù)前入rs=h r/w=l d0- d7=t據(jù),e=b脈輸出無表10-15:基本操作時序表讀寫操作時序如

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論