网站大量收购独家精品文档,联系QQ:2885784924

基于单片机的D18B20温度测量.doc

  1. 1、本文档共25页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于单片机的D18B20温度测量

电 子 综 合 实 训 题 目: 基于AT89C51单片机的温度测量 学 生 姓 名: 陈吉铭 学 号: 学 院: 信息科学与工程学院 专 业 班 级: 电子092 实训时间: 2013 年 1 月 10 日 (2013年 1 月 20 日 课题要求 要求能够测量温度,并显示在LCD1602上。 可随意设定温度的上下限,通过按键可改变上下限值,当实际温度超过上下限时,蜂鸣器就会响。 2. 设计背景 随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统应用于诸多领域。传统的温度检测以热敏电阻为温度敏感元件。热敏电阻的成本低,但需后续信号处理电路,而且可靠性相对较差,测温准确度低,检测系统也有一定的误差,这里设计的数字温度计具有读数方便,测温范围广,测温精确,数字显示,适用范围宽等特点。本设计选用AT89C51单片机作为主控制器件,DS18B20作为测温传感器,通过LM016L实现温度显示。通过DS18B20直接读取被测温度值,进行数据转换,该器件的物理化学性能稳定,线性度较好,在0℃~100℃最大线性偏差小于0.01℃。该器件可直接向单片机传输数字信号,便于单片机处理及控制。另外,该温度计还能直接采用测温器件测量温度,从而简化数据传输与处理过程。 硬件设计 3.1总体设计思路方案与系统框图 采用数字温度芯片DS18B20测量温度,输出信号全数字化。采用了单总线的数据传输,由数字温度计DS18B20和AT89C51单片机构成的温度测量装置,DS18B20的DQ与AT89C51的P3.4口相连,与它直接输出温度的数字信号,采用AT89C51单片机控制,并可以根据需要设定上下限温度。温度显示由LCD1602完成,LCD1602的D0~D7为8位双向数据端 3.2 DS18B20芯片介绍 DS18B20引脚定义: DQ为数字信号输入输出端 GND为电源地 VDD为外接供电电源输入端 温度寄存器(0和1字节) DS18B20中的温度传感器可完成对温度的测量,以12位转化为例: 16位符号扩展的二进制补码读数形式提供,以0.0625℃/LSB形式表达,其中S为符号位。 这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。 DS18B20 的温度操作是使用16 位,也就是说分辨率是0.0625。BIT15~BIT11 是符号位,为了就是表示转换的值是正数还是负数。 LM016L介绍 第1脚:VSS为地电源。 第2脚:VDD接5正电源。 VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,比度过RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。 第5脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙第6脚:E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。第7~14脚:D0~D7为8位双向数据线。DS18B20的数据线DQ与主控芯片51单片机的P3.3相连接,DS18B20将采集到的数据送给单片机,经过单片机出来后,显示在8位数据线与单片机P0口的液晶LCD上。蜂鸣器经过三极管的驱动后接到单片机的P3.7,来实现当实时温度大于下限或高于上限的报警。4个按键K1~K4接到单片机的P1.0~P1.3,来实现对上限值和下限值的查看与设定。液晶LCD的RS、RW、E分别接到单片机的P2.0~P2.2来实现单片机控制液晶的读写命令和数据的控制。 4.软件设计 LCD显示子程序开始先让LCD初始化,接着光标定位,显示字符,最后放回。 LCD流程图 主程序首先设置堆栈为5FH,设置定时器工作方式T1为方式2。接着开始启动定时器,调用LCD初始化子程序,调用DS18B20复位子程序。接着调用上下限写入暂存器子程序,把温度报警值拷贝回暂存器,调用读取温度子程序,调用处理显示子程序,调用实际温度值与上下限温度值比较子程序,调用按键扫描子程序后返回到调用读取温度子程序。 主程序框图 按键扫描子程序首先判断按键K1是否按下,如

文档评论(0)

zong197104 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档