《基于51单片机的DS18B20温度检测————设计报告.doc》由会员分享,可在线阅读,更多相关《基于51单片机的DS18B20温度检测————设计报告.doc(22页珍藏版)》请在金锄头文库上搜索。
1、课程名称: 微机原理课程设计 题 目: 温度检测课程设计 摘要随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的温度检测仪。本设计使用简便,功能丰富。可以实现温度采集,温度报警,重设上下限温度值等功能。在现代化的工业生产中,需要对周围环境的温度进行检测和控制。本设计对温控报警问题展开思考,设计一个能根据需求设置低温到高温进行报警并通过数码管显示的系统。该系统使用STC89C51单片机,同时运用单线数字温度传感器DS18B20,四位共阴数码管显示,按键控制等模块可实现温度的检测与设置。课题经过实验验证达到设计要求,
2、具有一定的使用价值和推广价值。本作品使用四位共阴数码管显示,可以清晰地显示当前的报警温度,一定程度避免使用者使用时出错,安全可靠,可使用于各种食品储存室,植物养殖所等地方,实用性很高。关键字:温度报警器 STC89C51单片机 数码管 DS18B20目录一、课程设计目的和要求11.1 设计目的11.2 设计要求1二、总体设计方案1三、硬件设计23.1 DS18B20传感器23.2 STC89C51功能介绍53.3 时钟电路73.4 复位电路83.5 LED显示系统电路83.6 按键控制电路103.7 蜂鸣器电路103.8 总体电路设计11四、软件设计134.1 keil软件134.2 系统主程
3、序设计134.3 系统子程序设计14五、仿真与实现165.1 PROTEUS仿真软件165.2 STC-ISP程序烧录软件175.3 使用说明17六、总结18一、课程设计目的和要求1.1 设计目的熟悉典型51单片机,加深对51单片机课程的全面认识和掌握,对51单片机及其接口的应用作进一步的了解,掌握基于51单片机的系统设计的一般流程、方法和技巧,为我们解决工程实际问题打下坚实的基础。同时课程设计也是让我们熟练掌握了课本上的一些理论知识,是一个学习新知识、巩固加深所学课本理论知识的过程,它培养了我们综合运用知识、独立思考和解决问题的能力,加深了我们对单片机原理与应用课程的理解。所以此次设计目的具
4、体如下:l 掌握温度检测仪的设计、组装与调试方法;l 熟悉集成电路DS18B20的使用方法,并掌握其工作原理;1.2 设计要求根据单片机原理及应用课程的要求,主要进行两个方面的设计,即单片机最小系统和外围电路扩展设计、接口技术应用设计。其中,单片机最小系统主要要求学生熟悉单片机的内部结构和引脚功能、引脚的使用、复位电路、时钟电路、4个并行接口和一个串行接口的实际应用,从而可构成最小应用系统,并编程进行简单使用。在采集温度时,为了具有一种反应准确且显示方便的检测温度的装置,下面设计了一种可调节的温度检测仪,也可称作温度报警器。设计要求如下: 完成温度进行测量,理论测量范围-55C+125C; 将
5、温度测量值通过四位共阴数码管显示模块显示,显示精度为0.5C; 可以通过按键进行对上下限报警温度,自行设定并实现功能;二、总体设计方案硬件电路设计由7个部分组成;DS18B20传感器模块,STC89C51单片机系统,LED显示系统、时钟电路、复位电路以及按键控制电路。其系统框图如下图1所示:图1 系统框图三、硬件设计3.1 DS18B20传感器1) DS18B20简介DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。该装置信号线高的时候,内部电容器 储存能量通由1线通信线路给片子供电,而且在低电平期间为片子供电直至下一个高电平的
6、到来重新充电。 DS18B20的电源也可以从外部3V-5.5V的电压得到。DS18B20采用一线通信接口。因为一线通信接口,必须在先完成ROM设定,否则记忆和控制功能将无法使用。主要首先提供以下功能命令之一:1)读ROM;2)ROM匹配;3)搜索ROM;4)跳过ROM;5)报警检查。这些指令操作作用在没有一个器件的64位光刻ROM序列号,可以在挂在一线上多个器件选定某一个器件,同时,总线也可以知道总线上挂有有多少,什么样的设备。若指令成功地使DS18B20完成温度测量,数据存储在DS18B20的存储器。一个控制功能指挥指示DS18B20的演出测温。测量结果将被放置在DS18B20内存中,并可以
7、让阅读发出记忆功能的指挥,阅读内容的片上存储器。温度报警触发器TH和TL都有一字节EEPROM 的数据。如果DS18B20不使用报警检查指令,这些寄存器可作为一般的用户记忆用途。在片上还载有配置字节以理想的解决温度数字转换。写TH,TL指令以及配置字节利用一个记忆功能的指令完成。通过缓存器读寄存器。所有数据的读,写都是从最低位开始。采用DALLAS最新单线数字温度传感器DS18B20。DS18B20“一线总线”数字化温度传感器也支持“一线总线”接口,测量温度范围为-55C+125C,在-10+85C范围内,精度为0.5C。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。适合
8、于恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。DS18B20的特性:DS18B20可以程序设定912位的分辨率,精度为0.5C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。2) DS18B20主要特性独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;测温范围55+125,固有测温误差1;支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定;
9、工作电源:35V/DC(可以数据线寄生电源);在使用中不需要任何外围元件;测量结果以912位数字量方式串行传送;不锈钢保护管直径6;适用于DN1525,DN40DN250各种介质工业管道和狭小空间设备测温;标准安装螺纹M10X1,M12X1.5,G1/2”任选;PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。3) DS18B20芯片引脚说明DS18B20只有三个引脚,如下图所示图2 DS18B20引脚DS18B20有3个引脚,其每个引脚都有着特定的功能:GND(1引脚)为电源地;DQ(2引脚)为数字信号输入/输出端;VDD(3引脚)为外接供电电源输入端(在寄生电源接线方式时接地
10、)。如图2。左负右正,一旦接反就会立刻发热,有可能烧毁!接反是导致该传感器总是显示85的原因。面对着扁平的那一面,左负右正。如图3为寄生电源供电方式:图3 DS18B20寄生电源供电方式4) DS18B20工作原理独特的单线接口方式使其工作是必须按照严格的时序才能进行。DS18B20的所有通信都由由复位脉冲组成的初始化序列开始。该初始化序列由主机发出,后跟由DS18B20发出的存在脉冲(presence pulse)。当发出应答复位脉冲的存在脉冲后,DS18B20通知主机它在总线上并且准备好操作了。在初始化步骤中,总线上的主机通过拉低单总线至少480s来产生复位脉冲。然后总线主机释放总线并进入
11、接收模式。主机将总线拉低最短480us,之后释放总线。由于5k上拉电阻的作用,总线恢复到高电平。DS18B20检测到上升沿后等待15到60us,发出存在脉冲:拉低总线60-240us。至此,初始化和存在时序完毕。其时序如下图所示:图4 DS18B20初始化时序主机在写时序向DS18B20写入数据,并在读时序从DS18B20读入数据。在单总线上每个时序只传送一位数据。写时序分为两种:写“0”时间隙和写“1”时间隙。总线主机使用写“1”时间隙向DS18B20写入逻辑1,使用写“0”时间隙向DS18B20写入逻辑0所有的写时序必须有最少60us的持续时间,相邻两个写时序必须要有最少1us的恢复时间。
12、两种写时序都通过主机拉低总线产生。为产生写1时序,在拉低总线后主机必须在15s内释放总线。在总线被释放后,由于5k上拉电阻的作用,总线恢复为高电平。为产生写0时序,在拉低总线后主机必须继续拉低总线以满足时序持续时间的要求(至少60s)。在主机产生写时序后,DS18B20会在其后的15到60us的一个时间窗口内采样单总线。在采样的时间窗口内,如果总线为高电平,主机会向DS18B20写入1;如果总线为低电平,主机会向DS18B20写入0。写0时序和写1时序如图5所示:图5 写“0”时序和写“1”时序DS18B20只有在主机发出读时序后才会向主机发送数据。因此,在发出读暂存器命令 BEh或读电源命令
13、B4h后,主机必须立即产生读时序以便DS18B20提供所需数据。另外,主机可在发出温度转换命令。所有的读时序必须至少有60us的持续时间。相邻两个读时序必须要有最少1us的恢复时间。所有的读时序都由拉低总线,持续至少1us后再释放总线(由于上拉电阻的作用,总线恢复为高电平)产生。在主机产生读时序后,DS18B20开始发送0或1到总线上。DS18B20让总线保持高电平的方式发送1,以拉低总线的方式表示发送0当发送0的时候,DS18B20在读时序的末期将会释放总线,总线将会被上拉电阻拉回高电平(也是总线空闲的状态)。DS18B20输出的数据在下降沿(下降沿产生读时序)产生后15us后有效。因此,主
14、机释放总线和采样总线等动作要在15s内完成。图6为DS18B20的读时序图:图6 读“0”时序和读“1”时序表明了对于读时序,TINIT(下降沿后低电平持续时间),TRC(上升沿)和TSAMPLE(主机采样总线)的时间和要在15s以内。5) DS18B20模块电路图本设计的DS18B20模块负责电路功能是温度采集与转化(DS18B20芯片能自动将采集的温度模拟量转化为数字量),其具体连接电路如下图所示:图7 DS18B20连接电路DS18B20只有三个引脚,因此硬件连线上较为简单。其单总线连接是单片机的P1.1口,因此在程序中可以通过控制P1.1口从而来控制DS18B20的功能。如上图所示,上
15、图是DS18B20在proteus中的元件图。该元件上有一个向上和向下箭头,它表示控制传感器的温度,并且温度在传感器能显示出来。这只是仿真上的一个形式,当然实际的元件不是这样的。并且此处为了连接采用的是外接电源的方式,没有使用寄生电源。若在实际工程使用中,如果连接线路更长,为防止电路受外界干扰,可在DQ这条线路上接一个5k的上拉电阻,这样即可使电路更加稳定。3.2 STC89C51功能介绍1) 简单概述STC89C51是一种带4K字节闪存可编程可擦除只读存储器(FPEROMFlash Programmable and Erasable Read Only Memory)的低电压、高性能CMOS8位微处理器,俗称单片机。STC89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,STC的89C51是一种高效微控制器。STC89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及仿真引脚排列如图8所示:图8 89C51单片机引脚2) 主要功能特性