精品精品国产自在久久-人妻少妇精品久久中文字幕-精品人妻一区二区三区久久免费-人妻一区二区视频在线观看

你好!歡迎來到深圳市穎特新科技有限公司!
語言
當(dāng)前位置:首頁 >> 技術(shù)中心 >> 單片機(jī)入門 >> 溫度傳感器DS1820使用中注意事項

溫度傳感器DS1820使用中注意事項

作者:admin 來源:不詳 發(fā)布時間:2018-05-08  瀏覽:54
  DS1820雖然具有測溫系統(tǒng)簡單、測溫精度高、連接方便、占用口線少等優(yōu)點(diǎn),但在實際應(yīng)用中也應(yīng)注意以下幾方面的問題:
  (1)較小的硬件開銷需要相對復(fù)雜的軟件進(jìn)行補(bǔ)償,由于DS1820與微處理器間采用串行數(shù)據(jù)傳送,因此,在對DS1820進(jìn)行讀寫編程時,必須嚴(yán)格的保證讀寫時序,否則將無法讀取測溫結(jié)果。在使用PL/M、C等高級語言進(jìn)行系統(tǒng)程序設(shè)計時,對DS1820操作部分最好采用匯編語言實現(xiàn)。由于本節(jié)技術(shù)復(fù)雜性,對一般讀者DS18B20內(nèi)容只作閱讀。
  (2)在DS1820的有關(guān)資料中均未提及單總線上所掛DS1820數(shù)量問題,容易使人誤認(rèn)為可以掛任意多個DS1820,在實際應(yīng)用中并非如此。當(dāng)單總線上所掛DS1820超過8個時,就需要解決微處理器的總線驅(qū)動問題,這一點(diǎn)在進(jìn)行多點(diǎn)測溫系統(tǒng)設(shè)計時要加以注意。
  (3)連接DS1820的總線電纜是有長度限制的。試驗中,當(dāng)采用普通信號電纜傳輸長度超過50m時,讀取的測溫數(shù)據(jù)將發(fā)生錯誤。當(dāng)將總線電纜改為雙絞線帶屏蔽電纜時,正常通訊距離可達(dá)150m,當(dāng)采用每米絞合次數(shù)更多的雙絞線帶屏蔽電纜時,正常通訊距離進(jìn)一步加長。這種情況主要是由總線分布電容使信號波形產(chǎn)生畸變造成的。因此,在用DS1820進(jìn)行長距離測溫系統(tǒng)設(shè)計時要充分考慮總線分布電容和阻抗匹配問題。

溫度傳感器DS18B20指令(命令)說明

命令功能

指令代碼

功能說明

讀ROM

33H

讀DS18B20中的64位光刻ROM序列號

啟動轉(zhuǎn)換

44H

啟動溫度轉(zhuǎn)換,結(jié)果存入內(nèi)部高速暫存器RAM中

寫溫限值

4EH

向內(nèi)部字節(jié)地址2和3 中寫入上下限溫度值

匹配ROM

55H

發(fā)出命令后,還發(fā)送64位ROM序列號尋找對應(yīng)號碼的18B20

讀供電

B4H

讀電源供給方式: 18B20發(fā)0為寄生供電,1為外接供電

讀取溫度

BEH

讀取溫度寄存器等9字節(jié)的內(nèi)容

跳過ROM

CCH

單片18B20時,跳過讀序列號操作,直接發(fā)溫度轉(zhuǎn)換

報警搜索

ECH

執(zhí)行后,當(dāng)溫度超過上下限值時18B20才作響應(yīng)

搜索ROM

F0H

搜索同一條線上掛接有幾個18B20,識別ROM

  (4)在DS18B20測溫程序設(shè)計中,向DS18B20發(fā)出溫度轉(zhuǎn)換命令后,程序總要等待DS18B20的返回信號,一旦某個DS18B20接觸不好或斷線,當(dāng)程序讀該DS18B20時,將沒有返回信號,程序會進(jìn)入死循環(huán)。這一點(diǎn)在進(jìn)行DS18B20硬件連接和軟件設(shè)計時也要給予一定的重視。測溫電纜線建議采用屏蔽4芯雙絞線,其中一對線接地線與信號線,另一組接VCC和地線,屏蔽層在源端單點(diǎn)接地。
當(dāng)用P1.0和DS18B20相連接時參考程序如下。
  DQ EQU P1.0
  ORG 0000H
  AJMP MAIN
  ORG 1000H
  MAIN: LCALL INIT_18B20  ;調(diào)復(fù)位子程序
  MOV A,#0CCH
  LCALL WRITE_18B20    。 跳過讀序列號操作
  MOV A,#4EH       ;寫限制溫度命令
  LCALL WRITE_18B20 
  MOV A, #TH  ;寫入上限溫度值
  LCALL WRITE_18B20
  MOV  A,#TL
  LCALL WRITE_18B20  ;寫入下限溫度值
  MOV A, CONFIG12
  LCALL WRITE_18B20 。辉O(shè)為12位轉(zhuǎn)換精度
  MAIN1: LCALL INIT_18B20;復(fù)位子程序
  LCALL RD_TEMPER ;讀溫度
  LCALL LDVV   ;調(diào)數(shù)據(jù)處理子程序,簡寫程序
  LCALL DISPLAY ;調(diào)顯示子程序, 省略程序
  LJMP MAIN1 

;**********DS18B20復(fù)位程序*****************
  INIT_18B20: MOV R7 #06H 。粡(fù)位時查詢次數(shù)
  LOP0: SETB DQ       ;18B20輸入端
  MOV R0,#0FBH
  CLR DQ
  TSR1: DJNZ R0,TSR1 ;維持DQ低電平480μs~960μs
  SETB DQ
  MOV R0,#25H
  TSR2: DJNZ R0,TSR2
  JNB DQ ,TSR3 ;查看18B20把DQ拉低否
  DJNZ R7,LOP0;未拉低則延時再查,6次結(jié)束
  SETB P2.0  。谎訒r期未能查到18B20
  SJMP TSR4
  TSR3: SETB FLAG1。恢脴(biāo)志位FLAG1,表明DS18B20存在
  CLR P2.0     ;二極管指示
  TSR5: MOV R0,#06BH
  TSR6: DJNZ R0,TSR6  ;延時后結(jié)束
  CLR C
  ORL C, DQ
  LOP1;JC TSR4  ;確認(rèn)一次
  AJMP TSR7
  TSR4: CLR FLAG1 ;未能查到
  SETB P2.0    ;取消指示燈
  SETB DQ     ;表明不存在
  TSR7: RET
  ;*****************讀轉(zhuǎn)換后的溫度值****************
  RD_TEMPER:
  SETB DQ
  LCALL INIT_18B20
  JB FLAG1,TSS2
  RET       ;若不存在則返回
  TSS2: MOV A,#0CCH 。惶^ROM
  LCALL WRITE_18B20
  MOV A,#44H   。话l(fā)出溫度轉(zhuǎn)換命令
  LCALL WRITE_18B20
  LCALL DELAY  ;調(diào)延時子程序500ms
  LCALL INIT_18B20;調(diào)復(fù)位子程序
  MOV A,#0CCH;跳過ROM
  LCALL WRITE_18B20
  MOV A,#0BEH;發(fā)出讀溫度換命令
  LCALL WRITE_18B20
  LCALL READ2_18B20。蛔x兩個字節(jié)的溫度
  RET
 ;***************寫DS18B20程序************
  WRITE_18B20:
  MOV R2,#8
  SETB DQ
  WR1: CLR DQ
  MOV R3,#6
  DJNZ R3,$  ;寫前保持15μs低電平
  RRC A
  MOV DQ,C ;寫入一位
  MOV R3,#30
  DJNZ R3,$。坏却18B20讀入
  SETB DQ
  DJNZ R2,WR1;8位寫完否
  SETB DQ  ;寫完結(jié)束
  RET
 ;***********讀18B20程序,讀出兩個字節(jié)的溫度*********
  READ2_18B20:
  MOV R4,#2 ;低位存在29H,高位存在28H
  MOV R1,#29H
  RE00: MOV R2,#8
  RE01: CLR DQ;低電平10μs
  NOP
  NOP
  NOP
  SETB DQ   ;高電平延時
  MOV R3,#7
  DJNZ R3,$
  MOV C,DQ 。蛔x入一位溫度到C中
  MOV R3,#30
  DJNZ R3,$
  RRC A
  DJNZ R2,RE01;共讀8位
  MOV @R1,A ;保存
  DEC  R1;保存下一數(shù)據(jù)單元地址
  DJNZ R4,RE00 ;讀第二字節(jié)
  RET
 ;************讀出的溫度進(jìn)行數(shù)據(jù)轉(zhuǎn)換**************
  LDVV: MOV A,29H; 看成溫度大于0
  MOV C,28H.0;將28H中的最低位移入C
  RRC A
  MOV C,28H.1
  RRC A
  MOV C,28H.2
  RRC A
  MOV C,28H.3
  RRC A
  MOV 30H,A ;整數(shù)溫度結(jié)果存30H單元
  JNC LOP2 ;小數(shù)點(diǎn)后面的數(shù)四舍五入
  INC 30H
  LOP2:RET

編輯:admin  最后修改時間:2018-05-08

聯(lián)系方式

0755-82591179

郵箱:ivy@yingtexin.net

地址:深圳市龍華區(qū)民治街道民治大道973萬眾潤豐創(chuàng)業(yè)園A棟2樓A09

Copyright © 2014-2025 穎特新科技有限公司 All Rights Reserved.  粵ICP備14043402號-4