基于51单片机的多点温度测量系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于51单片机的多点温度测量系统设计
目录
第一章摘要 (2)
第二章引言 (2)
第三章 DS18B20温度传感器相关介绍 (3)
3.1 DS18B20的特点 (3)
3.2 DS18B20工作过程及时序 (3)
3.3 DS18B20结构图 (5)
第四章LED数码管介绍………………………………………
- 2 -
(8)
第五章硬件的设计………………………………………
(10)
5.1温度采集模
块………………………………………
(11)
5.2温度显示模
块………………………………………
(11)
第六章软件的设计………………………………………
(12)
6.1读18B20的ROM系列号程序 (12)
6.2温度的转换与读取程序 (17)
6.3温度在数码管显示的程
- 3 -
序 (23)
第七章心得体
会………………………………………
(26)
参考资料………………………………………
(27)
第一章摘要
本次课程设通过基于MCS-51系列单片机SST80C51和DS18B20温度传感器检测温度,熟悉芯片的使用,温度传感器的功能,
- 4 -
LED数码管的使用,汇编语言的设计;并且把我们这一年所学的数字和模拟电子技术、检测技来掌握相关知识。
第二章引言
在人类的生活环境中,温度扮演着极其重要的角色。无论你生活在哪里,从事什么工作,无时无刻不在与温度打着交道。自18世纪工业革命以来,工业发展对是否能掌握温度有着绝对的联系。在冶金、钢铁、石化、水泥、玻璃、医药等等行业,可以说几乎80%的工业部门都不得不考虑
着温度的因素。温度对于工业如此重要,由此推进了温度传感器的发展。进入21世纪后,温度传感器正朝着高精度、多功能、总线标准化、高可靠性及安全性、开发虚拟传感器和网络传感器、研制单片测温系统等高科技的方向迅速发展。
在工农业生产中,温度检测及其控制
- 5 -
占有举足轻重的地位,随着现代信息技术的飞速发展和传统工业改造的逐步实现,能够独立工作的温度检测和显示系统已经应用于诸多领域。要达到较高的测量精度需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差等问题,使温度检测复杂化。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,成为自动化和各个测控领域中必不可少且广泛应用的器件,尤其在日常生活中也发挥越来越大的作用。采用单片机对温度采集进行控制,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控数据的技术指标,从而能够大大提高产品的质量和数量。
- 6 -
第三章 DS18B20温度传感器相关介绍
3.1 DS18B20的特点:
(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即
可实现微处理器与DS18B20的双向
通讯。
(2)在使用中不需要任何外围元件。
(3)可用数据线供电,电压范围:+3.0~ +5.5 V。
(4)测温范围:-55 - +125 ℃。固有测温分辨率为0.5 ℃。
(5)通过编程可实现9-12位的数字读数方式。
- 7 -
(6)用户可自设定非易失性的报警上下限值。
(7)支持多点组网功能,多个DS18B20可以并联在惟一的三线上,实现多点
测温.
(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工
作。
3.2 DS18B20工作过程及时序
DS18B20内部的低温度系数振荡器是一个振荡频率随温度变化很小的振荡器,为计数器1提供一频率稳定的计数脉冲。
高温度系数振荡器是一个振荡频率对温度很敏感的振荡器,为计数器2提供一个频率随温度变化的计数脉冲。
- 8 -
初始时,计数器1预置的是与-55℃相对应的一个预置值。以后计数器1每一个循环的预置数都由斜率累加器提供。为了补偿振荡器温度特性的非线性性,斜率累加器提供的预置数也随温度相应变化。计数器1的预置数也就是在给定温度处使温度寄存器寄存值增加1℃计数器所需要的计数个数。
DS18B20内部的比较器以四舍五入的量化方式确定温度寄存器的最低有效位。在计数器2停止计数后,比较器将计数器1中的计数剩余值转换为温度值后与0.25℃进行比较,若低于0.25℃,温度寄存器的最低位就置0;若高于0.25℃,最低位就置1;若高于0.75℃时,温度寄存器的最低位就进位然后置0。这样,经过比较后所得的温度寄存器的值就是最终读取的温度
- 9 -
值了,其最后位代表 0.5℃,四舍五入最大量化误差为±1/2LSB,即0.25℃。
温度寄存器中的温度值以9位数据格式表示,最高位为符号位,其余8位以二进制补码形式表示温度值。测温结束时,这9位数据转存到暂存存储器的前两个字节中,符号位占用第一字节,8位温度数据占据第二字节。
DS18B20测量温度时使用特有的温度测量技术。DS18B20内部的低温度系数振荡器能产生稳定的频率信号;同样的,高温度系数振荡器则将被测温度转换成频率信号。当计数门打开时,DS18B20进行计数,计数门开通时间由高温度系数振荡器决定。芯片内部还有斜率累加器,可对频率的非线性度加以补偿。测量结果存入温度寄存器中。一般情况下的温度值应该为9
- 10 -
位,但因符号位扩展成高8位,所以最后以16位补码形式读出。
DS18B20工作过程一般遵循以下协议:初始化——ROM操作命令——存储器操作命令——处理数据
初始化
单总线上的所有处理均从初始化序列开始。初始化序列包括总线主机发出一复位脉冲,接着由从属器件送出存在脉冲。存在脉冲让总线控制器知道DS1820 在总线上且已准备好操作。
ROM操作命令
一旦总线主机检测到从属器件的存在,它便可以发出器件ROM操作命令之一。所