《微机原理与接口技术》课程设计单片机数字温度传感器测温显示系统Word文档下载推荐.docx
《《微机原理与接口技术》课程设计单片机数字温度传感器测温显示系统Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《《微机原理与接口技术》课程设计单片机数字温度传感器测温显示系统Word文档下载推荐.docx(27页珍藏版)》请在冰豆网上搜索。
单排插座(3)一个单排插座(30)两个DIP40两个
DIP14三个DIP8三个蜂鸣器一个
电源线(红、黑各一条)
2、设计要求:
扩展数字温度传感器DS18B20进行温度检测,显示器用六位共阴极数码管显示,设计按键4个。
控制系统能够实现:
1,系统实时检测室内温度并在数码管上显示;
2,用按键对温度控制的上下限进行设定;
3,当超过温度上限时,蜂鸣器报警,低于下限时,发光二极管发光。
工作计划安排:
2007.7.9:
领取元器件、查阅有关主要元件的资料、了解温度传感器DS18B20的原理、功能及应用。
2007.7.10:
分析电路图原理和各元器件间的连接,将元器件按要求焊在电路板上。
2007.7.11~2007.7.12:
学习温度传感器DS18B20的软件设计方法、对系统的整体进行程序设计、完成编程。
2007.7.13~2007.7.14:
完成编程、并进行上机调试,试试各项功能是否达到设计要求,改正程序中的错误,并对程序进行修改完善。
2007.7.15~2007.7.16:
由组员对各元件进行市场调研。
2007.7.17:
撰写任务说明书。
同组设计者及分工:
摘要
随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术。
温度是一种最基本的环境参数,人民的生活与环境的温度息息相关,在工业生产过程中需要实时测量温度,在农业生产中也离不开温度的测量,因此研究温度的测量方法和装置具有重要的意义。
测量温度的关键是温度传感器,温度传感器的发展经历了三个发展阶段:
①传统的分立式温度传感器,②模拟集成温度传感器,③智能集成温度传感器。
目前,国际上新型温度传感器正从模拟式向数字式,从集成化向智能化、网络化的方向飞速发展。
本文将介绍一种基于单片机控制的数字温度传感器测温显示系统,可以设置上下报警温度,当所测温度超过温度上限,蜂鸣器可以报警,当温度低于温度下限,发光二极管发光显示。
文章介绍了数字温度传感器DS18B20的结构特征及控制方法,并对以此传感器,89C51单片机为控制器构成的温度测量装置的工作原理及程序设计作了相关的介绍。
关键词:
单片机AT89C51,数字温度传感器DS18B20,蜂鸣器,发光二极管,六位共阴极数码管
目录
正文
总体设计方案
一、主控制器…………8
二、温度传感器…………8
1.DS18B20的特性介绍…………9
2.DS18B29的内部结构…………9
3.DS18B29的存储器…………10
4.DS18B29的控制方法…………11
5.DS18B29的测温原理…………12
6.DS18B20与单片机的接口…………12
7.系统整体硬件电路…………13
8.系统软件算法…………13
三、结语…………21
总结与体会…………22
参考文献…………23
正文
总体设计方案如下图
一,主控制器
单片机AT89C51具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用系统可用二节电池供电。
AT89C51单片机是ATMEL公司生产的高性能8位单片机,主要功能特性如下:
①兼容MCS-51指令系统;
②32个双向I/O口,两个16位可编程定时/计数器;
③1个串行中断,两个外部中断源;
④可直接驱动LED;
⑤低功耗空闲和掉电模式;
⑥4kB可反复擦写(>
1000次)FLASIROM;
⑦全静态操作O~24MHz;
⑧128×
8b内部RAM。
该款芯片的超低功耗和良好的性能价格比使其非常适合嵌入式产品应用。
二,温度传感器DS18B20
DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现9~12位的数字值读数方式。
1,DS18B20特性介绍
DS18B20是DALLAS公司的最新单线数字温度传感器,它的体积更小、适用电压更宽、更经济,DS18B20是世界上第一片支持“一线总线”接口的温度传感器,一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念,它的测量温度范围为-55~+125℃,在-10~+85℃范围内,精度为±
0.5℃,现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性,适合于恶劣环境的现场温度测量,如:
环境控制、设备或过程控制、测温类消费电子产品等,与前一代产品不同,新的产品支持3~5.5V的电压范围,使系统设计更灵活、方便,而且新一代产品更便宜,体积更小,DS18B20可以程序设定9~12位的分辨率,精度为±
0.5℃。
可以选择更小的封装方式,更宽的电压适用范围,分辨率设定及用户设定的报警温度存储在E2PROM中,掉电后依然保存,DS18B20的性能是新一代产品中最好的,性能价格比也非常出色,继“一线总线”的早期产品后,DS18B20开辟了温度传感器技术的新概念,DS18B20和DS18B22使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。
2,DS18B20的内部结构
DS18B20采用3脚PR-35封装或8脚SOIC封装,其内部结构框图如图2所示,主要由4部分组成:
64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,配制寄存器。
DS18B20的管脚排列如图所示。
3,DS18B20温度传感器的存储器
64位ROM的结构开始8位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后8位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。
温度报警触发器TH和TL,可通过软件写入户报警上下限。
DS18B20温度传感器的内部存储器还包括一个高速暂存RAM和一个非易失性的可电擦除的EERAM。
高速暂存RAM的结构为8字节的存储器,结构如图3所示。
头2个字节包含测得的温度信息,第3和第4字节TH和TL的拷贝,是易失的,每次上电复位时被刷新。
第5个字节,为配置寄存器,它的内容用于确定温度值的数字转换分辨率。
DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。
该字节各位的定义如图3所示。
低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。
由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。
因此,在实际应用中要将分辨率和转换时间权衡考虑。
高速暂存RAM的第6、7、8字节保留未用,表现为全逻辑1。
第9字节读出前面所有8字节的CRC码,可用来检验数据,从而保证通信数据的正确性。
当DS18B20接收到温度转换命令后,开始启动转换。
转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1、2字节。
单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625℃/LSB形式表示。
当符号位S=0时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;
当符号位S=1时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。
表2是一部分温度值对应的二进制温度数据。
DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、TL字节内容作比较。
若T>TH或T<TL,则将该器件内的报警标志位置位,并对主机发出的报警搜索命令作出响应。
因此,可用多只DS18B20同时测量温度并进行报警搜索。
在64位ROM的最高有效字节中存储有循环冗余检验码(CRC)。
主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。
4,DS18B20控制方法
在硬件上,DS18B20与单片机的连接有两种方法,一种是Vcc接外部电源,GND接地,I/O与单片机的I/O线相连;
另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。
无论是内部寄生电源还是外部供电,I/O口线要接5KΩ左右的上拉电阻。
DS18B20有六条控制命令,如表所示:
指
令
约定代码
操
作
说
明
温度转换
44H
启动DS18B20进行温度转换
读暂存器
BEH
读暂存器9个字节内容
写暂存器
4EH
将数据写入暂存器的TH、TL字节
复制暂存器
48H
把暂存器的TH、TL字节写到E2RAM中
重新调E2RAM
B8H
把E2RAM中的TH、TL字节写到暂存器TH、TL字节
读电源供电方式
B4H
启动DS18B20发送电源供电方式的信号给主CPU
CPU对DS18B20的访问流程是:
先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。
DS18B20每一步操作都要遵循严格的工作时序和通信协议。
如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤:
每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。
5,DS18B20的测温原理
DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1;
高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入。
器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。
计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55℃所对应的一个基数分别置入减法计数器1、温度寄存器中,计数器1和温度寄存器被预置在-55℃所对应的一个基数值。
减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时,温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到0时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。
其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。
6,DS18B20温度传感器与单片机的接口电路
DS18B20可以采用两种方式供电,一种是采用电源供电方式,此时DS18B20的1脚接地,2脚作为信号线,3脚接电源。
另一种是寄生电源供电方式,如图4所示单片