基于51单片机DS18B20温度检测————设计报告.doc
《基于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)的低电压、高性能CMOS
16、8位微处理器,俗称单片机。STC89C51是一种带2K字节闪存可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除1000次。该器件采用高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,STC的89C51是一种高效微控制器。STC89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。外形及仿真引脚排列如图8所示:图8 89C51单片机引脚2) 主要功能特性带有增强型1T流水线/精简指令集结构8051CPU;工作电压为3.4V-5.5V(5V单片机)或2.0V-3.8V(3V单片机);
17、工作频率范围是0-35MHz,相当于普通8051的0420MHz,实际工作频率可达48MHz;用户应用程序空间有12K/10K/8K/6K/4K/2K字节等多种选择;片上集成512字节RAM;通用I/O口(27/23个),复位后为准双向口/弱上拉(普通8051传统I/O口);可设置成四种模式:准双向口/弱上拉,推挽/强上拉,仅为输入/高阻,开漏;每个I/O口驱动能力均可达到20mA,但整个芯片最大不得超过55mA;ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器;可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成;内部集成MAX810专用复位电路(外部晶体20M以下时
18、,可省外部复位电路);时钟源特点是外部高精度晶体/时钟,内部R/C振荡器,用户在下载用户程序时,可选择是使用内部R/C振荡器还是外部晶体/时钟。常温下内部R/C振荡器频率为:5.2MHz6.8MHz。精度要求不高时,可选择使用内部时钟,因为有温漂,所一般选4MHz8MHz;有2个16位定时器/计数器;外部中断2路,下降沿中断或低电平触发中断,Power Down 模式可由外部中断低电平触发中断方式唤醒;PWM(4路)/PCA(可编程计数器阵列),也可用来再实现4个定时器或4个外部中断(上升沿中断/下降沿中断均可支持);STC89C51具有ADC功能。10位精度ADC,共8路;通用异步串行口(U
19、ART),SPI同步通信口,主模式/从模式工作温度范围:0-75/-40-+85;封装类型有PDIP-28,SOP-28,PDIP-20,SOP-20,PLCC-32,TSSOP-20等。3) STC89C51引脚89C51单片机多采用40只引脚的双列直插封装(DIP)方式,下面分别简单介绍。首先电源引脚VCC是40引脚,单片机正是通过它接入+5V工作电源。与之相对的是GND(20引脚),它是接地端,有了VCC与GND整体电路才能形成回路。时钟引脚有两个,分别是XTAL1(19引脚)和XTAL2(20引脚),其中XTAL1是片内振荡器反相放大器和时钟发生器电路的输入端,而XTAL2是片内振荡器
20、反相放大器的输出端;复位RST(9引脚)在振荡器运行时,当有两个机器周期(24个振荡周期)以上的高电平出现在此引脚时,将使单片机复位,只要这个引脚保持高电平,51芯片便可循环复位;EA/Vpp(31引脚)为外部程序存储器访问允许控制端。当它为高电平时,单片机读片内程序存储器,在PC值超过0FFFH后将自动转向外部程序存储器。当它为低电平时,只限定在外部程序存储器,地址为0000HFFFFH。Vpp为该引脚的第二功能,为编程电压输入端;ALE/PROG(30引脚)其中ALE为低八位地址锁存允许信号。在系统扩展时,ALE的负跳变沿P0口发出的第八位地址锁存在外接的地址锁存器,然后再作为数据端口。P
21、ROG为该引脚的第二功能,在对片外存储器编程时,此引脚为编程脉冲输入端;PSEN(29引脚)为片外程序存储器的读选通信号端。在单片机读片外程序存储器时,此引脚输出脉冲的负跳变沿作为读片外程序存储器的选通信号;Pin39-Pin32为P0.0-P0.7输入输出脚,P0口是一个8位漏极开路型双向I/O口,内部不带上拉电阻,当外接上拉电阻时,P0口能以吸收电流的方式驱动八个TTL负载电路。通常在使用时外接上拉电阻,用来驱动多个数码管。在访问外部程序和外部数据存储器时,P0口是分时转换的地址(低8位)/数据总线,不需要外接上拉电阻;Pin1-Pin8为P1.0-P1.7输入输出脚是一个带内部上拉电阻的
22、8位双向I/0口。P1口能驱动4个TTL负载;Pin21-Pin28为P2.0-P2.7输入输出脚,P2口是一个带内部上拉电阻的8位双向I/O口,P2口能驱动4个TTL负载。端口置1时,内部上拉电阻将端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接收高8位地址和控制信息。在访问外部程序和16位外部数据存储器时,P2口送出高8位地址。而在访问8位地址的外部数据存储器时其引脚上的内容在此期间不会改变;Pin10-Pin17为P3.0-P3.7输入输出脚,P3口是一个内部带上拉电阻的8位双向I/O口,P3口能驱动4个TTL负载,这8个引脚还用于专门的第二功能。端口置1时,内部上拉电阻将
23、端口拉到高电平,作输入用。对内部Flash程序存储器编程时,接控制信息。3.3 时钟电路单片机中CPU每执行一条指令,都必须在统一的时钟脉冲的控制下严格按时间节拍进行,而这个时钟脉冲是单片机控制中的时序电路发出的。CPU执行一条指令的各个微操作所对应时间顺序称为单片机的时序。MCS-51单片机芯片内部有一个高增益反相放大器,用于构成震荡器,XTAL1为该放大器的输入端,XTAL2为该放大器输出端,但形成时钟电路还需附加其他电路。本设计系统采用内部时钟方式,利用单片机内部的高增益反相放大器,外部电路简,只需要一个晶振和2个电容即可,如图9所示:图9 时钟电路电路中的器件选择可以通过计算和实验确定
24、,也可以参考一些典型电路的参数,电路中,电容器C1和C2对震荡频率有微调作用,通常的取值范围是3010pF,在这个系统中选择了22pF;石英晶振选择范围最高可选24MHz,它决定了单片机电路产生的时钟信号震荡频率,在本系统中选择的是12MHz,因而时钟信号的震荡频率为12MHz。3.4 复位电路单片机在启动运行时都需要复位,使CPU和系统中的其他部件都处于一个确定的初始状态,并从这个状态开始工作。MCS-51单片机有一个复位引脚RST,采用施密特触发输入。当震荡器起振后,只要该引脚上出现2个机器周期以上的高电平即可确保时器件复位。复位完成后,如果RST端继续保持高电平,MCS-51就一直处于复
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 51 单片机 DS18B20 温度 检测 设计 报告
限制150内