DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 597|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2011-6-1 08:30:11 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
由单总线数字温度传感器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的读写程序(略)。
  2.数据转换与显示程序设计
  由于不要求显示小数,所以可以舍弃温度寄存器0(TEMPER_L)的低4位,而将温度寄存器1(TEMPER_H)中的低4位移入TEMPER_L中的高4位,组成的新字节,即实际测得的温度。在实际应用中,因为涉及到零度以下温度的显示,需要进行一定的数据转换。
  在显示子程序中,因为百位和负号“-”要区别显示,相应流程如图3所示。
  3.系统制作
  本系统四位一体的0.5英寸七段显示器是共阳型的。其管脚排列见图4。AT89C2051的P1.0和P1.1口是模拟比较器的输入端,内部无上拉电阻,所以在外部接10kΩ,上拉电阻后,接入CD4069作驱动,每段电流被限制在1mA左右,每段显示时间为1ms,温度刷新周期为1分钟;晶振选择12MHz的,每条指令周期正好为1μs的倍数。装饰面板选用家装剩下的“正泰CHNT”86型单键按钮面板,将按钮拆除,正好成显示窗口。系统采用+5V直流电源。本人正好有现成的三基DC5V微型开关电源,将其嵌入在86开关框中,元件布局及面板效果参见图5、图6。
  图5左上端的引出线为外接DS18B20导线,以便于进行高低温调试试验,调试结束后可以直接焊接在申,路板上。焊接完成后,不需要进行调试就能直接显示温度数据。
  4.其他
  在不改动系统硬件的基础上,通过计算方法的调整,DS18B20的测温分辨率可以提高到±0.1℃以上,由四位LED显示成“×××。×”格式。在本系统中,AT89C2051的P3.5、P3.7口未使用,可以调整程序增加控制继电器或门铃等应用。本人利用P3.5在调试时驱动一个LED发光管。实际可改作它用。




分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-8-9 19:10 , 耗时 0.085858 秒, 19 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表