全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版

基于DS18B20和89C2051组成的温度显示电路

[复制链接]
1320 0

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
由单总线数字温度传感器DS18B20和89C2051组成的经济型家庭用测温系统。其温度显示为“-XXC”,精度±0.5℃,测温范围-55℃~+125℃。下面详细分析系统构成及汇编语言对DS18B20操作时序的实现方法。图1为本系统电路图,图中DSP为四只数码LED显示器的简化。
    1.DS18B20的初始化与读写程序
    DS18B20是“一总线”接口温度传感器,测温范围为-55℃~+125℃,在-10℃~+85℃范围内精度为±0.5℃。DS18B20可以程序设定9~12位的分辨率,在出厂时被设置为12位的分辨率。通过和单片机系统的结合,可以构建经济的测温系统。DS18B20的管脚排列如图2所示,DQ为数字信号输入,输出端,与单片机系统接口时可通过5.1kΩ电阻上拉;GND为电源地;VDD为外接供电电源输入端。
    DS18B20内含64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器等。可采取直接读取DS18B20内部暂存寄存器的方法,通过四舍五入显示其整数温度值。DS18B20内部暂存寄存器包含九个连续字节,前两个字节是测得的温度信息,第一个字节的内容是温度的低八位,第二个字节是温度的高八位。第三和第四个字节是TH、TL的易失性拷贝,第五个字节是结构寄存器的易失性拷贝。第六、七、八个字节用于内部计算。第九个字节是冗余检验字节。以12位转化为例:温度信息用16位符号扩展的二进制补码形式提供,以0.0625℃/LSB形式表达,其中S为符号位,对应的换算关系参见附表。
    由于DS18B20与微处理器间采用单总线数据传送,因此,在对DS18B20进行读写编程时,必须严格遵守读写时序,否则将无法读取测量结果。
    DS18820的初始化程序如下。当程序检测到DS18820不存在的时候会设置不存在标志,以防止系统锁死。
    INIT_1820:SETBDS18B20;DS18B20数据线设置为P3.4NOPCLRDS18B20;resetDSMOVR0,#250;发延时500μs的复位低脉冲DJNZR0,SSETBDS18B20:拉高数据线MOVR0,#10;等待20μsDJNZR0,SMOVR0,#37TSR2:JNBDS18B20,TSR3;在150μs内等待DS18B20回应DJNZR0,TSR2;延时LJMPTSR4TSR3:SETBFLAG1;置标志位,DS1820存在LJMPTSR5TSR4:CLRFLAG1;清标志位,DS1820不存在AJMPTSR7TSR5:MOVR0,#118DJNZR0,S;时序要求延时240μsTSR7:SETBDS18B20RETDS18B20的读写程序(略)。

举报

回复
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

打开支付宝扫一扫,最高立得1212元红包
搜索

图文热点

更多

社区学堂

更多

客服中心

QQ:187196467 服务时间:周一至周日 8:30-20:30

关注我们

关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表