《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 1-Wire溫度傳感器的快速編程
1-Wire溫度傳感器的快速編程
摘要: 一般來說,總線數越少,連接就越簡單,因而串行總線嵌入式元件在許多應用場合頗受歡迎。但正因為只有1根線,該類元件的編程要緊扣硬件和時鐘,難度大于I2C總線和SPI總線。本文以數字溫度傳感器DSl8B20為例,介紹一種實用和簡單的編程方案。
Abstract:
Key words :

  引 言

  一般來說,總線數越少,連接就越簡單,因而串行總線嵌入式元件在許多應用場合頗受歡迎。但正因為只有1根線,該類元件的編程要緊扣硬件和時鐘,難度大于I2C總線和SPI總線。本文以數字溫度傳感器DSl8B20為例,介紹一種實用和簡單的編程方案。

  1 DS18B20的精簡編程考慮

  測溫分辨率:通過設置配置寄存器,DS18B20有0.5℃、0.25℃、0.125℃和0.062 5℃幾種溫度可供選擇。如果不作選擇,缺省值為12位,即最高分辨率0.062 5℃,這樣可省去相關寫EEPROM的命令。圖1為溫度格式。

  溫度報警高限TH和低限TL:如果設置了TH和TL,DS18B20將在溫度高于TH或低于TL時做出響應。這要用到寫入EEPROM的命令,將可改寫RAM(Scratchpad RAM)拷入EEPROM。其實,在很多應用場合,這樣的報警設置完全可以在MASTER(如單片機)中完成,從而節省DS18B20的編程。這只要不使用報警搜索命令(Alarm search command)即可。

  光刻ROM(lasered ROM)命令:一共有6個。對于只要單個DS18B20的場合,如果不考慮讀ROM中的序列號代碼,不允許報警等功能,只要進行測溫的話,用一個跳過ROM(Skip ROM)命令就足夠了。

  RAM有關的命令:一共有6個。如果在DS18B20的電源端專配電源,不設置高低溫報警,只需使用“ConvertT”和“Read Scratch”命令即可。前者開始進行溫度轉換(時間約需750 ms),后者將溫度值及循環冗余校驗碼CRC等9字節讀入MASTER(如單片機)。

  關鍵時序:盡管測量時可以作上述簡化,但DS18B20的時序必須嚴格遵循。最苛刻的時間要求應是讀時槽(read time slots):MASTER在數據線上發出一個下降沿表示讀時槽開始,時間至少保持1μs,然后停止驅動數據總線。DS18B20在數據線上輸出約15 μs的數據。在這一時間段內,MASTER必須及時采樣數據線。這樣的定時要求與之相連的單片機必須工作在較高的頻率,如主頻為32 kHz就無法滿足15μs內完成采樣的要求。

  2 一個簡單實用的程序設計方案

  采用上述精簡方案后,基于單片機PIC16F628A(主頻為4 MHz)實現的測溫程序如下:

  到此開始讀9個字節scratchpad,并檢查CRC。如無誤,再次調用rp子程序復位DS18B20,結束本次測量;如出錯,轉出錯處理子程序。為使系統具有一定的容錯能力,出錯時也可將上述程序再試一遍,如連續3次都出現CRC檢查錯則轉出錯處理子程序。

  以上方案已長期(數月)用于氣象溫度測量,正常可靠。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 精品美女在线观看| 亚洲成人自拍网| 成人精品视频99在线观看免费| 亚洲一卡2卡4卡5卡6卡在线99 | 在线看片你懂的| 免费污污视频在线观看| 豆国产96在线|亚洲| 国产欧美日韩中文久久| 2019国产精品青青草原| 在线观着免费观看国产黄| а√最新版在线天堂| 成人免费在线观看网站| 久99久热只有精品国产女同| 日韩一区二区三区精品| 亚洲AV综合色区无码一区| 欧美国产综合在线| 亚洲欧美日韩精品久久奇米色影视 | 97人人添人澡人人爽超碰| 天天干天天操天天拍| 一二三四视频中文字幕在线看| 成人午夜视频免费看欧美| 中文字幕欧美激情| 无码精品国产一区二区免费| 久久国产加勒比精品无码| 日韩精品人妻系列无码av东京| 亚洲va在线va天堂成人| 欧美三级视频在线播放| 亚洲免费观看在线视频| 欧美成人三级一区二区在线观看| 亚洲欧美日本a∨在线观看| 毛片试看120秒| 亚洲精品午夜国产va久久| 激情啪啪精品一区二区| 人善交另类欧美重口另类| 狠狠色综合网久久久久久| 人体内射精一区二区三区| 理论亚洲区美一区二区三区| 免费一级肉体全黄毛片| 男女一级毛片免费播放| 伊人青青草视频| 狂野欧美性猛xxxx乱大交|