基于51单片机温度报警器设计(共19页).doc
精选优质文档-倾情为你奉上 安徽商贸职业技术学院毕 业 论 文 设 计 课题:基于51单片机温度报警器设计系部:学制: 专业:姓名: 学号: 2013年10月20日专心-专注-专业目 录、6、100一、摘 要在日常生活及工农业生产中经常要涉及到温度的检测及控制。像电力、化工、石油、冶金、航空航天、机械制造、粮食存储、酒类生产等领域内,温度常常是表征对象和过程状态的最重要的参数之一。比如,发电厂锅炉的温度必须控制在一定的范围之内;许多化学反应的工艺过程必须在适当的温度下才能正常进行;没有合适的温度环境,许多电子设备就不能正常工作,粮仓的储粮就会变质霉烂,酒类的品质就没有保障。因此,各行各业对温度的控制要求都越来越高。由此可见,温度的测量是非常重要的。本设计以单片机AT89C52为核心,通过温度传感器18B20将温度信号转换为电压信号,将温度信号传送给单片机通过温度处理程序,送LCD进行显示,最后温度可以直接由LCD读取。本文详细阐述了硬件每一部分,并给出硬件框图和系统原理图,以及显示温度用的软件程序,文中对所用到的主要器件做了较详细的介绍分析,本设计实现了温度的自动控制和报警功能。 关键词 18B20;传感器;AT89C52;单片机;温度;报警器二、设计方案论证(一)系统主机选择本次设计选择的是Atmel公司的AT89C52,是美国 ATMEL 公司生产的低电压,高性能 CMOS 8 位单片机,片内含 8k bytes 的可反复擦写的 Flash 只读程序存储器和 256 bytes 的随机存取数据存储器(RAM),器件采用 ATMEL 公司的高密度、非易失性存储技术生产,与标准 MCS-51 指令系统及 8052 产品引脚兼容,片内置通用 8 位中央处理器(CPU)和 Flash 存储单元,功能强大 AT89C52 单片机适合于许多较为复杂控制应用场合。(二) 温度传感器选择温度传感器是检测温度的器件,其种类最多,应用最广,发展最快。目前最市场山主要有热敏电阻、双金属片、集成化半导体温度传感器和热电偶四大类。本次设计中采用的是集成化半导体温度传感器DS18B20。DS18B20是美国DALLAS半导体公司继DS1820之后最新推出的一种改进型智能温度传感器。与传统的热敏电阻相比,他能够直接读出被测温度并且可根据实际要求通过简单的编程实现912位的数字值读数方式。可以分别在93.75 ms和750 ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅需要一根口线(单线接口)读写,温度变换功率来源于数据总线,总线本身也可以向所挂接的DS18B20供电,而无需额外电源。因而使用DS18B20可使系统结构更趋简单,可靠性更高。他在测温精度、转换时间、传输距离、分辨率等方面较DS1820有了很大的改进,给用户带来了更方便的使用和更令人满意的效果。(三)液晶选择液晶显示器(LCD)的构造是在两片平行的玻璃当中放置液态的晶体,两片玻璃中间有许多垂直和水平的细小电线,透过通电与否来控制杆状水晶分子改变方向,将光线折射出来产生画面。LCD以其微功耗、体积小、重量轻、超薄型等诸多优点在袖珍式仪表和低功耗系统中得到越来越广泛的应用。本设计中,显示的内容比较简单(字母或者数字),因此选择字符型的显示模块性价比高。这里采用LCD1602,它可以显示两行,每行16个字符,采用单5V电源供电,外围电路配置简单。(四)报警电路选择目前市场上 存在各种各样的报警电路,比如声光触发、触摸断线出发、红外触发等等。一般来说,一个系统都需要设计一个报警电路,以提醒使用者当前系统所出现的错误或者需要引起操作者的注意。考虑本次设计的数字式温度表,只需要在测量的温度超出范围时,提醒使用者即可。因此,相应的报警电路不需要复杂的功能,只需采用一个蜂鸣器即可。三、硬件电路设计(一)设计思路温度只要在所设定的上下温度界限内,就会在显示设备中精确的显示出来,如果温度超过了所设定的温度界限,就发出报警声。能够及时向温度监控人员发出温度超限信息。便于温控人员及时的调整与控制。另外此温度控制器操作简单,体积小,灵敏度高,精度高。(二)总体设计方框图 图2-1 总体设计方框图方框图所示为数字温度控制器的单体设计方框图。其工作原理为:当该电路上电工作以后,首先刷新显示(LCD),然后,温度传感器采集温度送单片机检查温度的高低,由单片机送出信号经过驱动电路送往显示电路。(三)原理图本系统中我们使用的原理图主要分为三部分,单片机部分、传感器电路部分、显示电路部分。图3-2为单片机最小系统的电路设计部分。图3-3为本系统温度检测传感器DS18B20的电路的设计。通过它来检测外部的温度的变化。图3-4为本系统的显示部分电路设计。通过LCD1602来显示测得的温度和系统的工作状态。图3-2 原理图图3-3 DS18B20原理图 图3-4 1602液晶显示原理图(四)单片机最小系统设计单片机最小系统,或者称为最小应用系统,是指用最少的元件组成的单片机可以工作的系统.对51系列单片机来说,最小系统一般应该包括:单片机、晶振电路、复位电路、按键输入、显示输出等。 应用AT89C52单片机设计并制作一个单片机最小系统,达到如下基本要求: 具有上电复位和手动复位功能。 使用单片机片内程序存储器。 具有基本的人机交互接口:按键输入、LED显示功能。 具有一定的可扩展性,单片机I/O口可方便地与其他电路板连接。由于本次设计中并没有按键输入功能,严格来说,并不能称为最小系统,使用它来称呼只是为方便叙述。(五) AT89C52单片机芯片引脚功能介绍单片机的40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。1. 电源: VCC - 芯片电源,接+5V; VSS - 接地端;2. 时钟:XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。3. 控制线:控制线共有4根, ALE/PROG:地址锁存允许/片内EPROM编程脉冲 ALE功能:用来锁存P0口送出的低8位地址 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 PSEN:外ROM读选通信号。 RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。 EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。4. I/O线80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引脚。P3口还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。AT89C52芯片的封装有PLCC、PQFP以及DIP40,本设计采用的是引脚双列直插式封装。其封装形式如(图3-5)。图3-5 AT89C52 DIP-40封装5相关引脚及功能:P0 口:P0 口是一组 8 位漏极开路型双向 I/O 口(引脚3239),也即地址/数据总线复用口。一般在使用时,需外加上拉电阻。P1 、P2、P3口:P1 (引脚18)、P2(引脚2128)、P3(引脚1017)是带内部上拉电阻的 8 位双向 I/O 口。在访问外部程序存储器或 16 位地址的外部数据存储器时,P2 口送出高 8 位地址数据。在访问 8 位地址的外部数据存储器时,P2 口输出 P2 锁存器的内容。P3 口除了作为一般的 I/O 口线外,每个引脚都具有第二功能。RST:复位输入(引脚9)。当振荡器工作时,RST 引脚出现两个机器周期以上高电平将使单片机复位。ALE/PROG: (引脚30)当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低 8 位字节。PSEN:程序储存允许(PSEN)输出(引脚29)是外部程序存储器的读选通信号。EA/VPP:外部访问允许。欲使 CPU 仅访问外部程序存储器(地址为 0000HFFFFH),EA 端必须保持低电平(接地)。如 EA 端为高电平(接 Vcc 端),CPU 则执行内部程序存储器中的指令。XTAL1:振荡器反相放大器的及内部时钟发生器的输入端。XTAL2:振荡器反相放大器的输出端。图3-6 振荡器 6 时钟电路 时钟电路是单片机正常工作的基础,AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路参见图3-6。 外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的难易程序及温度稳定性,如果使用石英晶体,推荐电容使用30pF±10pF。晶体振荡频率f一般选择f12MHz。7复位电路AT89C52在上电时,在复位引脚RST上出现两个机器周期以上的高电平,单片机内则初始复位;当RST由高电平变低电平时,AT89C52从0000H地址开始执行程序。有时因为外界的干扰而使得程序进入死循环或者偏离正常的程序执行,须由人工复位。结合以上两种情况,常用的复位电路如图3-7所示。其中:开关RST用于人工复位,接通时可以保证RST引脚获得足够长时间的高电平;极性电容C,在AT89C52上电时,对C充电,C与电阻R相连的一段端保持高电平,从而保证RST引脚获得大于两个机器周期的高电平;无极性电容Ch主要起滤波作用,滤去高频谐波;二极管VD的作用是,当电源电压瞬间下降时,使电容迅速放电。图3-7 复位电路(六)测温电路设计DS18B20 采用单总线技术,既可通过串行口线,也可通过其它I/O 口线与微机接口,传感器内部内置A/D,直接输出912 位(含符号位)的被测温度值,测温范围为-55 +125,测量分辨率最高可达0.0625,12为精度转换时间750ms(典型);每片DS18B20 内含64bit 经过激光修正的只读存储器ROM,开始8位是产品类型编码,接着的48位是每个器件唯一的序号,最后8位是前面56位的CRC(循环冗余校验)码,因此任意多个DSl820可以存放在同一条单线总线上;从DSl8B20送出或从主机送入DS18B20仅需一条线(和地线);每只DS18B20都可以设置成两种供电方式即数据总线供电方式和外部供电方式,采取数据总线供电方式可以节省一根导线但完成温度测量的时间较长,采取外部供电方式则多用一根导线但测量速度较快。根据18B20的单总线特性,结合设计的目的(两路温度测量),因此这里采用的方案是:利用单片机的一个I/O口作为单总线使用,两路18B20挂接在单总线上,由于单总线的开漏特性,需要外接一个4.7k的上拉电阻,18B20采用外电源供电工作方式,以提高测量速度。设计的电路如图所示。图3-8 18B20图 图3-9 LCD1602图(七)显示电路设计1602字符型LCD模块的应用非常广泛,而各种液晶厂家均有提供几乎都是同样规格的1602模块或兼容模块,尽管各厂家的对其各自的产品命名不尽相同;1602字符型LCD模块最初采用的LCD控制器采用的是HD44780,在各厂家生产的1602模块当中,基本上也都采用了与之兼容的控制IC,所以从特性上基本上是一样的;当然,很多厂商提供了不同的字符颜色、背光色之类的显示模块。通常所见到的1602基本规格:显示容量:16x2个字符芯片工作电压:4.55.5v工作电流:2.0mA(5.0v)模块最佳工作电压:5.0v引脚说明:1 GND 地2 Vcc 电源+5V3 Vo 对比度调节4 RS寄存器选择(H = 数据选择,L = 指令选择)5 RW 读写信号6 E 使能信号714 DB0 DB7 数据线15 A LED+16 K LED- (不带背光功能的1602只有114引脚,没有15、16引脚)图3-10为LCD1602示意图,设计的显示电路如图所示。为便于调节对比度,在1、2引脚间加一可调电阻。714数据引脚接89C52的P0口,RS、RW、E三个控制端接三个I/O口。两个背光引脚这里不使用。图3-10 LCD1602示意图(八)报警电路设计本次设计的报警电路比较简单,由一个蜂鸣器组成。当温度不在被测温度上下范围内,则该蜂鸣器发出报警鸣叫声,从而实现报警功能。四、软件设计系统程序主要包括主程序、读出温度子程序、温度转换命令程序、计算温度子程序、显示数据刷新子程序等等。(一)主程序流程图主程序的主要功能是负责温度的实时显示、读出并处理DS18B20的测量温度值,温度测量每1s进行一次。图3-1主程序流程图(二)测温程序由于DS18B20采用单总线方式来与主机实现通信,而单总线在任何时刻只能有一个控制信号或数据,数据要能在单片机和单总线芯片之间实现可靠的传送,遵循单总线处理次序通信协议,确保数据有条不紊地传送。因此需要使用match rom命令,确定哪个器件在与主机通信,以保证通信的正确。源程序1.延时函数由于DS18B20的时序精准读多为us级的延时,因此有必要独立编写延时函数。void delay5(uchar us) while(-us) _nop_(); _nop_(); _nop_();对于12M晶振,忽略函数调用和返回时间(2+2=4us)us=1时,函数可以延时约为5us(对于11.0592M晶振,时间会大于5us),如果调用时us较大,误差是可以接受的。(三)报警程序报警电路的机构很简单,因此只要改变相关控制引脚的高低电平就可达到目的,具体程序:设置一个报警标志,如果测得的温度超过限度,置标志位,在报警程序中,根据标志位来判断是否发出报警。假设alert_ls, alert_led分别为声光控制引脚,af1、af2分别为两路测温的标志。由硬件电路可知,最初状态alert_ls, alert_led应都为高电平。void alert(uchar af1,uchar af2)if(af1|af2)alert_led=!alert_led;alert_ls=!alert_ls;elsealert_led=1;alert_ls=1;五、系统仿真本次设计的温度采集器已经基本完成了老师交给的任务。并且通过了仿真的验证了系统的可靠性。仿真图片如下(图5-1.)图5-1 报警器温度报警器仿真图六、总结与体会学生时代即将结束了,我也将步入社会。在这即将毕业之际,我也完成了我的论文“温度报警器”的设计,也许没有预想的那么好,但是总算是圆满的完成了。虽然很高兴,但是其中也有许多值得深思的地方。在这次毕业设计的过程中,我也发现了许多的问题,从一无所有到最终收获成果真的是一个很艰难的过程。不仅要选好材料,还要把这些材料合理的井井有条的组织起来。因此我们要学会如何寻找和搜索甚至是自己绘制所需要的电路图。了解各个部分的作用。又再一次的把这两年学过的所有有关专业的知识有重新的巩固了一遍,进一步加深了印象。有好多的东西,只有我们去试着做了,才能真正地掌握,只学习理论知识,而不去实际的操作一下,有些重要的东西是很难理解的,印象也不会很深刻,更谈不上掌握。因此要理论与实践并重。通过这次的毕业论文设计,我真正地意识到,在以后的学习中,要理论与实践相结合,把我们所学的理论知识用到实际当中,实践才是检验真理的唯一标准。我们电子专业的学习更是如此,不仅要有丰富的理论知识,还要有很强的动手能力,只有理论与实践并重,我们的专业水平才能提高。我坚信通过这次论文设计,我在今后的学习生活中将有更大的成就! 参考文献1宋文绪,杨帆.传感器与检测技术M.高等教育出版社,2004.2与海生 等.计算机控制技术M.北京:机械工业出版社,2009.6.3贾伯年 等.传感器技术M.南京:东南大学出版社,2007.2.4马忠梅 等.单片机的C语言应用程序设计M.北京:北京航空航天大学出版社,2003.11.5易丽华 黄俊. 基于AT89C52 单片机与DS18B20 的温度测量系统J.电子与封装ELECTRONICS & PACKAGING,2009,第9卷(第5期).6 朱群峰 等.基于DS18B20 的多路温度采集系统J. 船电技术,2009 ,Vol.29 No.2.附录原理图