0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

DS18B20温度传感器的测温实验详细说明

Wildesbeast 来源:单片机教程网 作者:单片机教程网 2020-10-06 18:13 次阅读

在前面,我们学习了DS18B20新型数字温度传感器的基础理论知识,对DS18B20的特性及应用有了较全面的了解,本课我们就结合S51增强型实验板,ISP编程器来学习DS18B20的应用软件编程,做DS18B20测温实验,DIY一个我们自己的数字温度计,通过本实验的学习,熟练掌握DS18B20的开发,相信你也可以自己的智能温控系统!

首先介绍实验的硬件设备:S51增强型单片机实验板 + ISP编程器 + DS18B20温度传感器

(已焊接好并经过测试,免去初学者因焊接不好损坏DS18B20的风险,采用屏蔽线焊接,热缩管绝缘保护,防插反接头,抗干扰能力强,测温精度更高,插入实验板即可使用)

注:如图中所示,实验板的第5位数码管可以显示温度的符号“℃”,做温度实验更加直观。将配套温度传感器插入DS18B20实验接口,完成温度传感器的硬件连接。

图2: ISP编程器套件

DS18B20测温实验原理图见下面图3

图3

新建Keil工程ds18sy.UV2,输入下面的DS18B20测温实验源程序,编译得到HEX格式目标文件ds18sy.hex。

》》》 点击下载DS18B20测温实验目标程序ds18sy.hex 》》》

》》》 点击下载DS18B20测温实验源程序 》》》

;--------- 下面是DS18B20测温实验源程序 ---------

ORG0000H

START:MOVSP,#60H ;开机初始化

MOVP0,#0FFH

MOVP1,#0FEH

MOVP2,#0FFH

MOVP3,#0FFH

MAIN: LCALL GET_TEMPER ;调用读温度子程序

LCALL DISP ;调用数码管显示子程序

AJMPMAIN ;重复循环

;------ 读DS18B20传感器的温度值 ------

GET_TEMPER:

SETBP3.3

LCALL RST18B20 ;复位DS18B20

JB 00H,DSS2

RET

DSS2: MOV A,#0CCH;跳过ROM匹配

LCALL WR18B20

MOV A,#44H ;向DS18B20发出温度转换命令

LCALL WR18B20

LCALL RST18B20 ;准备读温度前先复位DS18B20

MOV A,#0CCH;跳过ROM匹配

LCALL WR18B20

MOV A,#0BEH;向DS18B20发出读温度命令

LCALL WR18B20

LCALL RE18B20;读出温度数据

RET

;------ DS18B20复位初始化程序 ------

RST18B20:

SETBP3.3

NOP

CLR P3.3

MOV R0,#06BH;主机发出复位低脉冲

MOV R1,#03H

DSR1: DJNZR0,DSR1

MOV R0,#6BH

DJNZR1,DSR1

SETBP3.3;拉高数据线

NOP

NOP

NOP

MOV R0,#25H

DSR2: JNB P3.3,DSR3;等待DS18B20回应

DJNZR0,DSR2

LJMPDSR4

DSR3: SETB00H;置标志位,表示DS1820存在

LJMPDSR5

DSR4: CLR 00H ;清标志位,表示DS1820不存在

LJMPDSR7

DSR5: MOV R0,#06BH

DSR6: DJNZR0,DSR6;延时一段时间

DSR7: SETBP3.3

RET

;------ 写DS18B20的子程序 ------

WR18B20:

MOV R2,#8

CLR C

WR1:CLR P3.3

MOV R3,#6

DJNZR3,$

RRC A

MOV P3.3,C

MOV R3,#23

DJNZR3,$

SETBP3.3

NOP

DJNZR2,WR1

SETBP3.3

RET

;------ 从DS18B20中读温度数据程序 ------

RE18B20:

MOV R4,#2

MOV R1,#2FH

RE00: MOV R2,#8

RE01: CLR C

SETBP3.3

NOP

NOP

CLR P3.3

NOP

NOP

NOP

SETBP3.3

MOV R3,#09

RE10: DJNZR3,RE10

MOV C,P3.3

MOV R3,#23

RE20: DJNZR3,RE20

RRC A

DJNZR2,RE01

MOV @R1,A

DEC R1

DJNZR4,RE00

RET

;-------- 显示子程序 --------

DISP: MOV A,2FH

MOV C,70H

RRC A

MOV C,71H

RRC A

MOV C,72H

RRC A

MOV C,73H

RRC A

MOV 2FH,A

MOV A,2FH

MOV B,#10

DIV AB

MOV 30H,A

MOV 31H,B

MOV A,30H

MOV DPTR,#SGTB

MOVCA,@A+DPTR

MOV P0,A;显示温度“十位”值

CLR P2.2

SETBP2.0

SETBP2.1

SETBP2.3

SETBP2.4

LCALL YS4722U

MOV A,31H

MOV DPTR,#SGTB

MOVCA,@A+DPTR

MOV P0,A;显示温度“个位”值

CLR P2.3

SETBP2.0

SETBP2.1

SETBP2.2

SETBP2.4

LCALL YS4722U

MOV A,#01000110B

MOV P0,A;显示温度符号“ ℃”

CLR P2.4

SETBP2.0

SETBP2.1

SETBP2.2

SETBP2.3

LCALL YS4722U

RET

;************* 8位共阳数码管显示器字型码表 *****************

SGTB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H

DB 88H,83H,0C6H,0A1H,86H,8EH,89H,0A3H,8CH,0C8H

YS4722U:

MOV R4,#10 ;延时子程序

Y3: MOV R5,#216

DJNZR5,$

DJNZR4,Y3

RET

END

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 传感器
    +关注

    关注

    2548

    文章

    50642

    浏览量

    751672
  • DS18B20
    +关注

    关注

    10

    文章

    778

    浏览量

    80680
  • 编程器
    +关注

    关注

    9

    文章

    393

    浏览量

    42269
收藏 人收藏

    评论

    相关推荐

    DS18B20温度传感器工作原理及其应用电路图

    DS18B20温度传感器的应用电路    1.DS18B20温度传感器寄生电源供电方式电路图 
    发表于 02-21 14:43

    基于单总线数字温度传感器DS18B20测温系统方案

      摘要:设计了一种基于单总线数字温度传感器DS18B20测温系统,给出了DS18B20传感器
    发表于 11-06 15:18

    DS18B20温度传感器是什么

    的EEPROM,精度降低为±2°C,适用于对性能要求不高,成本控制严格的应用,是经济型产品。 继“一线总线”的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20
    发表于 04-27 08:14

    DS18B20温度传感器实验

    STM32学习记录:DS18B20温度传感器实验(HAL库)实验摘要DS18B20简述STMCu
    发表于 08-18 07:44

    新型温度传感器DS18B20高精度测温的实现

    介绍了一种数字式的温度传感器DS18B20, 提出了一种基于89C2051 的测温电路及软件框图在内的实现方法。关键词 数字式温度
    发表于 07-03 10:14 62次下载

    基于DS18B20测温系统设计

    针对单线总线数字温度传感器 DS18B20 的工作特性,本文对基于DS18B20测温系统进行了硬件和软件的设计。仿真
    发表于 07-22 16:13 552次下载
    基于<b class='flag-5'>DS18B20</b><b class='flag-5'>测温</b>系统设计

    基于8051的Proteus仿真-DS18B20温度传感器实验

    基于8051的Proteus仿真-DS18B20温度传感器实验
    发表于 09-01 23:28 61次下载

    智能温度传感器DS18B20的原理与应用

    DS18B20是DALLAS公司生产的单线数字温度传感器,他具有独特的单线总线接口方式。文章详细的介绍了单线数字温度
    发表于 10-11 18:19 48次下载

    DS18B20数字温度传感器的使用实验详细资料合集免费下载

    本文档的主要内容详细介绍的是DS18B20数字温度传感器的使用实验详细资料合集免费下载。
    发表于 12-24 08:00 30次下载
    <b class='flag-5'>DS18B20</b>数字<b class='flag-5'>温度</b><b class='flag-5'>传感器</b>的使用<b class='flag-5'>实验</b><b class='flag-5'>详细</b>资料合集免费下载

    DS18B20温度传感器温度程序和驱动以及案例实现资料说明

    本文档的的主要内容详细介绍的是DS18B20温度传感器温度程序和驱动以及案例实现资料说明,本文
    发表于 04-09 08:00 1次下载
    <b class='flag-5'>DS18B20</b><b class='flag-5'>温度</b><b class='flag-5'>传感器</b>的<b class='flag-5'>温度</b>程序和驱动以及案例实现资料<b class='flag-5'>说明</b>

    DS18B20温度传感器测温如何显示在数码管上的程序免费下载

    本文档的主要内容详细介绍的是DS18B20温度传感器测温如何显示在数码管上的程序免费下载。
    发表于 05-07 18:20 17次下载
    <b class='flag-5'>DS18B20</b><b class='flag-5'>温度</b><b class='flag-5'>传感器</b><b class='flag-5'>测温</b>如何显示在数码管上的程序免费下载

    数字温度传感器DS18B20的原理与应用详细说明

    DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃,可编程为9位~12位A/D转换精度,
    发表于 02-28 17:09 3次下载
    数字<b class='flag-5'>温度</b><b class='flag-5'>传感器</b><b class='flag-5'>DS18B20</b>的原理与应用<b class='flag-5'>详细说明</b>

    ds18b20的特性_ds18b20温度传感器应用

    本文首先介绍了ds18b20的特性,其次介绍了DS18B20工作原理,最后介绍了ds18b20温度传感器应用。
    发表于 04-24 09:10 1.1w次阅读
    <b class='flag-5'>ds18b20</b>的特性_<b class='flag-5'>ds18b20</b><b class='flag-5'>温度</b><b class='flag-5'>传感器</b>应用

    DS18B20数字温度传感器实验的程序和工程文件免费下载

    本文档的主要内容详细介绍的是DS18B20数字温度传感器实验的程序和工程文件免费下载。
    发表于 09-16 17:12 15次下载
    <b class='flag-5'>DS18B20</b>数字<b class='flag-5'>温度</b><b class='flag-5'>传感器</b><b class='flag-5'>实验</b>的程序和工程文件免费下载

    Arduino的实验例程之温度传感器DS18B20实验的资料详细说明

    Arduino的实验例程之温度传感器DS18B20实验的资料详细说明
    发表于 03-01 11:42 20次下载