簡易數(shù)字式溫度計(jì)的設(shè)計(jì)初稿.doc_第1頁
簡易數(shù)字式溫度計(jì)的設(shè)計(jì)初稿.doc_第2頁
簡易數(shù)字式溫度計(jì)的設(shè)計(jì)初稿.doc_第3頁
簡易數(shù)字式溫度計(jì)的設(shè)計(jì)初稿.doc_第4頁
簡易數(shù)字式溫度計(jì)的設(shè)計(jì)初稿.doc_第5頁
已閱讀5頁,還剩14頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、摘 要隨著人們生活水平的不斷提高,單片機(jī)控制無疑是人們追求的目標(biāo)之一,它所給人帶來的方便也是不可否定的,其中數(shù)字溫度計(jì)就是一個(gè)典型的例子,但人們對它的要求越來越高,要為現(xiàn)代人工作、科研、生活、提供更好的更方便的設(shè)施就需要從數(shù)單片機(jī)技術(shù)入手,一切向著數(shù)字化控制,智能化控制方向發(fā)展。 本設(shè)計(jì)所介紹的數(shù)字溫度計(jì)與傳統(tǒng)的溫度計(jì)相比,具有讀數(shù)方便,測溫范圍廣,測溫準(zhǔn)確,其輸出溫度采用數(shù)字顯示,主要用于對測溫比較準(zhǔn)確的場所,或科研實(shí)驗(yàn)室使用,該高精度數(shù)字式溫度計(jì)采用了由DALLAS公司生產(chǎn)的單線數(shù)字溫度傳感器DS18B20,它具有獨(dú)特的單線總線接口方式。本畢業(yè)論文詳細(xì)的介紹了單線數(shù)字溫度傳感器DS18B2

2、0的測量原理、特性以及在溫度測量中的硬件和軟件設(shè)計(jì),該溫度計(jì)具有接口簡單、精度高、抗干擾能力強(qiáng)、工作穩(wěn)定可靠等特點(diǎn)。關(guān)鍵詞:DS18B20 溫度傳感器 STC89C51 目錄第一章 緒論31。1 課題背景及研究意義31.2 國內(nèi)外的現(xiàn)狀31。3 設(shè)計(jì)的目的41。4 設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)41。5 數(shù)字溫度計(jì)簡介4第一章 緒論1。1 課題背景及研究意義 隨著新技術(shù)的不斷開發(fā)與應(yīng)用,近年來單片機(jī)發(fā)展十分迅速,一個(gè)以微機(jī)應(yīng)用為主的新技術(shù)革命浪潮正在蓬勃興起,單片機(jī)的應(yīng)用已經(jīng)滲透到電力、冶金、化工、建材、機(jī)械、食品、石油等各個(gè)行業(yè).傳統(tǒng)的溫度采集方法不僅費(fèi)時(shí)費(fèi)力,而且精度差,單片機(jī)的出現(xiàn)使得溫度的采集和數(shù)據(jù)處

3、理問題能夠得到很好的解決。溫度是工業(yè)對象中的一個(gè)重要的被控參數(shù).然而所采用的測溫元件和測量方法也不相同;產(chǎn)品的工藝不同,控制溫度的精度也不相同。本系統(tǒng)所使用的加熱器件是電爐絲,功率為三千瓦,要求溫度在4001000。靜態(tài)控制精度為2.43。本設(shè)計(jì)使用單片機(jī)作為核心進(jìn)行控制。單片機(jī)具有集成度高,通用性好,功能強(qiáng),特別是體積小,重量輕,耗能低,可靠性高,抗干擾能力強(qiáng)和使用方便等獨(dú)特優(yōu)點(diǎn),在數(shù)字、智能化方面有廣泛的用途.1.2 國內(nèi)外的現(xiàn)狀 溫度控制系統(tǒng)在國內(nèi)各行各業(yè)的應(yīng)用雖然已經(jīng)十分廣泛,但從國內(nèi)生產(chǎn)的溫度控制器來講,總體發(fā)展水平仍然不高,同日本、美國、德國等先進(jìn)國家相比,仍然有著較大的差距。成熟

4、的溫控產(chǎn)品主要以“點(diǎn)位”控制及常規(guī)的PID控制器為主,它們只能適應(yīng)一般溫度系統(tǒng)控制,而用于較高控制場合的智能化、自適應(yīng)控制儀表,國內(nèi)技術(shù)還不十分成熟,形成商品化并廣泛應(yīng)用的控制儀表較少.隨著我國經(jīng)濟(jì)的發(fā)展及加入WTO,我國政府及企業(yè)對此都非常重視,對相關(guān)企業(yè)資源進(jìn)行了重組,相繼建立了一些國家、企業(yè)的研發(fā)中心,開展創(chuàng)新性研究,使我國儀表工業(yè)得到了迅速的發(fā)展.單片機(jī)也被稱為微控制器(Microcontroller),是因?yàn)樗钤绫挥迷诠I(yè)控制領(lǐng)域.單片機(jī)由芯片內(nèi)僅有CPU的專用處理器發(fā)展而來。最早的設(shè)計(jì)理念是通過將大量外圍設(shè)備和CPU集成在一個(gè)芯片中,使計(jì)算機(jī)系統(tǒng)更小,更容易集成進(jìn)復(fù)雜的而對體積要

5、求嚴(yán)格的控制設(shè)備當(dāng)中。INTEL的Z80是最早按照這種思想設(shè)計(jì)出的處理器,從此以后,單片機(jī)和專用處理器的發(fā)展便分道揚(yáng)鑣。1。3 設(shè)計(jì)的目的1。 鞏固、加深和擴(kuò)大單片機(jī)應(yīng)用的知識面,提高綜合及靈活運(yùn)用所學(xué)知識解決工業(yè)控制的能力。2。 培養(yǎng)針對課題需要,選擇和查閱有關(guān)手冊、圖表及文獻(xiàn)資料的自學(xué)能力,提高組成系統(tǒng)、編程、調(diào)試的動手能力。3。 通過對課題設(shè)計(jì)方案的分析、選擇、比較、熟悉單片機(jī)用系統(tǒng)開發(fā)、研制的過程,軟硬件設(shè)計(jì)的方法、內(nèi)容及步驟。1。4 設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)本課題的研究重點(diǎn)是設(shè)計(jì)一種基于單片機(jī)的數(shù)字溫度計(jì)控制系統(tǒng)。利用數(shù)字溫度傳感器DS18B20,此傳感器可讀取被測量溫度值,進(jìn)行轉(zhuǎn)換。主要工作

6、如下:1. 溫度測試基本范圍-55125。2。 精度誤差等于1.3.0。56寸的三位共陽極數(shù)碼管顯示。4。 可以設(shè)定溫度的上下限報(bào)警功能。5. 實(shí)現(xiàn)超溫報(bào)警提示。1。5 數(shù)字溫度計(jì)簡介數(shù)字溫度計(jì)采用進(jìn)口芯片組裝精度高、高穩(wěn)定性,誤差0。5, 內(nèi)電源、微功耗、不銹鋼外殼,防護(hù)堅(jiān)固,美觀精致.數(shù)字溫度計(jì)采用進(jìn)口高精度、低溫漂、超低功耗集成電路和寬溫型液晶顯示器,內(nèi)置高能量電池連續(xù)工作5年無需敷設(shè)供電電纜,是一種精度高、穩(wěn)定性好、適用性極強(qiáng)的新型現(xiàn)場溫度顯示儀。是傳統(tǒng)現(xiàn)場指針雙金屬溫度計(jì)的理想替代產(chǎn)品,廣泛應(yīng)用于各類工礦企業(yè),大專院校,科研院所。數(shù)字溫度計(jì)采用溫度敏感元件也就是溫度傳感器(如鉑電阻,

7、熱電偶,半導(dǎo)體,熱敏電阻等),將溫度的變化轉(zhuǎn)換成電信號的變化,如電壓和電流的變化,溫度變化和電信號的變化有一定的關(guān)系,如線性關(guān)系,一定的曲線關(guān)系等,這個(gè)電信號可以使用模數(shù)轉(zhuǎn)換的電路即AD轉(zhuǎn)換電路將模擬信號轉(zhuǎn)換為數(shù)字信號,數(shù)字信號再送給處理單元,如單片機(jī)或者PC機(jī)等,處理單元經(jīng)過內(nèi)部的軟件計(jì)算將這個(gè)數(shù)字信號和溫度聯(lián)系起來,成為可以顯示出來的溫度數(shù)值,如25.0攝氏度,然后通過顯示單元,如LED,LCD或者電腦屏幕等顯示出來給人觀察。這樣就完成了數(shù)字溫度計(jì)的基本測溫功能.數(shù)字溫度計(jì)根據(jù)使用的傳感器的不同,AD轉(zhuǎn)換電路,及處理單元的不同,它的精度,穩(wěn)定性,測溫范圍等都有區(qū)別,這就要根據(jù)實(shí)際情況選擇符

8、合規(guī)格的數(shù)字溫度計(jì)。二、總體方案設(shè)計(jì)1、數(shù)字溫度計(jì)設(shè)計(jì)方案論證2.1。1方案一由于本設(shè)計(jì)是測溫電路,可以使用熱敏電阻之類的器件利用其感溫效應(yīng),在將隨被測溫度變化的電壓或電流采集過來,進(jìn)行A/D轉(zhuǎn)換后,就可以用單片機(jī)進(jìn)行數(shù)據(jù)的處理,在顯示電路上,就可以將被測溫度顯示出來,這種設(shè)計(jì)需要用到A/D轉(zhuǎn)換電路,感溫電路比較麻煩.2。1。2 方案二 進(jìn)而考慮到用溫度傳感器,在單片機(jī)電路設(shè)計(jì)中,大多都是使用傳感器,所以這是非常容易想到的,所以可以采用一只溫度傳感器DS18B20,此傳感器,可以很容易直接讀取被測溫度值,進(jìn)行轉(zhuǎn)換,就可以滿足設(shè)計(jì)要求。從以上兩種方案,很容易看出,采用方案二,電路比較簡單,軟件設(shè)

9、計(jì)也比較簡單,故采用了方案二。2。2方案二的總體設(shè)計(jì)框圖溫度計(jì)電路設(shè)計(jì)總體設(shè)計(jì)方框圖如圖1所示,控制器采用單片機(jī)AT89S51,溫度傳感器采用DS18B20,用3位LED數(shù)碼管以串口傳送數(shù)據(jù)實(shí)現(xiàn)溫度顯示. 2、硬件設(shè)計(jì)1.1 工作原理及硬件框圖基于DS18B20的溫度測量裝置電路圖如圖1所示,包括單片機(jī)最小系統(tǒng)、溫度傳感器、和顯示電路。溫度傳感器DS18B20將被測環(huán)境溫度轉(zhuǎn)化成帶符號的數(shù)字信號(以十六位補(bǔ)碼形式,占兩個(gè)字節(jié)),單片機(jī)對接收到的數(shù)字信號進(jìn)行標(biāo)度變換,轉(zhuǎn)換成實(shí)際的溫度值并送數(shù)碼管顯示。DS18B20傳感器可置于離裝置150米以內(nèi)的任何地方。 STC89C51是整個(gè)電路裝

10、置的控制核心,STC89C51內(nèi)帶4K字節(jié)的FlashROM,用戶程序存放在此。圖2 系統(tǒng)硬件框圖3、 系統(tǒng)分析:本設(shè)計(jì)主要的任務(wù)是單片機(jī)軟件的設(shè)計(jì),而軟件中的核心在于單片機(jī)與集成溫度傳感器DS18B20接口程序的設(shè)計(jì),另外一點(diǎn)便是對數(shù)碼管掃描顯示的理解與運(yùn)用.由于DS18B20集成了溫度數(shù)據(jù)采集、模數(shù)轉(zhuǎn)換于一體,因此外圍電路非常簡單.在進(jìn)行軟件設(shè)計(jì)前,須對該芯片反復(fù)研究,掌握其核心內(nèi)容,其實(shí)程序在廠家提供的應(yīng)用資料中也可以找到,關(guān)鍵是要對其工作過程的理解。對數(shù)碼管掃描顯示的程序設(shè)計(jì),只要理解了其顯示的工作原理,也不是可以掌握的。3.1、制作重點(diǎn):讀取DS18B20的時(shí)序由于對DS18B20傳

11、感器數(shù)據(jù)的讀取有一定的時(shí)序要求,因此在編寫軟件時(shí)要特別注意,先反復(fù)讀懂該器件的讀、寫時(shí)序,然后根據(jù)所選用的晶振計(jì)算出機(jī)器周期的時(shí)間,為了使計(jì)算簡單,在設(shè)計(jì)時(shí)將晶振選用12M,因?yàn)?1系列單片機(jī)一個(gè)機(jī)器周期正好是12個(gè)時(shí)鐘周期,因此選用12M晶振時(shí),一個(gè)機(jī)器周期正好是1微秒,這樣計(jì)算時(shí)間比較方便。對讀取數(shù)據(jù)的處理從DS18B20芯片的資料中可以看出,其數(shù)據(jù)存儲器的分配為:存儲數(shù)據(jù)與溫度的對應(yīng)關(guān)系見下表:從以上的分析可以看出,溫度值存儲于兩個(gè)字節(jié)單元中,溫度與存儲器的對應(yīng)關(guān)系為:整個(gè)溫度值由16位二進(jìn)制數(shù)表示,最高的5位為符號為,為零時(shí)代表正的溫度值,為“1”時(shí),代表的是負(fù)溫度值,真正表示溫度的是

12、后11位數(shù)據(jù),最低的四位表示小數(shù)位,其中0單元的高四位和1單元的低四位組合正好形成測得的溫度整數(shù)值,這樣我們在對讀取的數(shù)據(jù)在進(jìn)行處理時(shí),只需將0單元的高四位和1單元的低四位通過重新組合,形成一個(gè)新的8位數(shù)據(jù),這個(gè)數(shù)據(jù)便是測得的溫度數(shù)值,但這是個(gè)16進(jìn)制的數(shù)據(jù),要輸出10進(jìn)制數(shù)進(jìn)行顯示,要進(jìn)行相應(yīng)的轉(zhuǎn)換操作,至于將16進(jìn)制數(shù)轉(zhuǎn)換成10進(jìn)制數(shù)據(jù)的匯編程序。數(shù)碼掃描輸出的處理為了節(jié)省單片機(jī)端口,輸出顯示采用掃描的方式進(jìn)行。利用人眼對光的停留效應(yīng),通過電子開關(guān)的控制,節(jié)合顯示數(shù)據(jù)的配合,完成三位數(shù)碼管的掃描顯示。4、 溫度測量電路目前市面上的數(shù)字溫度傳感器有很多,比如DS18B20、MAX6575、D

13、S1722、MAX6635等.用DS18B20可使系統(tǒng)結(jié)構(gòu)更簡單,可靠性更高.DS18B20是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,具有3引腳TO92小體積封裝形式;溫度測量范圍為55125,可編程為9位12位A/D轉(zhuǎn)換精度,測溫分辨率可達(dá)0.0625,被測溫度用符號擴(kuò)展的16位數(shù)字量方式串行輸出;其工作電源既可在遠(yuǎn)端引入,也可采用寄生電源方式產(chǎn)生,多個(gè)DS18B20可以并聯(lián)到3根或2根線上,CPU只需一根端口線就能與諸多DS18B20通信,占用微處理器的端口較少,可節(jié)省大量的引線和邏輯電路.DS18B20的外形如圖2所示,有三個(gè)引腳,引腳定義: DQ為數(shù)字信號輸入/輸出端, GND為電

14、源地, VDD為外接供電電源輸入端(在寄生電源接線方式時(shí)接地)。 DS18B20中的溫度傳感器可完成對溫度的測量,以12位轉(zhuǎn)化為例:用16位符號擴(kuò)展的二進(jìn)制補(bǔ)碼讀數(shù)形式提供,以0.0625/LSB形式表達(dá),其中S為符號位。 這是12位轉(zhuǎn)化后得到的12位數(shù)據(jù),存儲在18B20的兩個(gè)8比特的RAM中,二進(jìn)制中的前面5位是符號位,如果測得的溫度大于0,這5位為0,只要將測到的數(shù)值乘于0.0625即可得到實(shí)際溫度;如果溫度小于0,這5位為1,測到的數(shù)值需要取反加1再乘于0。0625即可得到實(shí)際溫度。 例如+125的數(shù)字輸出為07D0H,+25。0625的數(shù)字輸出為0191H,-25.0625的數(shù)字輸出

15、為FF6FH,55的數(shù)字輸出為FC90H。 DS18B20與單片機(jī)的接口電路很簡單,如下圖3所示.DS18B20的DQ即2號端于單片機(jī)P26口相接,另外兩個(gè)管腳一個(gè)接5V電源,另外一個(gè)管腳接地。上拉電阻為5.1K的上拉電阻,分別接于單片機(jī)的EA/VP端與P2。7口。上拉電阻作用主要是若溫度傳感器開路或沒接時(shí),能起到上拉作用,使之為高電平,使后讀電路保護(hù)作用.4。3 單片機(jī)最小系統(tǒng)4.3.1 單片機(jī)選型在本次設(shè)計(jì)中,主要用單片機(jī)STC89C51來控制.STC89C51是與8051兼容的CHMOS微控制器.其FLASH存儲器容量為2KB。與CHMOS工藝的89C51一樣,支持軟件選擇的空閑和掉電兩

16、種節(jié)電運(yùn)行方式。性能如下:8位CPU工作電壓范圍2。76V全靜態(tài)工作方式:0Hz24 Hz ;一個(gè)可編程串行口;有片內(nèi)精密模擬比較器;2KB的FLASH存儲;128B的數(shù)據(jù)存儲器;15根輸入/輸出線;2個(gè)16位定時(shí)/計(jì)數(shù)器;5個(gè)中斷源,2個(gè)優(yōu)先級。STC89C51的FLASH存儲器編程:STC89C51單片機(jī)提供了2KB的片內(nèi)FLASH程序存儲器,它允許在系統(tǒng)改寫或用非易失性存儲器編程器編程。FLASH存儲器加密位:STC89C51單片機(jī)有2個(gè)加密位。可以編程(P)或不編程(U)以獲得不同的加密功能。個(gè)人收集整理,勿做商業(yè)用途本文為互聯(lián)網(wǎng)收集,請勿用作商業(yè)用途4.3.2 最小系統(tǒng)圖4 單片機(jī)最

17、小系統(tǒng)時(shí)鐘復(fù)位電路如圖4所示,采用12MHz的晶振.復(fù)位電路采用了微分型復(fù)位電路。復(fù)位電路的基本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號直至系統(tǒng)電源穩(wěn)定后撤銷復(fù)位信號為可靠起見電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號以防電源開關(guān)或電源插頭分-合過程中引起的抖動而影響復(fù)位,有效的防止系統(tǒng)有時(shí)會出現(xiàn)一些不可預(yù)料的現(xiàn)象,如無規(guī)律可循的“死機(jī)”、“程序走飛”等。4.4 顯示電路主要采用四位一體共陽極LED數(shù)碼管組成,采用動態(tài)法顯示,直接顯示當(dāng)前環(huán)境溫度.P0口接數(shù)碼管的段碼,P1。0-P1。3接數(shù)碼管的位線.按鈕開關(guān)可選擇小數(shù)點(diǎn)后顯示一位或兩位。 4。5 電源電路市電220V經(jīng)過變壓器T1降壓,得到一個(gè)交流的1

18、6v電壓,再經(jīng)過四個(gè)整流二極管整流、C5濾波得到直流電壓,最后經(jīng)過三端集成穩(wěn)壓管穩(wěn)壓,得到一個(gè)穩(wěn)定的5V直流電壓.2 軟件設(shè)計(jì)在此系統(tǒng)中,主要包括溫度測量、顯示、鍵盤。最主要的程序是溫度測量部分。2。1 系統(tǒng)主流程圖系統(tǒng)上電后,首先對DS18B20進(jìn)行初始化設(shè)置,接著對DS18B20發(fā)出SKIP ROM指令(即跳過ROM存儲器)延時(shí)5ms后,對DS18B20發(fā)出啟動溫度轉(zhuǎn)換命令,然后,從DS18B20的暫存儲器中讀出溫度數(shù)據(jù),接著對該數(shù)據(jù)進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換成當(dāng)前環(huán)境溫度.最后將實(shí)際溫度與設(shè)置溫度比較,超過限制則發(fā)出報(bào)警。2.2 溫度測量設(shè)計(jì)通過STC89C51芯片的一個(gè)通用I/O口就可以實(shí)現(xiàn)對智能

19、溫度測量模塊DS18B20的控制。讀取DS18B20測量的溫度主要是通過初始化命令、ROM功能命令、存儲器功能命令、溫度轉(zhuǎn)換命令、讀存儲器命令等組成。冷端溫度補(bǔ)償三、系統(tǒng)軟件算法分析程序命令時(shí)序總線命令序列如下:第一步: 初始化第二步: ROM命令(跟隨需要交換的數(shù)據(jù))第三步: 功能命令 (跟隨需要交換的數(shù)據(jù))每次訪問單總線器件,必須嚴(yán)格遵守這個(gè)命令序列,如果出現(xiàn)序列混亂,則一線器件不會響應(yīng)單片機(jī)。 基于一線上的所有傳輸過程都時(shí)以初始化開始的,初始化過程由單片機(jī)發(fā)出的復(fù)位脈沖和DS18B20的響應(yīng)的應(yīng)答脈沖組成。應(yīng)答脈沖使單片機(jī)知道,總線上有1-WIRE設(shè)備,且準(zhǔn)備就緒。系統(tǒng)中CPU采用12M

20、Hz晶振,DQ端接P2.6。RESET子程序RESET:CLR P2.6 ;拉低總線至少480us,否則在溫度較高時(shí)會無法完成復(fù)位。MOV R2,#130 ;在調(diào)試過程中發(fā)現(xiàn)延時(shí)520uS,測溫值可到110,達(dá)到D1: DJNZ R2,D1 ;DS18B20的技術(shù)參數(shù).SETB P2。6 ;釋放總線MOV R2,#20D4: DJNZ R2,D4JB P2.6,D0 ;總線若為低,則復(fù)位成功;否則復(fù)位失敗,返回。MOV R2,#110D2: DJNZ R2,D2 ;延時(shí)等待復(fù)位過程結(jié)束RET在單片機(jī)檢測到應(yīng)答(presence)脈沖后,就可以發(fā)ROM命令,命令長度為8位.該命令字要通過1-WI

21、RE通信協(xié)議規(guī)定的嚴(yán)格的寫時(shí)隙(Write time slots),逐位寫到一線上,DS18B20會自動接收到這些命令,并準(zhǔn)備響應(yīng)相應(yīng)的操作.本系統(tǒng)是單點(diǎn)使用,故只須用到SKIM ROM COMMAND(0CCH),這樣單片機(jī)可以同時(shí)訪問總線上的所有設(shè)備,而無須發(fā)出任何ROM代碼信息。例如,單片機(jī)在發(fā)出SKIP ROM命令后跟隨CONVENT T (功能 COMMAND) 即啟動溫度轉(zhuǎn)換命令(44H),值得注意的是:若SKIP ROM 命令后跟的是READ SCRATCHPAD(0BEH)命令(包含其他讀操作命令),則該系統(tǒng)只能用于單點(diǎn)系統(tǒng),否則將由于多個(gè)節(jié)點(diǎn)都響應(yīng)該命令而引起數(shù)據(jù)沖突。在單片

22、機(jī)發(fā)出ROM 命令后,接著就可以發(fā)送功能命令,然后DS18B20就開始執(zhí)行命令,本單點(diǎn)應(yīng)用系統(tǒng)中主要用到CONVENT T和READ SCRATCHPAD在執(zhí)行READ SCRATCHPAD命令時(shí),單片機(jī)可以通過發(fā)送RESET脈沖在任何時(shí)候中斷數(shù)據(jù)傳輸.讀、寫時(shí)序 在對DS18B20進(jìn)行ROM或功能命令字的寫入及對其進(jìn)行讀出操作時(shí),都要求按照嚴(yán)格的1-WIRE通信協(xié)議(時(shí)序),以保證數(shù)據(jù)的完整性。其中有寫0、寫1、讀0和讀1時(shí)序.在這些時(shí)序中,都由單片機(jī)發(fā)出同步信號,并且所有的命令字和數(shù)據(jù)在傳輸?shù)倪^程中都是字節(jié)的LSb在前,這一點(diǎn)于基于其他總線協(xié)議的串行通信格式(比如SPI、 等)不同,它們通

23、常是字節(jié)的MSb在前.讀時(shí)序 DS18B20僅在單片機(jī)發(fā)送讀時(shí)隙(READ SLOT)時(shí)才發(fā)送數(shù)據(jù),所以單片機(jī)在發(fā)送READ SCRATCHPAD命令后必須立即產(chǎn)生讀時(shí)隙。所有的讀時(shí)隙都要至少保持60us,并且在兩個(gè)讀時(shí)隙間至少要有1us的恢復(fù)時(shí)間。單片機(jī)通過把總線拉低至少1us來做為一個(gè)讀時(shí)隙的開始,DS18B20的輸出數(shù)據(jù)在讀時(shí)序下降沿過后15us內(nèi)有效,所以在此期間單片機(jī)應(yīng)釋放總線,進(jìn)入讀數(shù)據(jù)狀態(tài)以便讀取數(shù)據(jù),15us后一線總線被上拉電阻拉為高電平,程序延時(shí)等待讀時(shí)隙結(jié)束。讀一字節(jié)子程序 出口條件:讀出字節(jié)數(shù)據(jù)在A中RE1W:MOV R6,8 ;從1-Wire總線讀出1字節(jié)數(shù)據(jù)的子程序RE1:CLR P2.6 ;拉低總線,發(fā)出讀時(shí)序NOPSETB P2。6 ;釋放總線,等待輸入MOV R4,02HRE2:DJNZ R4,RE2MOV C,P2。6 ;通過RRC A指令,從低位開始依次讀入數(shù)據(jù)RRC AMOV R5,#20RE3:DJNZ R5,RE3 ;延時(shí),等待讀時(shí)隙結(jié)束SETB P2。6 ;恢復(fù)時(shí)間 DJNZ R6,RE1SETB P2.6 RET寫時(shí)隙 寫時(shí)隙也有兩種,寫0和寫1。主要用于單片機(jī)通過1WIRE總線向DS18B20寫入命令字。所有的寫時(shí)隙也至少要保持60us,且在兩個(gè)寫周期之間至少要有1us的恢復(fù)時(shí)間. 單片機(jī)通過拉低一線總線至少1us來產(chǎn)生寫

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論