欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: 10分鐘理解DS18B20數(shù)字溫度計(jì)模塊 [打印本頁]

作者: ppptalk    時(shí)間: 2018-4-11 15:57
標(biāo)題: 10分鐘理解DS18B20數(shù)字溫度計(jì)模塊
1. 明確目的


DS18B20是美國DALLA半導(dǎo)體公司推出的一種數(shù)字化單總線器-數(shù)字溫度計(jì)。既然是數(shù)字溫度計(jì),那么它一定具備這樣的能力-把周圍環(huán)境的溫度信號轉(zhuǎn)換成數(shù)字信號。那么這個(gè)轉(zhuǎn)換的結(jié)果放到哪里去了呢?存放到了一個(gè)叫做Scratchpad的上面,這個(gè)Scratchpad是什么意思不用去管它,只需要知道它是一個(gè)SRAM就可以了。這個(gè)Scratchpad一共有9個(gè)字節(jié)(BYTE0~BYTE8),轉(zhuǎn)換的數(shù)字信息就存放在BYTE0和BYTE1,如下圖所示。所以,目的就很明確了,對于DS18B20模塊就是去讀Scratchpad的BYTE0和BYTE1.




2. 思路分析


現(xiàn)在目的已經(jīng)知道了,就是讀Scratchpad(read scratchpad)的BYTE0和BYTE1. 那么怎么樣Read Scratchpad呢?當(dāng)然是去查看DS18B20的芯片手冊了。閱讀說明書你會發(fā)現(xiàn)Read Scratchpad是一個(gè)功能命令(DS18B20 FUNCTION COMMANDS),類似的還有其他很多功能命令,如下圖所示:




說明書上已經(jīng)講的非常清楚了,要求每次在訪問DS18B20的時(shí)候一定要遵循以下步驟,如下所示,






簡單的講,你想發(fā)送一個(gè)功能命令Read Scratchpad, 那必須在它前面加兩步,初始化命令(Initialization)和ROM命令(ROM Command)。初始化命令只有一個(gè),很容易確定,但是ROM命令有多個(gè),需要找到一個(gè)與功能命令Read Scratchpad相匹配的ROM命令。如果總線上只有一個(gè)DS18B20模塊,選擇Skip ROM就可以了。
這樣整個(gè)步驟就很簡單了,先初始化,然后發(fā)送skip rom命令,緊接著發(fā)送read scratchpad命令,然后開始接收DS18B20傳送的數(shù)據(jù),第0和第1個(gè)字節(jié)就是我們所需要的。這樣讀出來的全部是0和1組成的信號,我們還需要將這些0和1組成的信號翻譯成“溫度值”。怎么樣翻譯,去查看說明書上的溫度-數(shù)據(jù)對應(yīng)表就可以了,如下所示:






注意這個(gè)表中的數(shù)據(jù)是補(bǔ)碼形式,如果你只是考慮溫度為正的情況,那么就不用去管原碼,反碼和補(bǔ)碼了。因?yàn)閷τ谡龜?shù)的原碼,反碼和補(bǔ)碼都是一樣的。


如果讀寫操作正確的話,此時(shí)計(jì)算出來的溫度應(yīng)該是+85攝氏度。通過這個(gè)值可以判斷你的讀寫程序和溫度計(jì)算過程是否正確。那么為什么是+85攝氏度呢?在一上電的時(shí)候,DS18B20處在一個(gè)"idle state",簡單的講就是它沒有工作,沒有采集周圍環(huán)境的溫度。Scratchpad的BYTE0和BYTE1里面放的默認(rèn)值是+85,所以你讀到的其實(shí)是它的默認(rèn)值。如果你想讓DS18B20開始工作,那么很簡單,發(fā)送一個(gè)Convert T命令就可以了。注意Convert T也是一個(gè)功能命令(Function Command),同樣的按照前面的規(guī)則,給它添加初始化命令和ROM命令。


這樣整個(gè)過程是不是完了呢?注意DS18B20完成溫度的采集和轉(zhuǎn)換是需要時(shí)間的,好比你敲隔壁的門,那你發(fā)出“敲門”這個(gè)命令后,你同學(xué)過來開門是需要時(shí)間的,在這個(gè)過程中你要做的事情就是等待。同樣的,當(dāng)你發(fā)送一個(gè)Convert T命令后,你需要等待DS18B20完成溫度采集和轉(zhuǎn)換的工作。那么等待多長呢,這個(gè)與你設(shè)置精度有關(guān),精度越高,需要的時(shí)間越長,最多不超過750ms。當(dāng)然這個(gè)過程中,你也可以采用忙信號檢測的方式來判斷。

3. 操作步驟


這樣整個(gè)操作步驟就非常簡單了,
  1. (1) initial                       (DS18B20初始化)
  2. (2) skip rom
  3. (3) convert T                 (讓DS18B20開始工作采集周圍溫度)
  4. (4) busy check              (等待DS18B20完成采集)
  5. (5)  initial                        (DS18B20初始化)
  6. (6) skip rom
  7. (7) read scratchpad       (發(fā)送讀scratchpad命令)
  8. (8) rcv data                     (接收DS18B20傳過來的數(shù)據(jù))
  9. (9) cal                             (計(jì)算溫度值)
  10. (10) display                    (把這個(gè)值顯示出來)
復(fù)制代碼


4. 參考代碼

DS18B20參考代碼.rar (50.62 KB, 下載次數(shù): 238)





上一篇:

10分鐘理解LCD1602液晶顯示模塊
10分鐘理解LCD1602如何顯示自定義字符
10分鐘理解OLED顯示模塊




作者: 15931666846    時(shí)間: 2018-4-11 17:36
很給力!
作者: 無時(shí)崩潰    時(shí)間: 2018-4-11 18:38
感謝樓主分享
作者: 那就微笑吧    時(shí)間: 2018-4-11 19:44
厲害厲害
作者: whdiy751124    時(shí)間: 2018-4-13 17:25
學(xué)習(xí)學(xué)習(xí)
作者: 一笑、    時(shí)間: 2018-4-13 20:06
給力      
作者: chaoself    時(shí)間: 2018-4-14 08:13
很給力!
作者: dicdoctor    時(shí)間: 2018-4-20 14:01
很有用謝謝。

作者: luxujin    時(shí)間: 2018-4-20 20:03
很有用謝謝。
作者: liuwenwu    時(shí)間: 2018-4-21 10:06
謝謝!剛好用到
作者: VVSuperman    時(shí)間: 2018-4-21 19:44
總結(jié)的不錯(cuò)

作者: yzh123    時(shí)間: 2018-4-23 11:43
感謝樓主分享
作者: love1120909472    時(shí)間: 2018-4-23 16:28
謝謝分享
作者: 虛妄XW    時(shí)間: 2018-4-23 21:39
正在學(xué)習(xí)這個(gè)溫度傳感器,感謝樓主分享
作者: 青青之歌    時(shí)間: 2018-4-23 23:21
講得很通俗易懂
作者: ZXHREG    時(shí)間: 2018-4-24 22:07
簡單

作者: 貝貝屋    時(shí)間: 2018-4-25 08:45
新手路過?纯磳W(xué)習(xí)下。。。。

作者: 此人ID不合法    時(shí)間: 2018-4-25 22:22
新人學(xué)習(xí)了
作者: qq383570990    時(shí)間: 2018-4-26 11:26

很給力!
作者: 心有天下    時(shí)間: 2018-4-26 15:39
還有很多疑惑,希望讀完作者的思路。非常感謝樓主。
作者: Juneral    時(shí)間: 2018-4-26 17:52
不錯(cuò)的見解
作者: wu307105    時(shí)間: 2018-4-26 20:35
學(xué)到了謝謝
作者: jfb18331619    時(shí)間: 2018-4-27 11:47
好文章啊
作者: xushu1113551892    時(shí)間: 2018-4-27 13:02
新手路過
作者: kingdream    時(shí)間: 2018-4-27 14:01
很詳細(xì),還是覺得第一個(gè)圖6啊
作者: 51heiRay    時(shí)間: 2018-4-28 18:12
漲知識
作者: 740014566    時(shí)間: 2018-4-29 11:03
學(xué)習(xí)下
作者: middfat    時(shí)間: 2018-4-29 12:20
好好學(xué)習(xí),天天控制……
作者: aa11水喵    時(shí)間: 2018-5-1 22:29

感謝樓主分享!
作者: MJX74FBI    時(shí)間: 2018-5-1 22:44
寫的真好,樓主下回功夫了。
作者: 5f688    時(shí)間: 2018-5-2 15:18
理解一下
作者: f193876392    時(shí)間: 2018-5-2 16:22
看一下

作者: raymondau    時(shí)間: 2018-5-2 16:36
學(xué)習(xí)一下,放分享
作者: 2669020082    時(shí)間: 2018-5-2 16:59
學(xué)習(xí)學(xué)習(xí)學(xué)習(xí)
作者: 吖吖love    時(shí)間: 2018-5-2 19:39
正需要啊,學(xué)習(xí)到了

作者: lixinren45    時(shí)間: 2018-5-2 21:03
學(xué)習(xí)一下.
作者: cy_0211    時(shí)間: 2018-5-5 23:08
看看,,,,,,,
作者: 猛虎將軍    時(shí)間: 2018-5-6 13:36
好東西,謝謝分享
作者: benbird2011    時(shí)間: 2018-5-6 20:27
之前寫了個(gè)單1820的 現(xiàn)在需要個(gè)雙1820的
作者: qwertyui123    時(shí)間: 2018-5-6 23:22
看一看看
作者: yzcde    時(shí)間: 2018-5-6 23:33
學(xué)習(xí)了
作者: wx13808433053    時(shí)間: 2018-5-6 23:50
想學(xué)習(xí)這個(gè),謝謝樓主
作者: 0858dll    時(shí)間: 2018-5-7 08:48
了解了解
作者: zhangyaolu    時(shí)間: 2018-5-7 16:57
聽說回復(fù)才能看到
作者: 18942352071    時(shí)間: 2018-5-9 17:50
想要,畢設(shè)做不出來,要哭了
作者: wxsky1997    時(shí)間: 2018-5-10 19:53
感謝分享
作者: qltk    時(shí)間: 2018-5-11 08:58
描述的非常通俗易懂,謝謝。!
作者: lon7085    時(shí)間: 2018-5-11 10:30
感謝樓主分享

作者: vstcg    時(shí)間: 2018-5-12 22:36
真的很清楚
作者: 黑人盤子    時(shí)間: 2018-5-12 23:31
之前就想過類似的做法就是找不到好的傳感器,講的很不錯(cuò)的
作者: 玩什么玩學(xué)習(xí)去    時(shí)間: 2018-5-13 09:32
厲害厲害
作者: wuzixu    時(shí)間: 2018-5-13 20:12
講得很好
作者: 獨(dú)家記憶12138    時(shí)間: 2018-5-14 13:22
支持樓主
作者: w963135423    時(shí)間: 2018-5-14 14:22
寫的不錯(cuò),比網(wǎng)上查的更容易理解
作者: lxd951214    時(shí)間: 2018-5-14 21:31
10分鐘理解DS18B20數(shù)字溫度計(jì)模塊
作者: 秋高氣爽112233    時(shí)間: 2018-5-14 23:44
學(xué)習(xí)學(xué)習(xí)
作者: Live電子    時(shí)間: 2018-5-15 09:24
正要弄溫度計(jì),學(xué)習(xí)了
作者: 劉廣書    時(shí)間: 2018-5-15 10:06
謝謝分享
作者: 564    時(shí)間: 2018-5-16 09:16
正在學(xué)習(xí)中
作者: 564    時(shí)間: 2018-5-16 09:18
樓主給力,學(xué)習(xí)學(xué)習(xí)
作者: 花花21    時(shí)間: 2018-5-17 09:08
學(xué)習(xí)真的很有用
作者: tanyaming    時(shí)間: 2018-5-17 10:44
非常好的分享
作者: lzl881005    時(shí)間: 2018-5-18 10:36
非常的詳細(xì),支持樓主
作者: nameddd    時(shí)間: 2018-5-21 15:27
感謝分享
作者: YeHanWei    時(shí)間: 2018-5-21 19:55
講得挺好的,不知道為什么移植到其他板后,初始化總是有錯(cuò)
作者: zhangtutu    時(shí)間: 2018-5-22 06:28
大佬大佬
作者: 西門米粉兒    時(shí)間: 2018-5-22 09:28
感謝分享
作者: Jokera    時(shí)間: 2018-5-22 12:53
樓主好厲害,總結(jié)的太到位了!
作者: HEIYOUB    時(shí)間: 2018-5-22 22:17
真的想了解這個(gè)芯片,不然這個(gè)項(xiàng)目會做的稀里糊涂的

作者: 5314039    時(shí)間: 2018-5-22 23:16
謝謝分享
作者: 1933823644    時(shí)間: 2018-5-23 00:48
厲害厲害
作者: kltws    時(shí)間: 2018-5-23 19:09
不錯(cuò)的分享

作者: JokerMOMO    時(shí)間: 2018-5-24 16:44
棒棒噠
作者: LWSZ    時(shí)間: 2018-5-25 09:13
學(xué)習(xí) 學(xué)習(xí)
作者: yimiba    時(shí)間: 2018-5-25 09:44
感謝分享
作者: jason005    時(shí)間: 2018-5-25 11:21
感謝樓主分享
作者: jason005    時(shí)間: 2018-5-25 11:22
感謝樓主分享
作者: jason005    時(shí)間: 2018-5-25 11:23

感謝樓主分享
作者: tt98    時(shí)間: 2018-5-25 20:47
用這個(gè)芯片成本太高了,做產(chǎn)品要是對精度沒有太大要求的話還是用NTC劃算!
作者: lichengjie2015    時(shí)間: 2018-5-25 23:39
厲害了
作者: 老胖熊    時(shí)間: 2018-5-26 15:23
講的很清楚
作者: 萬般皆下品    時(shí)間: 2018-5-28 22:24
來學(xué)習(xí)學(xué)習(xí)
作者: smartphone    時(shí)間: 2018-5-28 22:50
謝謝 慢慢學(xué)習(xí)
作者: 807874484    時(shí)間: 2018-5-29 13:21
感謝

作者: BigWheels    時(shí)間: 2018-6-3 22:32
謝謝講授
作者: 837657313    時(shí)間: 2018-6-4 07:57
講的很清楚
作者: zsyzdx    時(shí)間: 2018-6-6 22:13
感謝樓主。。。。。。。。。。。。。。。。。。。。。。。。。。。!
作者: swzz    時(shí)間: 2018-6-7 16:01
正要學(xué)習(xí)18b20,謝謝
作者: 78336478    時(shí)間: 2018-6-7 19:32
6666666
作者: 轉(zhuǎn)角遇到dogs    時(shí)間: 2018-6-10 16:06
好資料,感謝
作者: manpingshui    時(shí)間: 2018-6-10 20:45
在哪呢我沒看見啊

作者: 杰克汗    時(shí)間: 2018-6-11 00:45
超級厲害很詳細(xì)
作者: yuki_ring    時(shí)間: 2018-6-11 08:23
很詳細(xì),初步了解了,謝謝樓主
作者: dingqinhong    時(shí)間: 2018-6-24 11:12
感謝樓主分享 對我來說很有用
作者: 天霸動霸成    時(shí)間: 2018-6-24 22:12
66666666
作者: 沈經(jīng)理    時(shí)間: 2018-6-24 22:57
寫的很好,簡潔明了
作者: gogo7707    時(shí)間: 2018-6-25 12:49
剛寫樓主分享
作者: 聽雪    時(shí)間: 2018-6-25 15:09
DS18B20傳感器剛好用到
作者: SKU    時(shí)間: 2018-6-25 17:55
看一看,瞧一瞧
作者: kkxyjf    時(shí)間: 2018-6-25 20:10
想看,想學(xué)習(xí)!




歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1