DS18B20的使用法_第1頁
DS18B20的使用法_第2頁
DS18B20的使用法_第3頁
DS18B20的使用法_第4頁
DS18B20的使用法_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、DS18B20的使用的使用 DS18B20數(shù)字溫度計(jì)是數(shù)字溫度計(jì)是DALLAS公司生公司生產(chǎn)的產(chǎn)的1Wire,即單總線器件,具有線路簡(jiǎn),即單總線器件,具有線路簡(jiǎn)單,體積小,抗干擾能力強(qiáng),精度高的特點(diǎn)。單,體積小,抗干擾能力強(qiáng),精度高的特點(diǎn)。 DS18B20具有唯一的序列號(hào),在一根通具有唯一的序列號(hào),在一根通信線,可以掛很多這樣的數(shù)字溫度計(jì),十分信線,可以掛很多這樣的數(shù)字溫度計(jì),十分方便。方便。u DS18B20的主要特征:的主要特征:l全數(shù)字溫度轉(zhuǎn)換及輸出。全數(shù)字溫度轉(zhuǎn)換及輸出。 l先進(jìn)的單總線數(shù)據(jù)通信。先進(jìn)的單總線數(shù)據(jù)通信。 l最高最高12位分辨率,精度可達(dá)土位分辨率,精度可達(dá)土0.5攝氏度

2、。攝氏度。 l12位分辨率時(shí)的最大工作周期為位分辨率時(shí)的最大工作周期為750毫秒。毫秒。 l可選擇數(shù)據(jù)線寄生電源工作方式。可選擇數(shù)據(jù)線寄生電源工作方式。 l檢測(cè)溫度范圍為檢測(cè)溫度范圍為55C +125Cl內(nèi)置內(nèi)置EEPROM,限溫報(bào)警功能。,限溫報(bào)警功能。 l64位光刻位光刻ROM,內(nèi)置產(chǎn)品序列號(hào),方便多機(jī)掛接。,內(nèi)置產(chǎn)品序列號(hào),方便多機(jī)掛接。 l多樣封裝形式,適應(yīng)不同硬件系統(tǒng)。多樣封裝形式,適應(yīng)不同硬件系統(tǒng)。 u DS18B20芯片封裝結(jié)構(gòu): u DS18B20詳細(xì)引腳功能描述:序號(hào)名稱 引腳功能描述1 GND 地信號(hào)2 DQ 數(shù)據(jù)輸入/輸出引腳。開漏單總線接口引腳。當(dāng)被用著在寄生電源下,也

3、可以向器件提供電源。3 VDD 可選擇的VDD引腳。當(dāng)工作于寄生電源時(shí),此引腳必須接地。u DS18B20內(nèi)部結(jié)構(gòu)圖:內(nèi)部結(jié)構(gòu)圖:u DS18B20共有三種形態(tài)的存儲(chǔ)器資源:、ROM 只讀存儲(chǔ)器只讀存儲(chǔ)器,用于存放DS18B20的ID編碼,其前8位是單線系列編碼(DS18B20的是 H),后面48位是芯片唯一的序列號(hào),最后8位是以上56位的CRC碼(冗余校驗(yàn))。數(shù)據(jù)在出產(chǎn)時(shí)設(shè)置不由用戶更改。DS18B20共64位ROM。、RAM 數(shù)據(jù)暫存器數(shù)據(jù)暫存器,用于內(nèi)部計(jì)算和數(shù)據(jù)存取,數(shù)據(jù)在掉電后丟失,DS18B20共9個(gè)字節(jié)RAM,每個(gè)字節(jié)為8位。第1、2個(gè)字節(jié)是溫度轉(zhuǎn)換后的數(shù)據(jù)值(溫度寄存器),第3

4、、4個(gè)字節(jié)是用戶EEPROM(溫度報(bào)警值TH、TL儲(chǔ)存)的鏡像。在上電復(fù)位時(shí)其值將被刷新。第5個(gè)字節(jié)則是用戶第3個(gè)EEPROM的鏡像(配置寄存器)。第6、7、8個(gè)字節(jié)為計(jì)數(shù)寄存器,是為了讓用戶得到更高的溫度分辨率而設(shè)計(jì)的,同樣也是內(nèi)部溫度轉(zhuǎn)換、計(jì)算的暫存單元。第9個(gè)字節(jié)為前8個(gè)字節(jié)的CRC碼。、EEPROM 非易失性記憶體非易失性記憶體,用于存放長(zhǎng)期需要保存的數(shù)據(jù),上下限溫度報(bào)警值和校驗(yàn)數(shù)據(jù),DS18B20共3位EEPROM,并在RAM都存在鏡像,以方便用戶操作。u DS18B20 內(nèi)部存儲(chǔ)器結(jié)構(gòu):u DS18B20 溫度寄存器格式:溫度寄存器格式: 測(cè)得的溫度值以二進(jìn)制補(bǔ)碼的形式存放于溫測(cè)得

5、的溫度值以二進(jìn)制補(bǔ)碼的形式存放于溫度寄存器中。度寄存器中。S為符號(hào)位,為符號(hào)位,S=0時(shí),表示溫度值為時(shí),表示溫度值為正;正;S=1 時(shí)表示溫度值為負(fù)。主機(jī)讀取數(shù)據(jù)后,時(shí)表示溫度值為負(fù)。主機(jī)讀取數(shù)據(jù)后,先將數(shù)據(jù)補(bǔ)碼變?yōu)樵a,再計(jì)算其十進(jìn)制值。先將數(shù)據(jù)補(bǔ)碼變?yōu)樵a,再計(jì)算其十進(jìn)制值。u 配置寄存器配置寄存器(Configuration Register):用于確定溫度值的數(shù)字轉(zhuǎn)換分辨率,DS18B20 工作時(shí)按此寄存器中的分辨率將溫度轉(zhuǎn)換為相應(yīng)精度的數(shù)值。0 R1 R0 1 1 1 1 1分辨率設(shè)置表:R1 R0 分辨率/bit 溫度最大轉(zhuǎn)換時(shí)間/ms0 0 9 93.750 1 10 187.

6、51 0 11 3751 1 12 750u單片機(jī)對(duì)DS18B20操作流程:1、 復(fù)位:首先復(fù)位,由單片機(jī)給DS18B20單總線至少480uS的低電平信號(hào)。當(dāng)DS18B20接到此復(fù)位信號(hào)后則會(huì)在1560uS后回發(fā)一個(gè)芯片的存在脈沖。 2、存在脈沖:在復(fù)位后,單片機(jī)將數(shù)據(jù)單總線拉高,在1560uS后接收一個(gè)60240uS的低電平信號(hào)存在脈沖。通信雙方達(dá)成了基本的協(xié)議,之后是單片機(jī)與DS18B20間的數(shù)據(jù)通信。如果復(fù)位低電平的時(shí)間不足或是單總線的電路斷路都不會(huì)接到存在脈沖,在設(shè)計(jì)時(shí)要注意意外情況的處理。 3、單片機(jī)發(fā)送ROM指令:雙方達(dá)成協(xié)議之后將進(jìn)行交流,ROM指令共有5條,一個(gè)工作周期發(fā)一條,

7、ROM指令分別是讀ROM數(shù)據(jù)、指定匹配芯片、跳躍ROM、芯片搜索、報(bào)警芯片搜索。ROM指令為8位長(zhǎng)度,功能是對(duì)片內(nèi)的64位光刻ROM進(jìn)行操作。其主要目的是為了分辨一條總線上掛接的多個(gè)器件并作處理。4、單片機(jī)發(fā)送存儲(chǔ)器RAM操作指令:在ROM指令發(fā)送給18B20之后,接著(不間斷)發(fā)送存儲(chǔ)器操作指令。操作指令同樣為8位,共6條,分別是寫RAM數(shù)據(jù)、讀RAM數(shù)據(jù)、將RAM數(shù)據(jù)復(fù)制到EEPROM、溫度轉(zhuǎn)換、將EEPROM中的報(bào)警值復(fù)制到RAM、工作方式切換。存儲(chǔ)器操作指令的功能是命令18B20工作,是芯片控制的關(guān)鍵。 5、執(zhí)行或數(shù)據(jù)讀寫:一個(gè)存儲(chǔ)器操作指令結(jié)束后進(jìn)行指令執(zhí)行或數(shù)據(jù)的讀寫,此操作視存儲(chǔ)

8、器操作指令而定。如執(zhí)行溫度轉(zhuǎn)換指令則單片機(jī)必須等待18B20執(zhí)行其指令,一般轉(zhuǎn)換時(shí)間為500uS。如執(zhí)行數(shù)據(jù)讀寫指令則需要嚴(yán)格遵循18B20的讀寫時(shí)序來操作。 要讀出當(dāng)前的溫度數(shù)據(jù)需要執(zhí)行兩次工作周期,第一個(gè)周期為復(fù)位、跳過ROM指令、執(zhí)行溫度轉(zhuǎn)換存儲(chǔ)器操作指令、等待500uS溫度轉(zhuǎn)換時(shí)間。第二個(gè)周期為復(fù)位、跳過ROM指令、執(zhí)行讀RAM的存儲(chǔ)器操作指令、讀數(shù)據(jù)(最多為9個(gè)字節(jié),中途可停止,只讀簡(jiǎn)單溫度值則讀前2個(gè)字節(jié)即可)。u DS28B20芯片ROM指令表指令表: Read ROM(讀ROM)33H 這個(gè)命令允許總線單片機(jī)讀到這個(gè)命令允許總線單片機(jī)讀到DS18B20DS18B20的的6464

9、位位ROMROM。只當(dāng)總線上只存在一個(gè)。只當(dāng)總線上只存在一個(gè)DS18B20DS18B20時(shí)才時(shí)才可以用此指令,如果掛接不只一個(gè),通信時(shí)將可以用此指令,如果掛接不只一個(gè),通信時(shí)將會(huì)發(fā)生數(shù)據(jù)沖突。會(huì)發(fā)生數(shù)據(jù)沖突。 Match ROM(指定匹配芯片)55H 這個(gè)指令后面緊跟著由單片機(jī)發(fā)出了這個(gè)指令后面緊跟著由單片機(jī)發(fā)出了6464位位序列號(hào),當(dāng)總線上有多只序列號(hào),當(dāng)總線上有多只DS18B20DS18B20時(shí),只有與時(shí),只有與控制發(fā)出的序列號(hào)相同的芯片才可以做出反應(yīng),控制發(fā)出的序列號(hào)相同的芯片才可以做出反應(yīng),其它芯片將等待下一次復(fù)位。這條指令適應(yīng)單其它芯片將等待下一次復(fù)位。這條指令適應(yīng)單芯片和多芯片掛接

10、。芯片和多芯片掛接。 Skip ROM(跳躍ROM指令)CCH 這條指令使芯片不對(duì)這條指令使芯片不對(duì)ROMROM編碼做出反應(yīng),單芯片的情編碼做出反應(yīng),單芯片的情況,為節(jié)省時(shí)間可以選用此指令。如果在多芯片掛接時(shí)使況,為節(jié)省時(shí)間可以選用此指令。如果在多芯片掛接時(shí)使用此指令將會(huì)出現(xiàn)數(shù)據(jù)沖突,導(dǎo)致錯(cuò)誤出現(xiàn)。用此指令將會(huì)出現(xiàn)數(shù)據(jù)沖突,導(dǎo)致錯(cuò)誤出現(xiàn)。 Search ROM(搜索芯片)F0H 在芯片初始化后,搜索指令允許總線上掛接多芯片時(shí)在芯片初始化后,搜索指令允許總線上掛接多芯片時(shí)用排除法識(shí)別所有器件的用排除法識(shí)別所有器件的6464位位ROMROM。 Alarm Search(報(bào)警芯片搜索)ECH 在多芯

11、片掛接情況,報(bào)警芯片搜索指令只對(duì)在多芯片掛接情況,報(bào)警芯片搜索指令只對(duì)符符合溫度高于合溫度高于THTH或小于或小于TLTL報(bào)警條件的芯片做出反應(yīng)。只報(bào)警條件的芯片做出反應(yīng)。只要芯片不掉電,報(bào)警狀態(tài)將被保持,直到再一次測(cè)得要芯片不掉電,報(bào)警狀態(tài)將被保持,直到再一次測(cè)得溫度達(dá)不到報(bào)警條件為止溫度達(dá)不到報(bào)警條件為止。 u DS18B20芯片存儲(chǔ)器操作指令表存儲(chǔ)器操作指令表: Write Scratchpad (向RAM中寫數(shù)據(jù))4EH 這是向這是向RAMRAM中寫入數(shù)據(jù)的指令,隨后寫入的兩中寫入數(shù)據(jù)的指令,隨后寫入的兩個(gè)字節(jié)的數(shù)據(jù)將會(huì)被存到地址個(gè)字節(jié)的數(shù)據(jù)將會(huì)被存到地址2 2(報(bào)警(報(bào)警RAMRAM

12、之之THTH)和地址和地址3 3(報(bào)警(報(bào)警RAMRAM之之TLTL)。寫入過程中可以用復(fù))。寫入過程中可以用復(fù)位信號(hào)中止寫入。位信號(hào)中止寫入。 Read Scratchpad (從RAM中讀數(shù)據(jù))BEH 此指令從此指令從RAMRAM中讀數(shù)據(jù),讀地址從地址中讀數(shù)據(jù),讀地址從地址0 0開始,開始,一直可以讀到地址一直可以讀到地址9 9,完成整個(gè),完成整個(gè)RAMRAM數(shù)據(jù)的讀出。芯數(shù)據(jù)的讀出。芯片允許在讀過程中用復(fù)位信號(hào)中止讀取,即可以不片允許在讀過程中用復(fù)位信號(hào)中止讀取,即可以不讀后面不需要的字節(jié)以減少讀取時(shí)間。讀后面不需要的字節(jié)以減少讀取時(shí)間。 Copy Scratchpad (將RAM數(shù)據(jù)復(fù)

13、制到EEPROM中)48H 此指令將此指令將RAMRAM中的數(shù)據(jù)存入中的數(shù)據(jù)存入EEPROMEEPROM中,以使數(shù)據(jù)中,以使數(shù)據(jù)掉電不丟失。此后由于芯片忙于掉電不丟失。此后由于芯片忙于EEPROMEEPROM儲(chǔ)存處理,當(dāng)儲(chǔ)存處理,當(dāng)單片機(jī)發(fā)一個(gè)讀時(shí)間隙時(shí),總線上輸出單片機(jī)發(fā)一個(gè)讀時(shí)間隙時(shí),總線上輸出“0”0”,當(dāng)儲(chǔ),當(dāng)儲(chǔ)存工作完成時(shí),總線將輸出存工作完成時(shí),總線將輸出“1”1”。在寄生工作方式。在寄生工作方式時(shí)必須在發(fā)出此指令后立刻用強(qiáng)上拉并至少保持時(shí)必須在發(fā)出此指令后立刻用強(qiáng)上拉并至少保持10MS10MS,來維持芯片工作。來維持芯片工作。Convert T(溫度轉(zhuǎn)換)44H 收到此指令后芯片

14、將進(jìn)行一次溫度轉(zhuǎn)換,將轉(zhuǎn)換收到此指令后芯片將進(jìn)行一次溫度轉(zhuǎn)換,將轉(zhuǎn)換的溫度值放入的溫度值放入RAMRAM的第的第1 1、2 2地址。此后由于芯片忙于地址。此后由于芯片忙于溫度轉(zhuǎn)換處理,當(dāng)單片機(jī)發(fā)一個(gè)讀時(shí)間隙時(shí),總線上溫度轉(zhuǎn)換處理,當(dāng)單片機(jī)發(fā)一個(gè)讀時(shí)間隙時(shí),總線上輸出輸出“0”0”,當(dāng)儲(chǔ)存工作完成時(shí),總線將輸出,當(dāng)儲(chǔ)存工作完成時(shí),總線將輸出“1”1”。在寄生工作方式時(shí)必須在發(fā)出此指令后立刻用強(qiáng)上拉在寄生工作方式時(shí)必須在發(fā)出此指令后立刻用強(qiáng)上拉并至少保持并至少保持500MS500MS,來維持芯片工作,來維持芯片工作。 Recall EEPROM(將EEPROM中的報(bào)警值復(fù)制到RAM)B8H 此指令

15、將此指令將EEPROMEEPROM中的報(bào)警值復(fù)制到中的報(bào)警值復(fù)制到RAMRAM中的中的第第3 3、4 4個(gè)字節(jié)里。由于芯片忙于復(fù)制處理,當(dāng)單個(gè)字節(jié)里。由于芯片忙于復(fù)制處理,當(dāng)單片機(jī)發(fā)一個(gè)讀時(shí)間隙時(shí),總線上輸出片機(jī)發(fā)一個(gè)讀時(shí)間隙時(shí),總線上輸出“0”0”,當(dāng)儲(chǔ),當(dāng)儲(chǔ)存工作完成時(shí),總線將輸出存工作完成時(shí),總線將輸出“1”1”。另外,此指令。另外,此指令將在芯片上電復(fù)位時(shí)被自動(dòng)執(zhí)行。這樣將在芯片上電復(fù)位時(shí)被自動(dòng)執(zhí)行。這樣RAMRAM中的兩中的兩個(gè)報(bào)警字節(jié)位將始終為個(gè)報(bào)警字節(jié)位將始終為EEPROMEEPROM中數(shù)據(jù)的鏡像。中數(shù)據(jù)的鏡像。 Read Power Supply(工作方式切換)B4H 此指令發(fā)

16、出后發(fā)出讀時(shí)間隙,芯片會(huì)返回它的此指令發(fā)出后發(fā)出讀時(shí)間隙,芯片會(huì)返回它的電源狀態(tài)字,電源狀態(tài)字,“0”0”為寄生電源狀態(tài),為寄生電源狀態(tài),“1”1”為外部為外部電源狀態(tài)。電源狀態(tài)。 u DS18B20復(fù)位及應(yīng)答關(guān)系示意圖: u DS18B20讀寫時(shí)間隙: 數(shù)據(jù)讀寫是通過時(shí)間隙處理位和命令字來確認(rèn)信息交換的。l 寫時(shí)間隙: 寫時(shí)間隙分為寫寫時(shí)間隙分為寫“0”0”和寫和寫“1”1”,時(shí)序如,時(shí)序如圖圖7 7。在寫數(shù)據(jù)時(shí)間隙的前。在寫數(shù)據(jù)時(shí)間隙的前15uS15uS總線需要被控總線需要被控制器拉置低電平,而后則將是芯片對(duì)總線數(shù)據(jù)制器拉置低電平,而后則將是芯片對(duì)總線數(shù)據(jù)的采樣時(shí)間,采樣時(shí)間在的采樣時(shí)間,

17、采樣時(shí)間在1560uS1560uS,采樣時(shí)間,采樣時(shí)間內(nèi)如果控制器將總線拉高則表示寫內(nèi)如果控制器將總線拉高則表示寫“1”1”,如,如果控制器將總線拉低則表示寫果控制器將總線拉低則表示寫“0”0”。每一位。每一位的發(fā)送都應(yīng)該有一個(gè)至少的發(fā)送都應(yīng)該有一個(gè)至少15uS15uS的低電平起始位,的低電平起始位,隨后的數(shù)據(jù)隨后的數(shù)據(jù)“0”0”或或“1”1”應(yīng)該在應(yīng)該在45uS45uS內(nèi)完成。內(nèi)完成。整個(gè)位的發(fā)送時(shí)間應(yīng)該保持在整個(gè)位的發(fā)送時(shí)間應(yīng)該保持在60120uS60120uS,否,否則不能保證通信的正常則不能保證通信的正常。 l 讀時(shí)間隙: 讀時(shí)間隙時(shí)控制的采樣時(shí)間應(yīng)該更加的精讀時(shí)間隙時(shí)控制的采樣時(shí)間應(yīng)該更加的精確才行,讀時(shí)間隙時(shí)必須先由主機(jī)產(chǎn)生至少確才行,讀時(shí)間隙時(shí)必須先由主機(jī)產(chǎn)生至少1uS1uS的低電平,表示讀時(shí)間的起始。隨后在總的低電平,表示讀時(shí)間的起始。隨后在總線被釋放后的線被釋放后的15uS15uS中中DS18B20DS18B20會(huì)發(fā)送內(nèi)部數(shù)據(jù)會(huì)發(fā)送內(nèi)部數(shù)據(jù)位,這時(shí)控制如果發(fā)現(xiàn)總線為高電平表示讀出位,這時(shí)控制如果

溫馨提示

  • 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)論