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

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

    关注

    2509

    文章

    46817

    浏览量

    736451
  • DS18B20
    +关注

    关注

    10

    文章

    765

    浏览量

    79941
  • 编程器
    +关注

    关注

    9

    文章

    383

    浏览量

    41425
收藏 人收藏

    评论

    相关推荐

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

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

    【众拳】基于STM8的DS18B20温度传感器实验

    `DS18B20简介DS18B20数字温度传感器接线方便,封装后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不锈钢封装式。主要根据应用场合的不同而改变其外观。封装后的
    发表于 12-15 09:49

    详解DS18B20温度传感器的用法

    DS18B20与Arduino的用法。(1)一路温度测量硬件连接图将DS18B20温度传感器的VCC和GND分别连接至Arduino Uno
    发表于 09-06 17:12

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

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

    基于DS18B20数字温度传感器的设计方案

    传感器是Dallas公司生产的1-Wire,即单总线器件,具有线路简单、体积小的特点。因此用他组成一个测温系统,具有线路简单,在1根通信线可以挂很多这样的数字温度传感器,十分方便。  
    发表于 11-12 16:30

    DS18B20温度传感器是什么

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

    常用的数字温度传感器DS18B20介绍

    DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆沟
    发表于 10-27 06:49

    ds18b20温度传感器的功能

    ds18b20温度传感器的功能,说明平台:Windows 10教育版64位工具:普中科技 HC6800-ES V2.0,keil uVision2原理
    发表于 07-21 09:11

    DS18B20温度传感器实验

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

    利用数字温度传感器DS18B20测量温度信号

    DS18B20一、实验目的二、实验内容三、实验步骤四、C代码如下五、实验结果六、实验体会一、
    发表于 12-13 07:37

    DS18B20温度传感器简介

    文章目录DS18B20 简介硬件设计软件设计下载验证DS18B20 简介DS18B20 是由 DALLAS 半导体公司推出的一种的“一线总线”接口的温度
    发表于 12-17 07:47

    DS18B20数字温度传感器介绍

    由于做比赛,所以写了温度传感器,记录一下一.介绍DS18B20是常用的数字温度传感器,其输出的是数字信号,具有体积小,硬件开销低,抗干扰能力
    发表于 01-05 07:26

    DS18B20模块说明

    DS18B20模块说明:1DS18B20是由 DALLAS 半导体公司推出的一种的“单总线”接口的温度传感器。与传统的热敏电阻等
    发表于 01-17 08:48

    DS18B20数字温度传感器介绍

    DS18B20介绍DS18B20是常用的数字温度传感器,具有体积小,硬件开销低,抗干扰能力强,精度高的特点。DS18B20数字
    发表于 03-02 06:26

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

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