基于51单片机的DS18B20数字温度计课设

上传人:共*** 文档编号:97804495 上传时间:2019-09-06 格式:DOC 页数:23 大小:772.50KB
返回 下载 相关 举报
基于51单片机的DS18B20数字温度计课设_第1页
第1页 / 共23页
基于51单片机的DS18B20数字温度计课设_第2页
第2页 / 共23页
基于51单片机的DS18B20数字温度计课设_第3页
第3页 / 共23页
基于51单片机的DS18B20数字温度计课设_第4页
第4页 / 共23页
基于51单片机的DS18B20数字温度计课设_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《基于51单片机的DS18B20数字温度计课设》由会员分享,可在线阅读,更多相关《基于51单片机的DS18B20数字温度计课设(23页珍藏版)》请在金锄头文库上搜索。

1、济南大学毕业设计专业技能实训报告题 目 基于DS18B20的数字温度计设计 学 院 信息科学与工程学院 专 业 电子信息科学与技术 班 级 学 生 学 号 指导教师 二一三年一月六日- 2 -济南大学实训报告- - 2 - -实训报告目录1 前言12 设计任务及要求22.1 设计任务22.2 设计要求23 课程设计方案及器材选用分析33.1 设计总体方案33.1.1 方案论证33.1.2 方案二的总体设计框图43.2器材选用分析43.2.1 DS18B20温度传感器43.2.2 AT89S52单片机介绍93.3 软件流程图103.3.1 主程序103.3.2 读温度子程序103.3.3 温度转

2、换命令子程序113.3.4 计算温度子程序114 硬件电路的设计124.1 Proteus 进行仿真124.1.1 Proteus5简介124.1.2 proteus仿真图13课程设计心得15参考文献16附录:DS18B20显示程序171 前言目前,单片机已经在测控领域中获得了广泛的应用,它除了可以测量电信以外,还可以用于温度、湿度等非电信号的测量,能独立工作的单片机温度检测、温度控制系统已经广泛应用很多领域。单片机是一种特殊的计算机,它是在一块半导体的芯片上集成了CPU,存储器,RAM,ROM,及输入与输出接口电路,这种芯片称为:单片机。由于单片机的集成度高,功能强,通用性好,特别是它具有体

3、积小,重量轻,能耗低,价格便宜,可靠性高,抗干扰能力强和使用方便的优点,使它迅速的得到了推广应用,目前已成为测量控制系统中的优选机种和新电子产品中的关键部件。单片机已不仅仅局限于小系统的概念,现已广泛应用于家用电器,机电产品,办公自动化用品,机器人,儿童玩具,航天器等领域。本次课程设计,就是用单片机实现温度控制,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。本次采用DS18B20数字温度传感器来实现基于51单片机的数字温度计的设计。传统的温度计有反应速度慢、读数麻烦、测量精度不高、误差大等缺点而下

4、面利用集成温度传感器AD590设计并制作了一款基于AT89C51的4位数码管显示的数字温度计,其电路简单,软硬件结构模块化,易于实现。 该数字温度计利用AD590集成温度传感器及其接口电路完成温度的测量并转换成模拟电压信号,经由模数转换器ADC0804转换成单片机能够处理的数字信号,然后送到单片机AT89C51中进行处理变换,最后将温度值显示在D4、D3、D2、D1共4位七段码LED显示器上。系统以AT89C51单片机为控制核心,加上AD590测温电路、ADC模数转换电路、4位温度数据显示电路以及外围电源、时钟电路等组成。 2 设计任务及要求2.1 设计任务现代社会生活中,多功能的数字温度计可

5、以给我们的生活带来很大的方便;支持“一线总线”接口的温度传感器简化了数字温度计的设计,降低了成本;以美国MAXIM/DALLAS半导体公司的单总线温度传感器DS18B20为核心,以ATMEL公司的AT89S52为控制器设计的DS18B20温度控制器结构简单、测温准确、具有一定控制功能的智能温度控制器。此次课程设计,就是用单片机1实现温度控制,传统的温度检测大多以热敏电阻为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。本次采用DS18B20数字温度传感器来实现基于51单片机的数字温度计的设计。该数字温度计利用AD590集成温度传

6、感器及其接口电路完成温度的测量并转换成模拟电压信号,经由模数转换器ADC0804转换成单片机能够处理的数字信号,然后送到单片机AT89C51中进行处理变换,最后将温度值显示在D4、D3、D2、D1共4位七段码LED显示器上。系统以AT89C51单片机为控制核心,加上AD590测温电路、ADC模数转换电路、4位温度数据显示电路以及外围电源、时钟电路等组成。2.2 设计要求设计一个基于单片机的DS18B20数字温度计。课程设计要求: 5V供电; 温度采集采用DS18B20; 4位LED显示; 2个按键; 设计温度控制器原理图,学习用PROTEL画出该原理图,并用proteus进行仿真;设计和绘制软

7、件流程图,用C语言进行程序编写;焊接硬件电路,进行调试。3 课程设计方案及器材选用分析3.1设计总体方案提及到温度的检测,我们首先会考虑传统的测温元件有热电偶和热电阻,而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,需要比较多的外部硬件支持,硬件电路复杂,软件调试也复杂,制作成本高。因此,本数字温度计设计采用智能温度传感器DS18B20作为检测元件,测温范围为-55C至+125C,最大分辨率可达0.0625C。DS18B20可以直接读出被测量的温度值,而采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。按照系统设计功能的要求,确定系统由三个模块组成:主控制器STC

8、89C51,温度传感器DS18B20,驱动显示电路。总体电路框图如下:主控制器STC89C51DS18B20驱动显示电路图3.1 系统总体框图3.1.1方案论证方案一:由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。所以,他的设计理论不符合本次设计的方案要求,应继续考虑另一可行方案。方案二:进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器

9、DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。因此,从以上两种方案很容易看出,方案二,电路比较简单,软件设计也比较简单,故采用了方案二。3.1.2 方案二的总体设计框图温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89S51,温度传感器采用DS18B20,用3位LED数码管以串口传送数据实现温度显示。DS18B20 采用3 脚PR-35 封装或8 脚SOIC 封装。主 控 制 器LED显 示温 度 传 感 器单片机复位时钟振荡报警点按键调整图3.2总体设计方框图主控制器:单片机AT89S51具有低电压供电和体积小等特点,四个端口只需要两个口

10、就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。显示电路:显示电路采用3位共阳LED数码管,从P3口RXD,TXD串口输出段码。3.2器材选用分析3.2.1 DS18B20温度传感器(1) DS18B20的特点:本设计的测温系统采用芯片DS18B20,DS18B20是DALLAS公司的最新单线数字温度传感器,它的体积更小,适用电压更宽,更经济。实现方法简介DS18B20采用外接电源方式工作,一线测温一线与STC89C51连接,测出的数据放在寄存器中,将数据经过BCD码转换后送到LED显示。DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智

11、能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。图3.4 DS18B20的引脚分布图以12位转化为例说明温度高低字节存放形式及计算:12位转化后得到的12位数据,存储在18B20的两个高低两个8位的RAM中,二进制中的前面5位是符号位。如果测得的温度大于0,这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625才能得到实际温度。 高8位 S S S S S 26 25 24 低8位 23 22 21 20 2-1 2-2 2-3 2-4 表3-

12、2 DS18B20的字节存放表表3-3 温度精度配置R1R0转换精度(16进制)转换精度(十进制)转换时间009bit0.593.75ms0110bit0.25187.5ms1011bit0.125375ms1112bit0.0625750ms 由表3-3可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值

13、就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位S0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位S1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2-4-2是一部分温度值对应的二进制温度数据。表3-4 温度精度配置温度/二进制表示十六进制表示+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90HDS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。若TTH或TTL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。因此,可

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 大杂烩/其它

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号