亚洲精品久久久久久久久久久,亚洲国产精品一区二区制服,亚洲精品午夜精品,国产成人精品综合在线观看,最近2019中文字幕一页二页

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

DS18B20數(shù)字溫度傳感器的源代碼

Wildesbeast ? 來(lái)源:網(wǎng)絡(luò)整理 ? 作者:佚名 ? 2020-05-05 16:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

本文檔的主要內(nèi)容詳細(xì)介紹的是DS18B20數(shù)字溫度傳感器的源代碼。


; FLAG1: 標(biāo)志位,為“1”時(shí)表示檢測(cè)到DS18B20

; DQ: DS18B20的數(shù)據(jù)總線接腳

; TEMPER_NUM:保存讀出的溫度數(shù)據(jù)

; 本程序僅適合單個(gè)DS18B20和51單片機(jī)的連接,晶振為12MHZ左右

TEMPER_L EQU 36H

TEMPER_H EQU 35H

DQ BIT P1.7

; DS18B20初始化程序

;//*****************************************//

INIT_1820:

SETB DQ

NOP

CLR DQ

MOV R0,#06BH

TSR1:

DJNZ R0,TSR1 ; 延時(shí)

SETB DQ

MOV R0,#25H

TSR2:

JNB DQ,TSR3

DJNZ R0,TSR2

LJMP TSR4 ; 延時(shí)

TSR3:

SETB FLAG1 ; 置標(biāo)志位,表示DS1820存在

LJMP TSR5

TSR4:

CLR FLAG1 ; 清標(biāo)志位,表示DS1820不存在

LJMP TSR7

TSR5:

MOV R0,#06BH

TSR6:

DJNZ R0,TSR6 ; 延時(shí)

TSR7:

SETB DQ

RET

;//*****************************************//

; 重新寫DS18B20暫存存儲(chǔ)器設(shè)定值

;//*****************************************//

RE_CONFIG:

JB FLAG1,RE_CONFIG1 ; 若DS18B20存在,轉(zhuǎn)RE_CONFIG1

RET

RE_CONFIG1:

MOV A,#0CCH ; 發(fā)SKIP ROM命令

LCALL WRITE_1820

MOV A,#4EH ; 發(fā)寫暫存存儲(chǔ)器命令

LCALL WRITE_1820

MOV A,#00H ; TH(報(bào)警上限)中寫入00H

LCALL WRITE_1820

MOV A,#00H ; TL(報(bào)警下限)中寫入00H

LCALL WRITE_1820

MOV A,#1FH ; 選擇9位溫度分辨率

LCALL WRITE_1820

RET

;//*****************************************//

; 讀出轉(zhuǎn)換后的溫度值

;//*****************************************//

GET_TEMPER:

SETB DQ ; 定時(shí)入口

LCALL INIT_1820

JB FLAG1,TSS2

RET ; 若DS18B20不存在則返回

TSS2:

MOV A,#0CCH ; 跳過(guò)ROM匹配

LCALL WRITE_1820

MOV A,#44H ; 發(fā)出溫度轉(zhuǎn)換命令

LCALL WRITE_1820

LCALL INIT_1820

MOV A,#0CCH ; 跳過(guò)ROM匹配

LCALL WRITE_1820

MOV A,#0BEH ; 發(fā)出讀溫度命令

LCALL WRITE_1820

LCALL READ_1820

MOV TEMPER_NUM,A ; 將讀出的溫度數(shù)據(jù)保存

RET

;//*****************************************//

; 讀DS18B20的程序,從DS18B20中讀出一個(gè)字節(jié)的數(shù)據(jù)

;//*****************************************//

READ_1820:

MOV R2,#8

RE1:

CLR C

SETB DQ

NOP

NOP

CLR DQ

NOP

NOP

NOP

SETB DQ

MOV R3,#7

DJNZ R3,$

MOV C,DQ

MOV R3,#23

DJNZ R3,$

RRC A

DJNZ R2,RE1

RET

;//*****************************************//

; 寫DS18B20的程序

;//*****************************************//

WRITE_1820:

MOV R2,#8

CLR C

WR1:

CLR DQ

MOV R3,#6

DJNZ R3,$

RRC A

MOV DQ,C

MOV R3,#23

DJNZ R3,$

SETB DQ

NOP

DJNZ R2,WR1

SETB DQ

RET

;//*****************************************//

; 讀DS18B20的程序,從DS18B20中讀出兩個(gè)字節(jié)的溫度數(shù)據(jù)

;//*****************************************//

READ_18200:

MOV R4,#2 ; 將溫度高位和低位從DS18B20中讀出

MOV R1,#36H ; 低位存入36H(TEMPER_L),高位存入35H(TEMPER_H)

RE00:

MOV R2,#8

RE01:

CLR C

SETB DQ

NOP

NOP

CLR DQ

NOP

NOP

NOP

SETB DQ

MOV R3,#7

DJNZ R3,$

MOV C,DQ

MOV R3,#23

DJNZ R3,$

RRC A

DJNZ R2,RE01

MOV @R1,A

DEC R1

DJNZ R4,RE00

RET

;//*****************************************//

; 將從DS18B20中讀出的溫度數(shù)據(jù)進(jìn)行轉(zhuǎn)換

;//*****************************************//

TEMPER_COV:

MOV A,#0F0H

ANL A,TEMPER_L ; 舍去溫度低位中小數(shù)點(diǎn)后的四位溫度數(shù)值

SWAP A

MOV TEMPER_NUM,A

MOV A,TEMPER_L

JNB ACC.3,TEMPER_COV1 ; 四舍五入去溫度值

INC TEMPER_NUM

TEMPER_COV1:

MOV A,TEMPER_H

ANL A,#07H

SWAP A

ORL A,TEMPER_NUM

MOV TEMPER_NUM,A ; 保存變換后的溫度數(shù)據(jù)

LCALL BIN_BCD

RET

;//*****************************************//

; 將16進(jìn)制的溫度數(shù)據(jù)轉(zhuǎn)換成壓縮BCD碼

;//*****************************************//

BIN_BCD:

MOV DPTR,#TEMP_TAB

MOV A,TEMPER_NUM

MOVC A,@A+DPTR

MOV TEMPER_NUM,A

RET

TEMP_TAB:

DB 00H,01H,02H,03H,04H,05H,06H,07H

DB 08H,09H,10H,11H,12H,13H,14H,15H

DB 16H,17H,18H,19H,20H,21H,22H,23H

DB 24H,25H,26H,27H,28H,29H,30H,31H

DB 32H,33H,34H,35H,36H,37H,38H,39H

DB 40H,41H,42H,43H,44H,45H,46H,47H

DB 48H,49H,50H,51H,52H,53H,54H,55H

DB 56H,57H,58H,59H,60H,61H,62H,63H

DB 64H,65H,66H,67H,68H,69H,70H

;//*****************************************//

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 溫度傳感器
    +關(guān)注

    關(guān)注

    48

    文章

    3078

    瀏覽量

    162089
  • 51單片機(jī)
    +關(guān)注

    關(guān)注

    277

    文章

    5713

    瀏覽量

    131621
  • DS18B20
    +關(guān)注

    關(guān)注

    10

    文章

    782

    瀏覽量

    82956
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    使用18b20軟件包報(bào)錯(cuò)怎么解決?

    In file included from ../packages/ds18b20-latest/src/dallas_ds18b20_sensor_v1.c:12:0: C
    發(fā)表于 10-14 06:49

    液體介電常數(shù)測(cè)試儀中的溫度控制與熱漂移抑制

    55。同時(shí),溫度波動(dòng)會(huì)使電阻、電容等無(wú)源元件參數(shù)改變,晶體管等有源器件工作點(diǎn)偏移,最終影響測(cè)量精度。 溫度控制方案設(shè)計(jì) 溫度測(cè)量模塊 常用溫度傳感
    的頭像 發(fā)表于 07-31 13:23 ?375次閱讀
    液體介電常數(shù)測(cè)試儀中的<b class='flag-5'>溫度</b>控制與熱漂移抑制

    Analog Devices Inc. MAX31888數(shù)字溫度傳感器數(shù)據(jù)手冊(cè)

    Analog Devices Inc. MAX31888數(shù)字溫度傳感器是一款1-Wire高精度、低功耗數(shù)字溫度
    的頭像 發(fā)表于 06-25 14:59 ?1269次閱讀
    Analog Devices Inc. MAX31888<b class='flag-5'>數(shù)字</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>數(shù)據(jù)手冊(cè)

    單片機(jī)實(shí)例項(xiàng)目:DS18B20溫度傳感器

    單片機(jī)實(shí)例項(xiàng)目:DS18B20溫度傳感器,推薦下載!
    發(fā)表于 06-03 20:59

    傳感器有哪些類型?有哪些接口?

    傳感器的類型和接口種類繁多,以下是一些常見的分類和接口方式: 傳感器類型 溫度傳感器:用于測(cè)量溫度,常見的有熱電偶、熱電阻、
    的頭像 發(fā)表于 05-22 09:33 ?8051次閱讀

    血淚教訓(xùn)總結(jié):Air780EPM的LuatOS二次開發(fā)——OneWire協(xié)議調(diào)試注意事項(xiàng)

    的OneWire通信,大幅提升項(xiàng)目開發(fā)效率。 一、LuatOS 及 OneWire 說(shuō)明 ? LuatOS 支持 OneWire 通信協(xié)議,本文以 DS18B20 溫度傳感器和 Air780EPM 搭配
    的頭像 發(fā)表于 03-20 17:52 ?824次閱讀
    血淚教訓(xùn)總結(jié):Air780EPM的LuatOS二次開發(fā)——OneWire協(xié)議調(diào)試注意事項(xiàng)

    最佳實(shí)踐指南:Air780EPM的LuatOS二次開發(fā)——OneWire協(xié)議調(diào)試的注意事項(xiàng)

    在物聯(lián)網(wǎng)設(shè)備開發(fā)中,精準(zhǔn)且穩(wěn)定的數(shù)據(jù)傳輸是構(gòu)建智能系統(tǒng)的核心。 一、LuatOS 及 OneWire 說(shuō)明 ? LuatOS 支持 OneWire 通信協(xié)議,本文以 DS18B20 溫度傳感器
    的頭像 發(fā)表于 03-17 16:57 ?509次閱讀
    最佳實(shí)踐指南:Air780EPM的LuatOS二次開發(fā)——OneWire協(xié)議調(diào)試的注意事項(xiàng)

    基于FPGA的DS18B20數(shù)字溫度傳感器測(cè)溫實(shí)例

    本文將使用三段式狀態(tài)機(jī)(Moore型)的寫法來(lái)對(duì)DS18B20進(jìn)行測(cè)溫操作,以便了解DS18B20和熟悉三段式狀態(tài)機(jī)的寫法。
    的頭像 發(fā)表于 03-17 11:06 ?1960次閱讀
    基于FPGA的<b class='flag-5'>DS18B20</b><b class='flag-5'>數(shù)字</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>測(cè)溫實(shí)例

    DS18B20實(shí)時(shí)溫度傳感器中文資料

    DS18B20 是一種單總線數(shù)字溫度傳感器,它被廣泛應(yīng)用于各種領(lǐng)域,例如氣象監(jiān)測(cè)、室內(nèi)溫度控制、工業(yè)自動(dòng)化等。
    發(fā)表于 02-28 17:02 ?5次下載

    基于FPGA的溫度傳感器(ds18b20)驅(qū)動(dòng)設(shè)計(jì)

    數(shù)字溫度傳感器,其輸出的是數(shù)字信號(hào),具有體積小,硬件開銷低,抗干擾能力強(qiáng),精度高的特點(diǎn)。 DS18B20
    的頭像 發(fā)表于 01-16 14:08 ?1874次閱讀
    基于FPGA的<b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>(<b class='flag-5'>ds18b20</b>)驅(qū)動(dòng)設(shè)計(jì)

    【正點(diǎn)原子STM32H7R3開發(fā)套件試用體驗(yàn)】DS18B20、DHT11溫濕度采集

    環(huán)境溫濕度數(shù)據(jù)的主要流程和關(guān)鍵代碼,并對(duì)這兩款常見傳感器進(jìn)行了介紹。 DS18B20 DS18B20 數(shù)字
    發(fā)表于 01-01 11:16

    《DNESP32S3使用指南-IDF版_V1.6》第二十九章 DS18B20實(shí)驗(yàn)

    , \"ATOM@ALIENTEK\", RED); /* 初始化DS18B20數(shù)字溫度傳感器 */ err = ds18b20_init
    發(fā)表于 12-25 09:43

    NTC熱敏電阻與數(shù)字溫度傳感器的比較

    NTC熱敏電阻與數(shù)字溫度傳感器溫度測(cè)量領(lǐng)域都有其獨(dú)特的應(yīng)用和優(yōu)勢(shì),以下是兩者的比較: 一、工作原理 NTC熱敏電阻 :NTC熱敏電阻是一種特殊的電阻
    的頭像 發(fā)表于 12-17 18:04 ?2076次閱讀

    DS18B20數(shù)字溫度傳感器資料包

    111
    發(fā)表于 12-16 11:28 ?4次下載

    CW32模塊使用 DS18B20溫度傳感器

    DS18B20數(shù)字溫度傳感器提供9位至12位精度的溫度測(cè)量,并具有非易失性用戶可編程上下觸發(fā)點(diǎn)報(bào)警功能。
    的頭像 發(fā)表于 11-26 17:47 ?956次閱讀
    CW32模塊使用 <b class='flag-5'>DS18B20</b><b class='flag-5'>溫度</b><b class='flag-5'>傳感器</b>