色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

DS18B20驅動程序調試總結

TopSemic嵌入式 ? 來源:TopSemic嵌入式 ? 作者:TopSemic嵌入式 ? 2022-04-03 09:06 ? 次閱讀

DS18B20是一款精度比較好的溫度傳感器,最重要的是它通過一根導線,既完成通訊,又給芯片供電,在MCU引腳數量比較緊張的時候,確實是個不錯的選擇。這顆芯片看起來簡單,但真正讓它跑起來,從里面讀出溫度數據可沒有想象的那么容易。這不,群里的Ryan Wang同學就被折磨得不行。難能可貴的是,在王同學終于搞定它之后,無私地分享出心得和代碼。如果你覺得這篇文章能幫到更多的同學,就幫忙轉發,或點個在看吧。

通過CUBE使能TIM2定時器,Clock Source使用internal Clock,MCU主頻為32Mhz,故Prescaler=32-1=31,Counter Mode為UP,這里注意Counter Period 官方手冊要求最低為1,經測試設置為2時,定時器更為準確。

完成以上配置后,需要在程序手動調整和增加功能代碼:

1. Cube配置TIM2定時器的基礎上,在程序編寫delay_us(uint16_t us)函數,delay_us的精確度將直接影響DS18B20溫度數據的讀取結果。本程序使用了HAL庫(CUBE勾選配置)

voiddelay_us(uint16_tus)
{
/*中斷會打斷微秒延時函數,
*但計數器計數不會停
*防止計數器增加到65535之后重新開始計數
*/
uint16_tdiffer=50000-us;

HAL_TIM_Base_Start(&htim2);
__HAL_TIM_SET_COUNTER(&htim2,differ);

while(differ<50000)
????{
????????differ=__HAL_TIM_GET_COUNTER(&htim2);
????}

????HAL_TIM_Base_Stop(&htim2);
}

2. 注意程序工程中DS18B20.H的定義,及DS18B20.C文件,(同文件夾下附件)其內部函數定義根據DS18B20官方手冊進行操作,DS18B20為one wire 通訊,對時序的要求相對嚴格,DS18B20的數據通訊通過DS18B20的data管腳進行單片機通訊,主要流程為:

1.DS18B20初始化

2.DS18B20接入自檢

3.DS18B20寫0xcc(SKIP ROM)

4.寫0x44(通知傳感器進行溫度數據采集與轉換)

5.DS18B2再次初始化

6.DS18B20再次接入自檢

7.DS18B20寫0xcc(SKIP ROM)(倒序即0011 0011,如下圖左)

8.DS18B20寫0xbe(通知傳感器進行數傳)(倒序0111 1101,下圖右)

9.DS18B20讀一個字節

10.DS18B20再讀一個字節

11.數據的預處理

ee6209e8-b18b-11ec-aa7f-dac502259ad0.png

3. 以上每步操作都需要微秒級延時等待,參考DS18B20官方手冊關于“DS18B20初始化與check”,“寫0”,“寫1”,“讀0”,“讀1”的具體時序要求,注意針對不同MCU的主頻配置,在保證1微秒延時準確的前提下,具體的微秒延時將有所調整;特別注意在讀時序時的延時,針對32MHZ的本機,在DS18B20.C中已做延時調整(參考正點原子DS18B20試驗(72MHZ),使用示波器抓取各個階段波形,結合DS18B20手冊,對比調試,)若時序不對,則讀數一直為0或者85。著重理解DS18B20_data管腳的輸入和輸出模式,拉高和拉低(如DS18B20標準電路要求在data管腳接上拉電阻,那么在管腳IN和OUT模式下,如未人為拉高或拉低,則管腳電平會自動拉高)。

ee826b48-b18b-11ec-aa7f-dac502259ad0.png

eea28ffe-b18b-11ec-aa7f-dac502259ad0.png

eeb6b9a2-b18b-11ec-aa7f-dac502259ad0.png

4. 傳感器選用DS18B20,因外部封裝種類繁多,在此不放鏈接。

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 芯片
    +關注

    關注

    456

    文章

    51157

    瀏覽量

    426572
  • 溫度傳感器
    +關注

    關注

    48

    文章

    2974

    瀏覽量

    156321
  • 定時器
    +關注

    關注

    23

    文章

    3255

    瀏覽量

    115230

原文標題:DS18B20驅動程序調試總結

文章出處:【微信號:TopSemic,微信公眾號:TopSemic嵌入式】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    基于FPGA的溫度傳感器(ds18b20)驅動設計

    本篇主要討論基于FPGA的溫度傳感器(ds18b20驅動設計---第一版 設計實現:利用FPGA驅動DS18b20,讀取到溫度數值顯示到數碼管上。 首先介紹
    的頭像 發表于 01-16 14:08 ?144次閱讀
    基于FPGA的溫度傳感器(<b class='flag-5'>ds18b20</b>)<b class='flag-5'>驅動</b>設計

    《DNESP32S3使用指南-IDF版_V1.6》第二十九章 DS18B20實驗

    DS18B20的通信,并把從溫度傳感器得到的溫度顯示在LCD上。本章分為如下幾個小節:29.1 DS18B20簡介29.2 硬件設計29.3 程序設計29.4 下載驗證 29.1 DS18B
    發表于 12-25 09:43

    CW32模塊使用 DS18B20溫度傳感器

    DS18B20數字溫度傳感器提供9位至12位精度的溫度測量,并具有非易失性用戶可編程上下觸發點報警功能。DS18B20通過單總線通信,根據定義,只需要一條數據線(和地線)即可與單片機通信。此外
    的頭像 發表于 11-26 17:47 ?311次閱讀
    CW32模塊使用 <b class='flag-5'>DS18B20</b>溫度傳感器

    DS18B20溫度傳感器的工作原理和硬件設計

    通過本文可以了解DS18B20溫度傳感器工作原理、硬件設計、DS18B20單總線接口驅動編寫。
    的頭像 發表于 10-24 14:38 ?3333次閱讀
    <b class='flag-5'>DS18B20</b>溫度傳感器的工作原理和硬件設計

    ds18b20傳感器的使用方法

    DS18B20是一種廣泛使用的數字溫度傳感器,它基于1-Wire(單總線)通信協議。這種傳感器因其高精度、易用性和低成本而受到歡迎。 DS18B20傳感器簡介 DS18B20是由Maxim
    的頭像 發表于 10-18 14:52 ?1138次閱讀

    ds18b20溫度傳感器怎么接線

    DS18B20是一種廣泛使用的數字溫度傳感器,它基于1-Wire(一線)通信協議工作。這種傳感器因其高精度、易用性和低成本而受到歡迎。 DS18B20傳感器引腳介紹 DS18B20有三個主要的引腳
    的頭像 發表于 10-18 14:50 ?1824次閱讀

    ds18b20溫度傳感器如何使用

    DS18B20是一款廣泛使用的數字溫度傳感器,它具有高精度、低功耗和易于使用的特點。 DS18B20溫度傳感器簡介 DS18B20是由Maxim Integrated(現為Analog
    的頭像 發表于 09-03 16:51 ?806次閱讀

    ds18b20溫度傳感器是什么類型

    DS18B20溫度傳感器是一種數字溫度傳感器,它屬于單總線(One-Wire)數字溫度傳感器類型。這意味著它僅需要一根數據線(加上電源線和地線,共三根線)就能與微處理器或其他數字電路進行通信。這種
    的頭像 發表于 09-03 16:46 ?1210次閱讀

    ds18b20溫度傳感器和dht11的區別

    DS18B20和DHT11都是常用的溫度和濕度傳感器,它們在許多項目和應用中都有廣泛的應用。 1. 工作原理 DS18B20 DS18B20是一種數字溫度傳感器,它使用1-Wire通信協議與微控制器
    的頭像 發表于 09-03 16:44 ?2005次閱讀

    STC32和STC8H驅動DS18B20測溫串口發送數據

    STC32G12K128 和 STC8H8K64U 驅動 DS18B20 模塊,采集環境溫度并通過串口發送數據至電腦
    的頭像 發表于 06-27 16:27 ?1028次閱讀
    STC32和STC8H<b class='flag-5'>驅動</b><b class='flag-5'>DS18B20</b>測溫串口發送數據

    基于51單片機采集DS18B20多點溫度電路圖及程序元件清單

    本資源內容概要:? ? ? ?這是基于51單片機采集DS18B20多點溫度電路圖及程序設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼(keil軟件打開)、元件清單
    發表于 06-24 17:30 ?0次下載

    DS18B20溫度傳感器工作原理

    DS18B20以其獨特的工作原理、卓越的技術參數和廣泛的應用場景,成為了市場的明星產品。 深入了解DS18B20的工作原理 DS18B20溫度傳感器的工作原理基于熱敏電阻的特性和數字信號轉換。其核心部件是一個熱敏電阻,它的電阻
    的頭像 發表于 06-19 16:01 ?1473次閱讀

    基于51單片機DS18B20溫度檢測上下限報警proteus仿真

    本資源內容概要:? ? ? ?這是基于51單片機DS18B20溫度檢測上下限報警proteus仿真及電路圖程序元件清單設計包含了電路圖源文件(Altiumdesigner軟件打開)、C語言程序源代碼
    發表于 06-18 10:13 ?1次下載

    基于STC8H8K64U和DS18B20的溫度采集和LabVIEW上位機顯示

    之前通過 STC 單片機和 DS18B20 實現了環境溫度采集并串口顯示,后面進一步想要實現溫度的實時監測和數據記錄保存,因此編寫了 LabVIEW 程序,修改了部分單片機程序代碼。經過實驗驗證
    發表于 04-08 12:28

    DS18B20溫度傳感器的優缺點

    可編程寄存器:DS18B20內部具有可編程寄存器,允許用戶對其進行配置和控制,以滿足不同的應用需求。
    發表于 04-04 11:39 ?4784次閱讀
    主站蜘蛛池模板: 精品精品国产自在现拍 | 久久婷婷色香五月综合激情 | 久久人妻AV一区二区软件 | 久热人人综合人人九九精品视频 | 风情韵味人妻HD | 在线免费观看毛片 | 中文乱码35页在线观看 | 99久久久无码国产精精品 | 天堂在线亚洲精品专区 | 国产99久久九九精品无码不卡 | 国产精品久久久精品a级小说 | 夜色私人影院永久入口 | 99热久这里都是精品小草 | 伊人久久精品午夜 | 亚洲免费国产在线日韩 | 久久99re2在线视频精品 | 日本xxxx96| 欧美一区二区VA毛片视频 | 97超级碰碰人妻中文字幕 | 在线观看国产高清免费不卡 | 在线亚洲国产日韩欧洲专区 | 男人到天堂a线牛叉在线 | 四虎永久在线精品国产免费 | 日韩在线av免费视久久 | 免费韩国伦理2017最新 | 坠落的丝袜美人妻 | 日本电影免费久久精品 | 99久久就热视频精品草 | 欧美A级肉欲大片XXX | 亚洲色欲啪啪久久WWW综合网 | 打扑克床上视频不用下载免费观看 | 我的漂亮朋友在线观看全集免费 | 久久精品麻豆国产天美传媒果冻 | 精品国产福利在线视频 | 日本伦理电影聚 | 最近免费中文字幕MV免费高清 | 日日噜噜噜噜夜夜爽亚洲精品 | 亚洲精品AV无码重口另类 | 国精产品一区一区三区有限在线 | 久久91精品国产91久 | 国产精品日本不卡一区二区 |