版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、Ds18b20使用編輯課件一、ds18b20介紹溫度傳感器的種類眾多,在應(yīng)用于高精度、高可靠性的場(chǎng)合時(shí) DALLAS(達(dá)拉斯)公司生產(chǎn)的 DS18B20 溫度傳感器當(dāng)仁不讓。超小的體積,超低的硬件開(kāi)消,抗干擾能力強(qiáng),精度高,附加功能強(qiáng),使得 DS18B20 更受歡迎。編輯課件二,ds18b20實(shí)物與示例圖編輯課件二,ds18b20特點(diǎn)與主機(jī)相互通信,只需要一根導(dǎo)線;出廠時(shí),任何一個(gè)ds18b20在其ROM中都有存儲(chǔ)自己唯一的一個(gè)64位的serial code;Vcc接地時(shí),可以只由信號(hào)線,獲取能量,電壓為3.3v-5v;溫度轉(zhuǎn)換范圍為-55 +125(67F to +257F);在-10 +8
2、5之間,轉(zhuǎn)換精確度為0.5;轉(zhuǎn)換分辨率,912位(用戶可控);編輯課件當(dāng)轉(zhuǎn)換分辨率為12位時(shí),最大轉(zhuǎn)換時(shí)間為750ms;用戶可定義的,非易失性(及斷電不消失)的高低警報(bào)溫度設(shè)置;可選擇的 8-pin SO (150mil), 8-pin SOP, 和 3-pin TO-92 封裝;軟件協(xié)議與ds1822兼容;在溫度控制,工業(yè)系統(tǒng),日常消費(fèi)品,等領(lǐng)域廣泛使用。編輯課件三,特點(diǎn)詳述Ds18b20提供了912位精度的溫度轉(zhuǎn)換功能,以及非易失性的高低溫度報(bào)警;Ds18b20與主機(jī)交換信息時(shí)最少只需要一根數(shù)據(jù)線(當(dāng)然地線必須接地);-55 +125轉(zhuǎn)換,在-10 +85之間精度為0.5Ds18b20可以
3、僅由數(shù)據(jù)線獲取power(因?yàn)閐s18b20內(nèi)部有一個(gè)寄生電容在數(shù)據(jù)線為3.3-5v時(shí)存儲(chǔ)power,當(dāng)數(shù)據(jù)線為低電平時(shí)為其供電)而不需要外接電源;編輯課件任何一個(gè)ds18b20,都有僅屬于自己的一個(gè)64位的識(shí)別碼,這使得,可以有多個(gè)ds18b20通過(guò)一條數(shù)據(jù)線與主機(jī)相連并發(fā)揮功能,換句話說(shuō),也就是一個(gè)主機(jī),可以通過(guò)一條數(shù)據(jù)線,同時(shí)控制多個(gè)ds18b20進(jìn)行工作(可以在大范圍,多地點(diǎn)溫度采集控制中使用);編輯課件四,ds18b20內(nèi)部構(gòu)造綜述Ds18b20內(nèi)部構(gòu)造框架圖為:編輯課件64位ROM存儲(chǔ)了ds18b20的唯一的序列碼:高速暫存寄存器包含了2byte的溫度存儲(chǔ)器,用來(lái)存儲(chǔ)ds18b20
4、溫度轉(zhuǎn)換得到的數(shù)據(jù);編輯課件非易失性的警報(bào)觸發(fā)存儲(chǔ)器,用來(lái)存儲(chǔ)高低警報(bào)溫度T_high與T_low;configuration register:用戶對(duì)其操作,可以控制ds18b20的轉(zhuǎn)換精度;編輯課件Ds18b20存在一個(gè)內(nèi)部電容Cpp,起到寄生電源的作用;這使得,ds18b20的Vdd接地時(shí),依然可以通過(guò)數(shù)據(jù)線,獲取power,當(dāng)DQ為高電平時(shí),Cpp充電,當(dāng)DQ為低電平時(shí),Cpp放電,為ds18b20提供能量;編輯課件五,溫度寄存器Ds18b20內(nèi)部有一個(gè)2byte的高速暫存寄存器,用來(lái)存儲(chǔ)ds18b20轉(zhuǎn)換得到的溫度數(shù)據(jù);編輯課件溫度寄存器格式如圖;其中高位字節(jié)中的bit11-bit1
5、5這五位用來(lái)表示溫度的正負(fù);即s=0時(shí),表示溫度為正值;S=1時(shí),表示溫度為負(fù)值;編輯課件Ds18b20有用戶可控的9-12位轉(zhuǎn)換精度;當(dāng)轉(zhuǎn)換精度為12位時(shí),如圖,由bit0-bit11存儲(chǔ)(符號(hào)也算一位)。轉(zhuǎn)換精度為11位時(shí),bit0不再使用;轉(zhuǎn)換精度為10位時(shí),bit0,bit1不再使用;轉(zhuǎn)換精度為9位時(shí),bit0-bit2不再使用;編輯課件12位轉(zhuǎn)換精度時(shí)的存儲(chǔ)示例圖:12位轉(zhuǎn)換精度時(shí),即最小分辨率為0.0625負(fù)數(shù)存儲(chǔ)時(shí)采用補(bǔ)碼方式;編輯課件這里有一點(diǎn)需要主要的是:Ds18b20溫度存儲(chǔ)器是高速暫存,也就是說(shuō),ds18b20掉電時(shí),這個(gè)數(shù)據(jù)將會(huì)丟失。Ds18b20上電復(fù)位時(shí),溫度存儲(chǔ)器
6、中內(nèi)容,默認(rèn)為+85。所以,使用ds18b20時(shí),如果在溫度顯示之前,沒(méi)有來(lái)的及進(jìn)行一次轉(zhuǎn)換完成,那么就會(huì)看到一個(gè)85的短暫顯示。編輯課件六,警報(bào)信號(hào)每當(dāng)ds18b20完成一次溫度轉(zhuǎn)換后,都會(huì)將得到的數(shù)據(jù)與兩個(gè)警報(bào)存儲(chǔ)器中的數(shù)據(jù)進(jìn)行比較。編輯課件與TH(或TL)中的bit7-bit0,相對(duì)應(yīng)的是溫度存儲(chǔ)器中的bit11-bit4,兩者進(jìn)行比較;當(dāng)溫度TH或480us以上,然后釋放數(shù)據(jù)線(即使其變?yōu)楦唠娖剑?560us等待后,ds18b20將數(shù)據(jù)線拉低60-240us作為應(yīng)答,然后釋放數(shù)據(jù)線,等待與應(yīng)對(duì)整個(gè)過(guò)程應(yīng)該480us以上.整個(gè)初始化完成。編輯課件初始化時(shí)序:編輯課件所對(duì)應(yīng)的程序:voi
7、d dsinit() uint i; ds=0; i=60; while(i 0) i-; /延時(shí)523us(datasheet要求480us) ds=1; i=4; while(i 0) i-; 編輯課件/*ds18b20wait函數(shù)void dswait() uint i; /while(ds); /這行無(wú)用,反而容易出現(xiàn)錯(cuò)誤,可注釋掉 while(!ds); /檢測(cè)到應(yīng)答脈沖 i=60; while(i 0) i-; /延時(shí),因?yàn)閐s18b20會(huì)拉低dq約240us,切RX時(shí)間不小于480us編輯課件十一,ROM cmdROM CMD作為step2,是主機(jī)對(duì)ds18b20的64序列碼的操
8、作,保證在數(shù)據(jù)線上有一個(gè)以上ds18b20時(shí),能找到選定其中的一個(gè)。這些命令也可以使主機(jī)檢測(cè)有多少或什么樣的device在數(shù)據(jù)線上,以及是否有device處于了警報(bào)狀態(tài)。主機(jī)必須確保在進(jìn)行ds18b20功能命令前,先進(jìn)行一個(gè)rom cmd。編輯課件所有的rom cmdSEARCH ROM F0hREAD ROM 33h MATCH ROM 55h SKIP ROM CChALARM SEARCH ECh 編輯課件具體各命令作用祥看datasheet。因?yàn)檫@里,我們只外接一個(gè)ds18b20,不需要進(jìn)行64位序列碼確認(rèn)。也沒(méi)有警報(bào)功能。所以,只需要進(jìn)行skip ROMcch命令即可。程序中該語(yǔ)句為
9、writebyte(0 xcc);/skip rom cmd編輯課件十二,ds18b20功能命令這些命令可以使主機(jī)對(duì)ds18b20的高速暫存寄存器中某些寄存器進(jìn)行讀寫(xiě)、開(kāi)啟一次溫度轉(zhuǎn)換以及檢測(cè)電源供應(yīng)方式。編輯課件所有的功能命令:CONVERT T 44h 溫度轉(zhuǎn)換命令WRITE SCRATCHPAD 4Eh READ SCRATCHPAD BEh COPY SCRATCHPAD 48h RECALL E2 B8h READ POWER SUPPLY B4h編輯課件編輯課件這里,我們只需要啟動(dòng)溫度轉(zhuǎn)換和讀取結(jié)果兩個(gè)命令;程序中: writebyte(0 x44); /convert T cmd
10、 writebyte(0 xbe); /read scratchpad cmd編輯課件程序:?jiǎn)?dòng)一次溫度轉(zhuǎn)換的完整程序/向ds18b20發(fā)送溫度轉(zhuǎn)換指令void sendchangecmd() dsinit(); /初始化ds18b20 dswait(); /等待da18b20回應(yīng) writebyte(0 xcc); /skip rom cmd writebyte(0 x44); /convert T cmd編輯課件讀取溫度結(jié)果的命令順序:/向ds18b20讀取數(shù)據(jù)命令void sendreadcmd() dsinit(); dswait(); writebyte(0 xcc);/skip r
11、om cmd writebyte(0 xbe); /read scratchpad cmd編輯課件其他操作順序,可以詳看datasheet,圖11,講解很詳細(xì)。我們這里只是最簡(jiǎn)單的應(yīng)用。編輯課件十三,write time slot主機(jī)在write time slot時(shí)對(duì)ds18b20進(jìn)行寫(xiě)操作;很顯然,write有兩種情況:Write 1 and write 0;無(wú)論是write 1 or write 0 ,write slot 最少持續(xù)60us 。而且,兩次write 之間,間隔必須大于1us ,作為recover time;編輯課件Write 1:首先,主機(jī)將數(shù)據(jù)線拉低,并在15us之內(nèi)釋
12、放數(shù)據(jù)線;當(dāng)釋放數(shù)據(jù)先后,主機(jī)將數(shù)據(jù)線拉高保持45us編輯課件Write 0:很簡(jiǎn)單,只需要主機(jī),將數(shù)據(jù)線拉低,并保存60us以上即可;編輯課件編輯課件程序:void writebyte(uchar dat) uint i; uchar j; bit b; for(j = 0;j = 1; if(b) /寫(xiě)“1” ,將ds拉低15us后,在15us60us內(nèi)將ds拉高,即完成寫(xiě)1 ds = 0; i+; i+; /拉低約6us,符合 0) i-; /延時(shí)約64us ,與前6us相加60us else /寫(xiě)“0”,將ds拉低60us-120us ds = 0; i = 8; while(i 0)
13、 i-; /延時(shí)約72us ds = 1; i+;i+; /整個(gè)寫(xiě)“0”過(guò)程已經(jīng)超過(guò)60us,這里就不需要延時(shí)太長(zhǎng)了 編輯課件這里要注意一下 b = dat & 0 x01; dat = 1;這使得b依次取到dat的八位(有低位到高位)這是因?yàn)?,ds18b20讀寫(xiě)時(shí),均采取由低位到高位的順序編輯課件十四,read time slots只有主機(jī)開(kāi)始read time slot時(shí),ds18b20才能向主機(jī)傳送信息;Therefore, the master must generate read time slots immediately after issuing a Read Scratchp
14、ad BEh or Read Power Supply B4h command, so that the DS18B20 can provide the requested data;編輯課件與write 一樣,read time slots 最少需要持續(xù)60us以上,而且兩次read之間最少需要1us的間隔即recover time;一個(gè)read time slot 是由主機(jī)拉低數(shù)據(jù)位開(kāi)始的;主機(jī)拉低數(shù)據(jù)位最少需要1us(即1us;Ds18b20傳輸出來(lái)的數(shù)據(jù),在主機(jī)拉低數(shù)據(jù)線后15us時(shí)有效,所以,主機(jī)必須在拉低數(shù)據(jù)線后15us以內(nèi)釋放數(shù)據(jù)線,并在即將到15us時(shí),對(duì)數(shù)據(jù)線上的值進(jìn)行采集;
15、編輯課件編輯課件編輯課件看15,16圖,也就是說(shuō),主機(jī)采集數(shù)據(jù)線上數(shù)據(jù)時(shí),最好盡量靠近15us末尾時(shí);編輯課件程序:bit readbit() uint i; bit b; ds = 0; i+; /延時(shí)約8us 符合至少1us ds = 1; i+; i+; /延時(shí)6us 符合在15us內(nèi)取樣 b = ds; i = 8; while(i 0) i-; /延時(shí)約64us 符合讀時(shí)隙不小于60us return b;編輯課件在readbit基礎(chǔ)上得到readbyte的程序:uchar readbyte() uint i; uchar j,dat; dat = 0; for(i = 0;i 8;
16、i+) j = readbit(); /最先讀出的為低位dat = (j 1); return dat ;編輯課件注意 j = readbit(); /最先讀出的為低位dat = (j 1);通過(guò)移位和或操作,將得到的bit,按照先低位后高位的順序組成一個(gè)byte;編輯課件附錄:程序:/*ds18b20init函數(shù)void dsinit() uint i; ds=0; i=60; while(i 0) i-; /延時(shí)523us(datasheet要求480us) ds=1; i=4; while(i 0) i-;編輯課件/*ds18b20wait函數(shù)void dswait() uint i;
17、/while(ds); /while(!ds); /檢測(cè)到應(yīng)答脈沖 i=60; while(i 0) i-; /延時(shí),因?yàn)閐s18b20會(huì)拉低dq約240us,切RX時(shí)間不小于480us編輯課件/*向DS18B20讀取一位數(shù)bit readbit() uint i; bit b; ds = 0; i+; /延時(shí)約8us 符合至少1us ds = 1; i+; i+; /延時(shí)6us 符合在15us內(nèi)取樣 b = ds; i = 8; while(i 0) i-; /延時(shí)約64us 符合讀時(shí)隙不小于60us return b;編輯課件/*向ds18b20讀取一個(gè)字節(jié),使用readbit()ucha
18、r readbyte() uint i; uchar j,dat; dat = 0; for(i = 0;i 8;i+) j = readbit(); /最先讀出的為低位dat = (j 1); return dat ;編輯課件/*向ds18b20寫(xiě)一字節(jié)數(shù)據(jù)void writebyte(uchar dat) uint i; uchar j; bit b; for(j = 0;j = 1;if(b) /寫(xiě)“1” ,將ds拉低15us后,在15us60us內(nèi)將ds拉高,即完成寫(xiě)1 ds = 0; i+;i+; /拉低約6us,符合 0) i-; /延時(shí)約64us ,與前6us相加60uselse /寫(xiě)“0”,將ds拉低60us
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 工會(huì)減肥活動(dòng)方案策劃(3篇)
- 庭院吊橋施工方案(3篇)
- 內(nèi)分泌代謝護(hù)理培訓(xùn)課件
- 環(huán)保設(shè)施運(yùn)行保養(yǎng)管理制度(3篇)
- 疫情時(shí)代企業(yè)薪金管理制度(3篇)
- 破冰活動(dòng)策劃方案名稱(3篇)
- 綠色森林物業(yè)管理制度(3篇)
- 裝飾裝修工程現(xiàn)場(chǎng)管理制度(3篇)
- 酒店化學(xué)管理制度及流程(3篇)
- 《GAT 738.3-2007保安服務(wù)管理信息規(guī)范 第3部分:保安服務(wù)對(duì)象編碼》專題研究報(bào)告深度
- 《創(chuàng)新創(chuàng)業(yè)基礎(chǔ)》課件-項(xiàng)目1:創(chuàng)新創(chuàng)業(yè)基礎(chǔ)認(rèn)知
- 2026年初一寒假體育作業(yè)安排
- 物流行業(yè)運(yùn)輸司機(jī)安全駕駛與效率績(jī)效評(píng)定表
- 2026北京市通州區(qū)事業(yè)單位公開(kāi)招聘工作人員189人筆試重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 2025~2026學(xué)年山東省菏澤市牡丹區(qū)第二十一初級(jí)中學(xué)八年級(jí)上學(xué)期期中歷史試卷
- 2026國(guó)家統(tǒng)計(jì)局儀征調(diào)查隊(duì)招聘輔助調(diào)查員1人(江蘇)考試參考試題及答案解析
- 水利工程施工質(zhì)量檢測(cè)方案
- 2025年北京高中合格考政治(第一次)試題和答案
- 卵巢類癌診治中國(guó)專家共識(shí)(2025年版)
- 中國(guó)農(nóng)業(yè)科學(xué)院2026年度第一批統(tǒng)一公開(kāi)招聘筆試考試參考試題及答案解析
- 飼料運(yùn)輸合同范本
評(píng)論
0/150
提交評(píng)論