簡(jiǎn)易數(shù)字式溫度計(jì)設(shè)計(jì)_第1頁
簡(jiǎn)易數(shù)字式溫度計(jì)設(shè)計(jì)_第2頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

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

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

3、數(shù)據(jù)處理問題能夠得到很好的解決。溫度是工業(yè)對(duì)象中的一個(gè)重要的被控參數(shù)。然而所采用的測(cè)溫元件和測(cè)量方法也不一樣;產(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 國外的現(xiàn)狀溫度控制系統(tǒng)在國各行各業(yè)的應(yīng)用雖然已經(jīng)十分廣泛,但從國生產(chǎn)的溫度控制器來講,總體開展水平仍然不高,同日本、美國、德國等先進(jìn)國家相比,仍然有著較大的差距。成熟的

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

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

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

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

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

9、方案二的總體設(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的溫度測(cè)量裝置電路圖如圖1所示,包括單片機(jī)最小系統(tǒng)、溫度傳感器、和顯示電路。溫度傳感器DS18B20將被測(cè)環(huán)境溫度轉(zhuǎn)化成帶符號(hào)的數(shù)字信號(hào)以十六位補(bǔ)碼形式,占兩個(gè)字節(jié),單片機(jī)對(duì)接收到的數(shù)字信號(hào)進(jìn)展標(biāo)度變換,轉(zhuǎn)換成實(shí)際的溫度值并送數(shù)碼管顯示。DS18B20傳感器可置于離裝置150米以的任何地方。 STC89C51是整個(gè)電路裝置的控制核心,STC89C51帶4K字節(jié)的FlashR

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

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

12、1單元的低四位組合正好形成測(cè)得的溫度整數(shù)值,這樣我們?cè)趯?duì)讀取的數(shù)據(jù)在進(jìn)展處理時(shí),只需將0單元的高四位和1單元的低四位通過重新組合,形成一個(gè)新的8位數(shù)據(jù),這個(gè)數(shù)據(jù)便是測(cè)得的溫度數(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)展。利用人眼對(duì)光的停留效應(yīng),通過電子開關(guān)的控制,節(jié)合顯示數(shù)據(jù)的配合,完成三位數(shù)碼管的掃描顯示。4、 溫度測(cè)量電路目前市面上的數(shù)字溫度傳感器有很多,比方DS18B20、MA*6575、DS1722、MA*6635等。用DS18B20可使系統(tǒng)

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

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

15、與單片機(jī)的接口電路很簡(jiǎn)單,如下列圖3所示。DS18B20的DQ即2號(hào)端于單片機(jī)P26口相接,另外兩個(gè)管腳一個(gè)接5V電源,另外一個(gè)管腳接地。上拉電阻為5.1K的上拉電阻,分別接于單片機(jī)的EA/VP端與P2.7口。上拉電阻作用主要是假設(shè)溫度傳感器開路或沒接時(shí),能起到上拉作用,使之為高電平,使后讀電路保護(hù)作用。4.3 單片機(jī)最小系統(tǒng)4.3.1 單片機(jī)選型在本次設(shè)計(jì)中,主要用單片機(jī)STC89C51來控制。STC89C51是與8051兼容的CHMOS微控制器。其FLASH存儲(chǔ)器容量為2KB。與CHMOS工藝的89C51一樣,支持軟件選擇的空閑和掉電兩種節(jié)電運(yùn)行方式。性能如下:8位CPU工作電壓圍2.76

16、V全靜態(tài)工作方式:0Hz24 Hz ;一個(gè)可編程串行口;有片精細(xì)模擬比擬器;2KB的FLASH存儲(chǔ);128B的數(shù)據(jù)存儲(chǔ)器;15根輸入/輸出線;2個(gè)16位定時(shí)/計(jì)數(shù)器;5個(gè)中斷源,2個(gè)優(yōu)先級(jí)。STC89C51的FLASH存儲(chǔ)器編程:STC89C51單片機(jī)提供了2KB的片F(xiàn)LASH程序存儲(chǔ)器,它允許在系統(tǒng)改寫或用非易失性存儲(chǔ)器編程器編程。FLASH存儲(chǔ)器加密位:STC89C51單片機(jī)有2個(gè)加密位??梢跃幊蘌或不編程U以獲得不同的加密功能。4.3.2 最小系統(tǒng)圖4 單片機(jī)最小系統(tǒng)時(shí)鐘復(fù)位電路如圖4所示,采用12MHz的晶振。復(fù)位電路采用了微分型復(fù)位電路。復(fù)位電路的根本功能是:系統(tǒng)上電時(shí)提供復(fù)位信號(hào)直

17、至系統(tǒng)電源穩(wěn)定后撤銷復(fù)位信號(hào)為可靠起見電源穩(wěn)定后還要經(jīng)一定的延時(shí)才撤銷復(fù)位信號(hào)以防電源開關(guān)或電源插頭分-合過程中引起的抖動(dòng)而影響復(fù)位,有效的防止系統(tǒng)有時(shí)會(huì)出現(xiàn)一些不可預(yù)料的現(xiàn)象,如無規(guī)律可循的“死機(jī)、“程序走飛等。4.4 顯示電路主要采用四位一體共陽極LED數(shù)碼管組成,采用動(dòng)態(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è)交流的16v電壓,再經(jīng)過四個(gè)整流二極管整流、C5濾波得到直流電壓,最后經(jīng)過三端集成穩(wěn)壓管穩(wěn)壓,得到一個(gè)穩(wěn)定的5V直流電壓。2 軟件設(shè)計(jì)在此系

18、統(tǒng)中,主要包括溫度測(cè)量、顯示、鍵盤。最主要的程序是溫度測(cè)量局部。2.1 系統(tǒng)主流程圖系統(tǒng)上電后,首先對(duì)DS18B20進(jìn)展初始化設(shè)置,接著對(duì)DS18B20發(fā)出SKIP ROM指令即跳過ROM存儲(chǔ)器延時(shí)5ms后,對(duì)DS18B20發(fā)出啟動(dòng)溫度轉(zhuǎn)換命令,然后,從DS18B20的暫存儲(chǔ)器中讀出溫度數(shù)據(jù),接著對(duì)該數(shù)據(jù)進(jìn)展轉(zhuǎn)換,轉(zhuǎn)換成當(dāng)前環(huán)境溫度。最后將實(shí)際溫度與設(shè)置溫度比擬,超過限制則發(fā)出報(bào)警。2.2 溫度測(cè)量設(shè)計(jì)通過STC89C51芯片的一個(gè)通用I/O口就可以實(shí)現(xiàn)對(duì)智能溫度測(cè)量模塊DS18B20的控制。讀取DS18B20測(cè)量的溫度主要是通過初始化命令、ROM功能命令、存儲(chǔ)器功能命令、溫度轉(zhuǎn)換命令、讀存儲(chǔ)

19、器命令等組成。冷端溫度補(bǔ)償三、系統(tǒng)軟件算法分析程序命令時(shí)序總線命令序列如下:第一步: 初始化第二步: ROM命令跟隨需要交換的數(shù)據(jù)第三步: 功能命令 跟隨需要交換的數(shù)據(jù)每次單總線器件,必須嚴(yán)格遵守這個(gè)命令序列,如果出現(xiàn)序列混亂,則一線器件不會(huì)響應(yīng)單片機(jī)。 基于一線上的所有傳輸過程都時(shí)以初始化開場(chǎng)的,初始化過程由單片機(jī)發(fā)出的復(fù)位脈沖和DS18B20的響應(yīng)的應(yīng)答脈沖組成。應(yīng)答脈沖使單片機(jī)知道,總線上有1-WIRE設(shè)備,且準(zhǔn)備就緒。系統(tǒng)中CPU采用12MHz晶振,DQ端接P2.6。RESET子程序RESET:CLR P2.6 ;拉低總線至少480us,否則在溫度較高時(shí)會(huì)無法完成復(fù)位。MOV R2,*

20、130 ;在調(diào)試過程中發(fā)現(xiàn)延時(shí)520uS,測(cè)溫值可到110,到達(dá)D1: DJNZ R2,D1 ;DS18B20的技術(shù)參數(shù)。SETB P2.6 ;釋放總線MOV R2,*20D4: DJNZ R2,D4 P2.6,D0 ;總線假設(shè)為低,則復(fù)位成功;否則復(fù)位失敗,返回。MOV R2,*110D2: DJNZ R2,D2 ;延時(shí)等待復(fù)位過程完畢RET在單片機(jī)檢測(cè)到應(yīng)答(presence)脈沖后,就可以發(fā)ROM命令,命令長度為8位。該命令字要通過1-WIRE通信協(xié)議規(guī)定的嚴(yán)格的寫時(shí)隙(Write time slots),逐位寫到一線上,DS18B20會(huì)自動(dòng)接收到這些命令,并準(zhǔn)備響應(yīng)相應(yīng)的操作。本系統(tǒng)是

21、單點(diǎn)使用,故只須用到SKIM ROM MAND(0CCH),這樣單片機(jī)可以同時(shí)總線上的所有設(shè)備,而無須發(fā)出任何ROM代碼信息。例如,單片機(jī)在發(fā)出SKIP ROM命令后跟隨CONVENT T (功能 MAND) 即啟動(dòng)溫度轉(zhuǎn)換命令(44H),值得注意的是:假設(shè)SKIP ROM 命令后跟的是READ SCRATCHPAD(0BEH)命令(包含其他讀操作命令),則該系統(tǒng)只能用于單點(diǎn)系統(tǒng),否則將由于多個(gè)節(jié)點(diǎn)都響應(yīng)該命令而引起數(shù)據(jù)沖突。在單片機(jī)發(fā)出ROM 命令后,接著就可以發(fā)送功能命令,然后DS18B20就開場(chǎng)執(zhí)行命令,本單點(diǎn)應(yīng)用系統(tǒng)中主要用到CONVENT T和READ SCRATCHPAD在執(zhí)行RE

22、AD SCRATCHPAD命令時(shí),單片機(jī)可以通過發(fā)送RESET脈沖在任何時(shí)候中斷數(shù)據(jù)傳輸。讀、寫時(shí)序 在對(duì)DS18B20進(jìn)展ROM或功能命令字的寫入及對(duì)其進(jìn)展讀出操作時(shí),都要求按照嚴(yán)格的1-WIRE通信協(xié)議時(shí)序,以保證數(shù)據(jù)的完整性。其中有寫0、寫1、讀0和讀1時(shí)序。在這些時(shí)序中,都由單片機(jī)發(fā)出同步信號(hào),并且所有的命令字和數(shù)據(jù)在傳輸?shù)倪^程中都是字節(jié)的LSb在前,這一點(diǎn)于基于其他總線協(xié)議的串行通信格式比方SPI、 等不同,它們通常是字節(jié)的MSb在前。讀時(shí)序 DS18B20僅在單片機(jī)發(fā)送讀時(shí)隙READ SLOT時(shí)才發(fā)送數(shù)據(jù),所以單片機(jī)在發(fā)送READ SCRATCHPAD命令后必須立即產(chǎn)生讀時(shí)隙。所有

23、的讀時(shí)隙都要至少保持60us,并且在兩個(gè)讀時(shí)隙間至少要有1us的恢復(fù)時(shí)間。單片機(jī)通過把總線拉低至少1us來做為一個(gè)讀時(shí)隙的開場(chǎng),DS18B20的輸出數(shù)據(jù)在讀時(shí)序下降沿過后15us有效,所以在此期間單片機(jī)應(yīng)釋放總線,進(jìn)入讀數(shù)據(jù)狀態(tài)以便讀取數(shù)據(jù),15us后一線總線被上拉電阻拉為高電平,程序延時(shí)等待讀時(shí)隙完畢。讀一字節(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指令,從低位開場(chǎng)依次讀入數(shù)據(jù)RRC AMOV R5,*20RE3:DJNZ R5,RE3 ;延時(shí),等待讀時(shí)隙完畢SETB P2.6 ;恢復(fù)時(shí)間 DJNZ R6,RE1SETB P2.6 RET寫時(shí)隙 寫時(shí)隙也有兩種,寫0和寫1。主要用于單片機(jī)通過1-WIRE總線向DS18B20寫入命令字。所有的寫時(shí)隙也至少要保持60us,且在

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論