本科毕业论文-基于at89s52单片机的温度检测系统设计_第1页
本科毕业论文-基于at89s52单片机的温度检测系统设计_第2页
本科毕业论文-基于at89s52单片机的温度检测系统设计_第3页
本科毕业论文-基于at89s52单片机的温度检测系统设计_第4页
本科毕业论文-基于at89s52单片机的温度检测系统设计_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于AT89S52单片机的温度检测系统设计摘要当今时代,单片机技术已经普及到我们的生活、工作等方方面面,已经成为了一种比较成熟的技术。温度是生产过程和日常生活中普遍而且很重要的影响因素,经常要进行温度的检测和控制,而利用单片机去进行温度检测与控制则给我们提供了方便。温度测量是温度控制系统中的基础。本文介绍了一个基于AT89S52单片机的温度检测系统,该系统是以AT89S52单片机为核心元件,外加温度采集电路、显示电路和报警电路等。温度采集电路采用单总线型数字式的温度传感器DS18B20,DS18B20与AT89S52单片机结合实现最简单的温度检测与报警系统。该系统可以方便的实现温度采集、温度显示、报警,并可根据需要任意设定上下限报警温度。该系统使用起来相当方便,尤其是它的抗干扰能力强,适合于恶劣环境下进行现场温度测量,有着广泛的应用前景。关键词AT89S52单片机;温度采集;DS18B20;报警DESIGNOFTEMPERATUREDETECTIONSYSTEMBASEDONMICROCONTROLLERABSTRACTNOWADAYS,MICROCONTROLLERTECHNOLOGYHASBEPOPULARINOURLIVES,WORKSANDSOON,WHICHHASBECOMEARELATIVELYMATURETECHNOLOGYTEMPERATUREISAVERYCOMMONANDIMPORTANTELEMENTDURINGTHEPRODUCTIONPROCESSANDPEOPLESDAILYLIVES,SOWEOFTENNEEDTOCHECKTEMPERATUREANDCONTROLIT,BUTITISMORECONVENIENTFORUSTHATUSINGMICROCONTROLLERTOCHECKANDCONTROLTEMPERATURETEMPERATUREMEASUREMENTISTHEBASISOFTEMPERATURECONTROLLINGTHISPAPERDESCRIBESAMICROCONTROLLERAT89S52WHICHBASEDONTEMPERATUREDETECTIONSYSTEMTHESYSTEMISBASEDONAT89S52MICROCONTROLLERWHICHISACORECOMPONENT,ANDINCLUDINGTEMPERATURECOLLECTCIRCUIT,DISPLAYCIRCUITANDALARMCIRCUITTHETEMPERATURECOLLECTCIRCUITUSESASINGLEBUSDIGITALTEMPERATURESENSORDS18B20DS18B20ANDAT89S52COMBINEDTOACHIEVETHEMOSTSIMPLETEMPERATUREDETECTIONANDALARMSYSTEMTHESYSTEMCANEASILYACHIEVETOCOLLECTTEMPERATURE,DISPLYTEMPERATURE,ALARM,ANDALSOCANARBITRARILYSETUPPERANDLOWERALARMTEMPERATURETHESYSTEMISVERYCONVENIENTTOUSE,ESPECIALLYITSANTIINTERFERENCEABILITYISVERYSTRONGSOTHATITSUITTOMEASURETEMPERATUREINVERYHARDENVIRONMENTS,WHICHHASAWIDERANGEOFAPPLICATIONSKEYWORDSAT89S52MICROCONTROLLERTEMPERATURECOLLECTDS18B20ALARM目录第1章绪论111课题背景及意义112国内外研究的现状113研究设计的主要内容2第2章系统方案论证与比较421温度传感器的选择422显示器的选择423单片机的选择5231凌阳单片机5232AT89S52单片机5第3章温度测量的基本原理631温度测量的几种方法632数字温度传感器DS18B20的测温原理6第4章主要芯片及技术介绍941AT89S52单片机介绍9411主要功能特性9412各引脚功能及管脚电压9421WIRE总线技术13421单总线技术概述13422单总线接口的硬件结构13423单总线芯片序列号1443DS18B20介绍14431DS18B20的特性14432DS18B20的外形和内部结构15433DS18B20的使用方法16第5章温度检测系统的硬件设计1951系统总体构成1952单片机复位电路19521常用的两种复位电路19522单片机复位后的状态2053时钟电路2054温度采集电路2155LED显示电路2156报警电路2257键盘电路23571键盘接口电路23572键盘使用说明2358电源接口电路24第6章温度检测系统的软件设计2561系统软件的整体设计2562系统的主程序2663温度采集程序2764LED显示程序29第7章系统软件的汇编与调试3171PROTEUS713172KEILUVISION23273仿真结果分析3374硬件焊接及系统调试36第8章结束语38致谢40参考文献41附录1系统硬件电路图43附录2实物图44附录3PCB图45附录4程序清单46第1章绪论11课题背景及意义在科学技术突飞猛进的今天,温度检测与控制起到不可忽视的作用。温度控制不论是在医疗领域还是在工业控制领域应用都非常广泛。例如在电力工程、食品加工、冶金工业、化工生产造纸行业和机械制造等诸多领域中,需要对各类反应炉、加热炉和热处理炉的温度进行测量并进行控制,尤其是在工业生产过程中,很多时候都需要对温度进行严格的监控,以保证生产能够顺利进行,从而产品的质量才能得到有效的保证1。自动控制系统在各个领域尤其是工业领域中有着广泛的应用,而温度控制是控制系统中最为常见的控制之一,其中温度采集及其报警是整个控制系统的基础。随着单片机技术的日益成熟,通过单片机对温度检测日益成为自动控制领域的一个重要发展方向。采用单片机来对温度进行检测,不仅具有控制方便、组态简单和灵活性大等优点,而且可以大幅度提高被控温度的精确性,从而能够大大提高产品的质量和数量1。12国内外研究的现状在当今时代,温度检测技术日新月异,许多新的温度检测的技术不断得到开发,并且取得了很大的进展。在工业上这些新的测温技术开始投入应用,主要有以下几种(1)采用集成电路温度检测元件。该元件是利用硅晶体管的基极与发射极之间电压与温度的关系即半导体PN结的温度特性进行温度检测。该元件是把用于温度测量、信号处理以及放大电路等电路模块集成在一块芯片上,并将其封装在小型管壳内,从而制造出的集成电路温度检测元件。目前,国内在这方面也开始了生产。(2)采用半导温度检体测元件,该元件在众多的温度检测元件中很具有代表性。半导体的电阻温度系数比金属大L2个数量级,二极管和三极管的PN结电压、电容对温度灵敏度很高。目前很多测温元件都是基于上述测温原理。(3)石英晶体温度检测器。该系列元件采用LC或Y型切割的石英晶片的共振频率随温度变化的特性而制作。它可以自动补偿石英晶片的非线性,测量精度较高,一般可检测到0001。(4)采用热噪声温度检测器,它是利用热电阻元件产生的噪声电压与温度具有的相关性来设计的。其特点如下感温元件的阻值几乎不影响测量精确度;输出噪声电压大小与温度是比例关系;不受压力影响;因此,它是可以直接读出绝对温度值而不受材料和环境条件限制的温度检测器。(5)采用核磁共振温度检测器,这种检测温度的方法是利用共振吸收频率随温度上升而减少的原理研制成的,它的原理是将具有核自旋的物质置于静磁场中,当在与静磁场垂直方向上加上电磁波时,就会发生对某频率电磁的吸收现象。这种检测器精度极高,是一种性能十分良好的温度检测器。在常温下,可作理想的标准温度计之用。(6)采用光纤温度检测器,这种是目前光纤传感器中发展较快的一种,它是利用双折射光纤的传输光信号滞后量随温度变化的原理而制成的双折射光纤温度检测器,检测精度在1以内,测温范围可以从绝对0到2000。(7)微波温度检测器是采用微波测温可以达到快速测量高温的目的。它是利用在不同温度下,温度与控制电压成线性关系的原理制成的。这种检测器的灵敏度为250KHZ/,精度为1左右,检测范围为201400。通过对以上温度检测新技术的概述可以看出,未来温度检测技术的发展趋势主要表现在下面几个方面(1)加强新原理、新材料、新加工工艺的开发。如近来已经开发的炭化硅薄膜热敏电阻温度检测器,厚膜、薄膜铂电阻温度检测器,硅单晶热敏电阻温度检测器等。(2)扩大测温对象。温度检测技术将会由点测温发展到线、面,甚至立体的测量,它的应用范围也不断的在扩大,像如今在家用电器、汽车工业等领域方面也有了应用。(3)新产品的开发。为了适应越来越多的需求,许多新的产品正在不断的被研制出来,同时新的检测技术也逐渐在开发新产品时不断的得到应用。(4)扩展检测范围。随着现代工业不断的发展,产品的质量的要求也不段的在提高,尤其是那些对温度要求较高的产品。所以在未来测量温度的范围会有所扩大,比如在超高温的测量。(5)向智能化、集成化、适用化方向发展。新产品不仅要具有检测功能,又要具有判断和指令等多功能,采用微机向智能化方向发展。向机电一体化方向发展2。13研究设计的主要内容本文主要讲述了一个基于AT89S52单片机的温度检测系统。该系统充分利用了数字温度传感器DS18B20的特点,设计了一个集温度采集与转换、显示以及报警一系列任务的系统。该系统的温度信号由数字温度传感器DS18B20采集,并以数字信号的方式传送给单片机。单片机将获得的温度值在数码管上显示出来。数码管的显示采用动态扫描的方式,为了增强数码管的显示效果并对单片机的P0口进行上拉,并用PNP型的三极管来驱动数码管。数码管采用4位共阳极的LED。同时单片机还需要进行温度值的判断,看是否超越所设置的温度上下限,若低于或高于所设定的温度,单片机将发出信号使蜂鸣器报警并有相应的指示灯亮。该系统设计包括硬件及软件设计,现对本文整体结构安排进行如下介绍。在第一章中主要介绍当前温度检测技术的背景及其意义,讨论下该技术未来的发展趋势。在第二章中则对该系统设计的方案进行下论证,主要包括各关键部分元器件的选择。在第三章则对温度检测的基本原理进行下简单的介绍,并针对本设计所采用的DS18B20的工作原理进行下介绍。第四章则是对该系统所采用的单片机及芯片进行介绍,为后面的工作打下理论基础。第五章则是温度检测系统的硬件设计,主要包括各关键部位的电路设计。第六章则是本系统的软件设计,给出了软件设计的流程图。第七章是系统的仿真及硬件电路焊接与调试,介绍了仿真结果及调试所遇到的问题。在最后一章中则对该系统的不足之处进行了说明,并对后续工作的开展进行了展望。第2章系统方案论证与比较21温度传感器的选择温度检测系统有其共同的特点测量点多、环境复杂、布线分散、现场离监控室远等。若采用一般温度传感器采集温度信号,则需要设计信号调理电路、A/D转换及相应的接口电路,才能把传感器输出的模拟信号转换成数字信号送到计算机去处理。这样,由于各种因素会造成检测系统较大的偏差,因此温度检测系统设计的关键在于温度传感器的选择。方案一本方案采用模拟温度传感器AD590作为测温元件,传感器将测量的温度变换转换成电流的变化,再通过电路转换成电压的变化,使用运算放大器将信号进行适当的放大,最后通过模数转换器将模拟信号转换成数字信号,传送给单片机。此方案的硬件电路过于繁琐,不可取。方案二采用热敏电阻,可满足4090测量范围,但热敏电阻精度、重复性、可靠性较差,对于检测1摄氏度的信号是不适用的。而且在温度测量系统中,采用单片温度传感器,比如AD590,LM35等。但这些芯片输出的都是模拟信号,必须经过A/D转换后才能送给计算机,这样就使得测温装置的结构较复杂。另外,这种测温装置的一根线上只能挂一个传感器,不能进行多点测量,即使能实现,也要用到复杂的算法,一定程度上也增加了软件实现的难度。方案三该方案采用单总线的温度传感器,例如DS18B20。该系列温度精度高,只需要一个I/O口就能驱动,不需要将温度传感器的输出信号接到A/D转换器上,可以直接读出被测温度值,这样可以省去很多传统的外围电路。另外该芯片的物理性质与化学性质很稳定,元件线形较好,在0100时,最大线形偏差小于1。这样,使用DS18B20来进行温度的测量就大大简化了测温电路的难度并且体积也不大,总体电路显得更加简洁,在搭建电路和焊接电路也更快,而且集成块的使用,能有效地避免外界的干扰,提高测量电路的精确度,所以集成芯片的使用将成为电路发展的一种趋势3,4。综上所述,本系统温度传感器采用方案三。22显示器的选择方案一采用传统的七段数码LED显示器。LED具有价格便宜,亮度高,显示大,编程简易,易操作等优点。方案二采用LCD液晶显示器进行显示。LCD液晶显示器是一种低压、微功耗的显示器件。它的显示效果相比数码管来讲就优越的多,但是液晶显示常用于精密仪器仪表,而且编程复杂,价格上也贵了许多。本设计系统对显示效果要求不是很高,刷新温度的频率也不需要太高,能够准确的显示出温度,并且当温度变化时能够准确的反应出温度的变化就行了,故本设计显示器采用方案一。23单片机的选择231凌阳单片机随着单片机功能集成化的发展,单片机的应用范围也逐渐地由传统简单功能的控制,扩展成过程控制、数字信号处理(DSP,DIGITALSIGNALPROCESSING)以及数据分析等领域。凌阳单片机在这种背景下而被开发出来的。这一系列的单片机有以下特点体积小,集成度高,可靠性好易于扩展。该类单片机内部采用总线结构,减少了各功能部件之间的连接,从而提高了它的可靠性和抗干扰的能力。它的中断系统支持10个中断向量及10余个中断源,片内具有静态RAM和多功能的I/O口,并且其ROM的寻址能力较强,同时它所具有的独特的乘法运算指令和内积运算指令为其应用添加了不少色彩,使得该类型单片机在一些复杂的数字信号处理中很有优势。凌阳单片机其优势主要体现在硬件方面,抗干扰能力强,但是凌阳单片机我没有接触过,这对于我来说不是很容易上手,其次它的价格也要比AT89S52昂贵的多,因此我并没有选择凌阳单片机5。232AT89S52单片机ATMEL公司的AT89系列8位5单片机,它广泛应用于工业测控系统之中。其指令是采用的被称为“CISC”的复杂指令集,共具有111条指令。89S52单片机本身的电源电压是5V,有两种低功耗方式待机方式和掉电方式。正常情况下消耗的电流为24MA,在掉电状态下,其耗电电流仍为3MA;即使在掉电方式下,电源电压可以下降到2V,但是为了保存内部RAM中的数据,还需要提供约50UA的电流。AT系列的单片机是最早进入中国的单片机,人们对它在熟悉不过了,再加上我国各方人士的努力,创造了不少适合我们使用的开发工具。而S52单片机不仅完全兼容51系列的单片机,而且在51的基础上做了许多优化,功能更加全面,它的价格低廉,却方便实用。同时,以MCS51技术核心为主导的单片机已成为许多厂家、电气公司竞相选用的对象,并以此为基准,推出许多与MCS51有极好兼容性的CHMOS单片机,同时增加了一些新的功能,而且AT89S52单片机有其独特的特点,可以支持在线编程,考虑到成本及自己熟悉程度的问题,本设计采用AT89S52单片机6。第3章温度测量的基本原理31温度测量的几种方法温度是表征物体冷热程度的物理量。温度只能通过物体随温度变化的某些特性来间接测量,温度测量仪表按测温方式可分为非接触式和接触式。一般来讲由于需要与被测物体进行接触,接触式测温仪表测得的温度一般比较可靠且测量的精度较高;但因测温元件需要与被测物体进行充分的热交换,这就需要一定的时间才能达到热平衡,所以存在测温的延迟现象,同时受耐高温材料的限制,不能应用于很高的温度测量。非接触式仪表测温是通过热辐射原理来测量温度的,测温元件不需与被测物体接触,测温范围广,不受测温上限的限制,也不会破坏被测物体的温度场,反应速度一般也比较快;但受到物体的发射率、测量距离、烟尘和水气等外界因素的影响,其测量误差较大。目前在广泛采用的测温方法有以下几种(1)热电偶温度检测方法。热电偶测温基本原理是将两种不同材料的导体或半导体A和B焊接起来,构成一个闭合回路,当导体A和B的两个执着点1和2之间存在温差时,两者之间便产生电动势,因而在回路中形成一个大小的电流,这种现象称为热电效应。热电偶就是利用这一效应来工作的。(2)热电阻是中低温区最常用的一种温度检测器。热电阻测温原理是基于金属导体的电阻值随温度的增加而增加这一特性来进行温度测量的。热电阻大都由纯金属材料制成。热电阻测温系统一般由热电阻、连接导线和显示仪表等组成。(3)IC集成温度传感器,全数字化读取,必须配合单片机使用,可以连接成网络使用,三线即可读取温度,电源、地、数据7。32数字温度传感器DS18B20的测温原理DS18B20测温原理如图31所示。图中低温度系数晶振用于产生脉冲信号送给计数器1,它的振荡频率受温度的影响很小,可以近似认为产生的是固定频率的脉冲。而图中的高温度系数晶振产生的振荡频率随温度变化而变化则比较明显,它所产生的信号作为计数器2的输入脉冲。温度寄存器与计数器1被预置在55所对应的一个基数值。当温度传感器开始工作时,计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1中预先设定的基数值减为0时,温度寄存器的值将加1,计数器1的基数值将重新被装入。计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环,直到计数器2计数为0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测目标的温度。1020加1停止图31DS18B20测温原理框图DS18B20的核心是一个数字化的传感器,可以把55125的温度值转换成数字量。DS18B20上电后默认的分辨率是12位,当DS18B20接收到总线上单片机发来的温度转换命令(44H)后,DS18B20就开始进行温度的转换。以12位转化为例用16位符号扩展的二进制补码读数形式提供,以00625/LSB形式表达,其中S为符号位8。如下图32所示。MSBLSBLSBMSBUNITSSSSS2625242322212021222324图3212位分辨率温度值存储格式图32是转化后得到的数据,存储在RAM的两个字节中,这16位中的前面5位是符号位,如果测得的温度是正值,则这5位为0,此时只要将内存中的数值乘于00625即可得到实际温度;如果温度为负,那么这5位为1,那么此时只需要将内存中的数值取反加1再乘于00625即可得到实际温度。如85的数字输出0550H,10125的数字输出为00A2H,05的数字输出为FF5EH。最后CPU向DS18B20读取温度并进行分析处理。表31给出了部分温度与数字输出对应关系9。表31部分温度与数字输出对应关系温度数字输出(二进制)数字输出(十六进制)125000001111101000007D0H8500000101010100000550H25062500000001100100010191H10125000000001010001000A2H000000000000000000000H051111111111111000FF5EH2506251111111001101111FE6FH第4章主要芯片及技术介绍41AT89S52单片机介绍AT89S52单片机是美国ATMEL公司生产的一个低功耗,高性能CMOS8位微控制器。该器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS51指令系统,功能强大的AT89S52单片机可为用户提供许多较复杂的应用控制场合解决方案。411主要功能特性(1)与MCS51单片机产品兼容(2)1000次擦写周期(3)8K字节在系统可编程FLASH存储器(4)全静态操作0HZ33HZ(5)三个16位定时/计数器(6)掉电标识符(7)三级加密程序存储器(8)8个中断源(9)掉电话中断可唤醒(10)低功耗空闲和掉电模式(11)全双工UART串行通道(12)看门狗定时器(13)双数据指针(14)32个可编程I/O口线412各引脚功能及管脚电压AT89S52芯片有40条引脚,双列直插式封装引脚图如图41所示。主要管脚有VCC40电源GND20接地XTAL1(19脚)和XTAL2(18脚)为振荡器输入输出端口,外接12MHZ晶振。RST/VPD(9脚)为复位输入端口,外接电阻电容组成的复位电路。T2EXP11P12P13P14MOSIP15MISOP16SCKP17RSTRXDP30TXDP31INT0P32INT1P33T0P34T1P35WRP36RDP37XTAL2XTAL1GNDP20A8P21A9P22A10P23A11P24A12P25A13P26A14P27A15PSENALE/PROGEA/VPPP07AD8P06AD7P05AD5P04AD4P03AD3P02AD2P01AD1P00AD0VCCT2P10PDIP图41AT89S52引脚图P0口P0口是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口P0写“1”时,可作为高阻抗输入端用。P0口具有内部上拉电阻。在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。在FLASH编程时,P0口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。P1口P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动4个TTL逻辑门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。作输入口使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流IIL。此外,P10和P12还可分别作为定时/计数器2的外部计数输入(P10/T2)和定时/计数器2的触发输入(P11/T2EX),具体如表41所示。在FLASH编程和程序校验时,P1口接收低8位地址。P2口P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动4个TTL逻辑电平。表41P10和P11的第二功能引脚号第二功能P10T2(定时/计数器T2外部计数输入),时钟输出P11T2EX(定时/计数器T2捕捉/重载触发信号和方向控制)P15MOSI在系统编程用P16MISO在系统编程用P17SCK在系统编程用对端口P2写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流IIL。在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVXDPTR)时,P2口送出高8位地址数据。在访问8位地址的外部数据存储器(如执行MOVXRI指令)时,P2口输出P2锁存器的内容。在FLASH编程或校验时,P2也接收高位地址和一些控制信号。P3口P3口是一组带有内部上拉电阻的8位双向I/O口。P3口输出缓冲级可驱动4个TTL逻辑电平。对P3口写入“1”时,内部上拉电阻拉高,此时可以作为输入端口。作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。P3口亦作为AT89S52特殊功能第二功能使用,如表42所示。表42P3口第二功能端口引脚第二功能P30RXD(串行输入口)P31TXD(串行输出口)P32INT0(外中断0)P33INT1(外中断1)P34T0(定时/计数器0外部输入)P35T1(定时/计数器1外部输入)P36WR(外部数据存储器写选通)P37RD(外部数据存储器读选通)在FALSH编程和校验时,P3口也接收一些控制信号。RST复位输入。在晶振工作时,RST脚持续2个机器周期高电平将使单片机复位。看门狗计时完成后,RST脚输出96个晶振周期的高电平。特殊寄存器AUXR(地址8EH)上的DISRTO位可以使此功能无效。DISRTO默认状态下,复位高电平有效。ALE/PROG地址锁存控制信号(ALE)是访问外部程序存储器时,锁存低8位地址的输出脉冲。在FLASH编程时,此引脚(PROG)也用作编程输入脉冲。一般情况下,ALE以时钟振荡频率的1/6输出固定的脉冲信号,可用来作为外部定时器或始终使用,然而,特别强调,在每次访问外部数据存储器时,ALE脉冲将跳过。如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的第0位置位,可禁止ALE操作。该位置位后,只有一条MOVX和MOVC指令才能将ALE激活。否则,该引脚会被微弱拉高,这个ALE使能标志位(地址为8EH的SFR的第0位)的设置对微控制器处于外部执行模式下无效。PSEN外部程序存储器选通信号是外部程序存储器选通信号,当AT89S52从外部程序存储器执行外部代码时,PSEN在每个机器周期被激活两次,而在访问外部数据存储器时,PSEN将不被激活。EA/VPP访问外部程序存储器控制信号。为使能从0000H到FFFFH的外部程序存储器读取指令,EA必须接GND。为了执行内部程序指令,EA应该接VCC。在FLASH编程期间,EA也接收12V的VPP电压。XTAL1振荡器反相放大器的及内部时钟发生电路的输入端。XTAL2振荡器反相放大器的输出端。在AT89S52中,定时器0和定时器1的操作与AT89S51和AT89C52一样。定时器2是一个16位的定时/计数器。它既可当定时器使用,又可以做外部事件计数器,其工作方式由特殊功能寄存器T2CON的C/T2位选择。定时器2有三种工作方式捕获方式,自动重装载(向上或向下计数)和波特率发生器,工作模式由T2CON的相关位选择。定时器2有两个8位寄存器TH2和TL2组成,在定时工作方式中,每个机器周期,TL2寄存器都会加1,由于一个机器周期由12个晶振周期构成,因此,计数速率为振荡频率的1/12。在计数工作方式时,当T2引脚上外部输入信号产生由1至0的下降沿时,寄存器的值加1,在这种工作方式下,每个机器周期的5SP2期间,对外部输入进行采样。若在第一个机器周期中采到的值为1,而在下一个机器周期中采到的值为0,则在紧跟着的下一个周期的S3P1期间寄存器加1。由于识别1至0的跳变需要2个机器周期(24个振荡周期),因此,最高计数速率为振荡频率的1/24。为确保采样的正确性,要求输入的电平在变化前至少保持一个完整周期的时间,以保证输入信号至少被采样一次。捕捉方式在捕捉方式下,通过T2CON控制位EXEN2来选择两种方式。如果EXEN20,定时器2是一个16位定时器或计数器,计数溢出时,对T2CON的溢出标志TF2置位,同时激活中断。如果EXEN21,定时器2完成相同的操作,而当T2EX引脚外部输入信号发生1至0负跳变时,也出现TH2和TL2中的值分别被捕获到RCAP2H和RCAP2L中。另外,T2EX引脚信号的跳变使得T2CON中的EXF2置位,与TF2相仿,EXF2也会激活中断。定时器0和定时器1的标志位TF0和TF1在定时器溢出那个机器周期的S5P2状态置位,而会在下一个机器周期才查询到该中断标志。然而,定时器2的标志位TF2在定时器溢出的那个机器周期的S2P2状态置位,并在同一个机器周期内查询到该标志。数据查询AT89S52单片机用DATAPALLING表示一个写周期结束为特征,在一个写周期中,如需读取最后写入的一个字节,则出的数据的最高位(P07)是原来写入字节最高位的反码。写周期完成后,所输出的数据是有效的数据,即可进入下一个字节的写周期,写周期开始后,DATAPALLING可能随时有效1014。421WIRE总线技术421单总线技术概述目前常用的微机与外设串行总线主要有我们熟悉的I2C总线,SPI总线,SCI总线。其中I2C总线是两线方式通信的(一条数据线,一条时钟线),SPI总线则是三线方式进行通信的(一条数据输入线,一条数据输出线,一条时钟线),以上两种都是以同步串行的方式。而SCI总线则是以异步方式。这些总线至少需要有两条或两条以上的信号线。近年来DALLAS半导体公司推出了单总线(1WIREBUS)技术,与目前多数标准串行数据通信方式不同,它采用单根信号线,且数据传输是双向的。具有节省I/O口线资源,结构简单,成本低廉,便于总线扩展和维护等优点15。422单总线接口的硬件结构单总线只有一根数据线。系统中的数据交换、控制都在这根线上完成。任何单总线系统都包括一台主机和一个或多个从机。个别器件可以通过总线获得工作电源,当数据线为高电平时,电荷存储在器件内部;当数据为低电平时,器件通过这些电荷来提供能量。设备(主机或从机)通过一个漏极开路或三态端口连至该数据线,这样允许设备不发送数据时释放总线,以便其他设备使用总线,其内部等效电路,如图42所示。RXTX47KVPUVPU1WIREDQPIN1WIRERXTX100MOSFET5UATPYRXTX图42单总线的硬件接口示意图423单总线芯片序列号单总线一个基本的特色就是每一个芯片都有一个唯一的序列号,任何两个单总线设备的序列号都不会重复。当一条总线上有多个单总线设备时,系统主机可以通过不同的序列号来识别总线上挂着的不同设备。单总线设备的序列号共有64位8个字节,其中第一个字节表示器件的家族码,如数字温度传感器DS18B20的家族码是28H;中间六个字节表示的是器件的序列号;序列号最后8位表示的是前面56位的CRC检验码,通过检验读出的这64位数字的CRC检验结果,即可保证数据通信的正确性16。43DS18B20介绍温度传感器DS18B20是美国DALLAS半导体公司推出的一种改进型智能温度传感器。它在测温精度、转换时间、传输距离、分辨率等方面也有很大的改进。下面将分别介绍其功能特点,内部结构和使用方法。431DS18B20的特性(1)在寄生电源方式下可从数据线上汲取能量,且能够适应3055V的电压。(2)在与微处理器连接时仅需要一根I/O线。(3)在单总线上可以挂多个DS18B20。(4)全部传感元件及转换电路集成在形如一只三极管的集成电路内,没有外围电路。(5)测温范围为55125,在1085时精度为05。(6)温度分辨率可设置912位。最高精度可达到00625。(7)将温度转换为数字的速度更快。(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力。(9)电源极性接反时,芯片不会因发热而烧毁,但不能正常工作17。432DS18B20的外形和内部结构DS18B20的引脚排列如图43所示,它具有3脚PR35封装和8脚SOIC封装两种封装模式。采用3脚封装时,DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端;采用8脚SOIC封装时,1、2、6、7、8脚悬空,3脚接外部电源,4脚为数字信号输入输出端,5脚接地18,19。DALLASDS18B20123GNDDQVCC1NCNCVDDDQNCNCNCGNDDS18B20Z8PINSOIC150MIL12348765图43DS18B20外形结构图DS18B20内部结构如图44所示。其主要由4部分组成温度传感器、64位光刻ROM、非易失性的温度报警触发器TH和TL、配置寄存器。64位ROM用于数据校验,温度传感器是DS18B20的内部测温设备,温度报警触发器用来设置温度报警的上下值,配置寄存器用来设置使用DS18B20时的工作方式及温度的分辨率。8CRC64ROMTLTH图44DS18B20内部结构图ROM中的64位序列码是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列码均不相同,开始8位是单线产品系列编码(DS18B20的编码是28H,DS1820的编码是10H),同一型号的单总线器件的编码相同。接着的48位是该DS18B20唯一的序列号,最后8位是前面56位的循环冗余检验码。DS18B20的内部存储器包括一个高速暂存(RAM)和一个非易失性的可电擦除的EEPROM,后者存放高温触发器TH、低温触发器TL和结构寄存器18,20,21。其中配置寄存器的格式如下表43所示。表43配置寄存器格式0R1R111111在配置寄存器中首位为TM(测试模式位),用来设置DS18B2O是处于工作模式还是测试模式。R1与R0用来设置分辨率,如下表44示。表44温度分辨率设置表R0R1温度计分辨率/BIT最大转换时间/MS00993750110187510113751112750433DS18B20的使用方法由于单片机与DS18B20只需要一根I/O线即可通讯,那么对数据的读写操作必然会有严格的要求。DS18B20严格的通信协议确保了数据的正常传输,该协议规定了以下几种操作时序初始化时序、读时序、写时序。每一次对DS18B20的操作都需要主机重新对其复位,例如在初始化DS18B20后执行了写操作,此时若想从DS18B20中读取出数据,那么主机需要再次对芯片进行初始化操作。DS18B20的数据与命令的传输都是低位在前22。(1)初始化时序基于单总线的所有传输过程都是以初始化开始的,故对单总线器件的初始化操作尤其重要。初始化时序如图37所示,脉冲使单片机知道,总线上有1WIRE设备,且准备就绪。初始化过程如下主机通过拉低总线480US以上,产生复位脉冲,然后释放总线。主机释放总线时,会产生一个上升沿。单总线器件检测到上升沿后,延时1560US,通过拉低总线60240US来产生应答脉冲。主机接收到从机的应答脉冲,说明单总线器件在线。VCCMASTERTX“RESETPULSE”480USMINIMUM960USMAXIMUMMASTERRX480USMINIMUMDS18B20WAITS1560USDS18B20TX“PRESENCEPULSE”60240USGND1WIREBUSBUSMASTERACTIVELOWBOTHBUSMASTERANDDS18B20ACTIVELOWDS18B20ACTIVELOWRESISTORPULLUP图45初始化命令时序图(2)DS18B20的读时序DS18B20的读时序分为读0时序和读1时序两个过程,其读时序如图46所示。当微处理器开始读DS18B20中的数据时,微处理器就把总线拉低,在将总线拉低至少15US后开始释放总线,以便让微处理器在随后至少45US的时间内对总线上的数据进行采样,若总线上为高电平读出DS18B20中的数据为“0”,若为高电平则读出的数据为“1”。由此可见每一位的读时序至少需要60US才能完成17。MASTERREAD“0”SLOT1US1US1WIREBUSMASTERSAMPLESMASTERSAMPLESVCCGND图46DS18B20的读时序3、DS18B20的写时序DS18B20的写时序分为写1时序和写0时序,其写时序如图47所示23,24。MASTERWRITE“0”SLOT60US1USDS18B20SAMPLESMINTYPMAXDS18B20SAMPLESMINTYPMAX1WIREBUS图47DS18B20的写时序从图中可以看出DS18B20的写时序至少为60US,而且在写0与写1时序上有些不同。当写周期开始时,主机把总线拉低1US表示写周期开始。当要写0时,总线则继续被拉低到至写周期结束;当要写1时序时,单总线被拉低1US之后便可释放总线,主机将在随后的时间内对总线进行采样,若总线维持高电平,则向DS18B20写入1。第5章温度检测系统的硬件设计51系统总体构成本系统通过温度传感器将现场温度传至单片机,并将采集到的温度与用户设定的目标温度,进行比较是否超越极限以此控制蜂鸣器自动报警,从而达到检测温度的目的,其主要由温度采集模块、LED显示模块、键盘输入模块以及报警模块等组成。系统硬件结构框图如图51所示。LED图51系统硬件框图52单片机复位电路521常用的两种复位电路单片机在启动时都需要复位,复位的目的以使单片机从初态开始工作。并且这个初始状态是可预知的状态,AT89S52单片机的复位信号是从RST引脚输入的,当单片机在正常工作状态时,如果RST引脚上出现一个高电平并维持至少2个机器周期,那么单片机将响应复位信号并将系统复位。单片机系统的复位方式有两种按键复位和上电复位。按钮复位需要人为在复位输入端RST加上高电平。本设计采用的是是在RST端和正电源VCC之间接一个按钮,并接一个10K的电阻来分压。当按下按键后,VCC的5V电压就会直接加到RST端。按钮复位的电路如图52所示。由于人按键时的动作比较缓慢,可以满足两个机器周期的要求,所以,完全能够实现单片机的复位。S2R210KC310UFVCCRESET图52按键复位电路522单片机复位后的状态系统复位是任何微机系统执行的第一步,使单片机回到默认的初始状态。S52单片机的复位也是由RESET引脚来控制的,此引脚与高电平相接达到2个机器周期以上,S52单片机自动进入复位状态,而且一直在此状态下等待,直到RESET引脚的电平变为低电平后,再开始检查EA管脚的电平信号,若为高电平则执行单片机内部的程序代码,若为低电平则取执行外部扩展的程序。S52单片机复位后进入初始化状态,其复位后寄存器的状态见表51所示。表51复位后特殊功能寄存器状态特殊功能寄存器初始状态特殊功能寄存器初始状态A00HTMOD00HB00HTCON00HPSW00HTH000HSP007HTL000HOPL00HTH100HOPH00HTL100HP0P3FFHSBUF不定IP00000BSCON00HIE000000EPCON0B上表说明表中符号为随机状态。上表中A为00H,表明已被清零;PSW为00H,表明工作寄存器组为0组;SP为07H,表明堆栈指针指向片内RAM地址为07单元的内存,根据堆栈操作先入后出法则,第一个被推入到堆栈的数据存储在地址单元为08H中。P0至P3中的数据为FFH,表明已向各端口置位,此时各端口既可用于输入又可用于输出;IP00000B,表明各个中断源处于低优先级;IE000000B,表明各个中断均被关断。另外复位后的21个特殊功能寄存器状态为确定值。期中程序计数器PC为0000H,单片机复位后将从地址为0000H单元开始执行。单片机初次启动后,片内RAM为随机值。53时钟电路时钟电路跟复位电路一样是单片机必须具备的电路,两者构成了单片机的最小系统。单片机内部是由许多的逻辑器件组成的,这些逻辑器件彼此之间默契的配合需要按照严格的节拍来操作,这种节拍就是时序,单片机的时序可以由内部时钟提供或者由外部的晶振提供。而本设计的时钟电路就可以为单片机的正常工作提供时序,若没有时钟电路,单片机就无法工作。在本设计中采用由外部方式产生时钟的方法形成时钟电路,如图53所示。C130PC230PY112MHZX1X2图53时钟电路54温度采集电路本次设计所采用的温度传感器为DALLAS半导体公司的数字化温度传感器DS18B20,它是世界上第一片支持“一线总线”接口的温度传感器。“一线总线”体积更小,使用电压更宽、更经济、全部传感器元件及转换电路集成在形如一只三极管的集成电路里。DS18B20可以程序设定912位的分辨率,可选更小的封装方式,更宽的电压适用范围。分辨率设定及用户设定的报警温度存储在EEPROM中,掉电后依然保存。在硬件上,DS18B20与单片机有两种接法。一种是VCC接外部电源,GND接地,I/O口与单片机;另一种则是用寄生电源供电。I/O口线要接5K左右的上拉电阻。本设计采用的是后一种方法。如图54所示,把DS18B20的数据线与单片机的P27管脚相连,再加上上拉电阻25。图54温度测量电路55LED显示电路单片机I/O的应用最典型的就是通过I/O口与LED数码管构成显示电路,本设计LED显示模块电路如下图55所示。P101P112P123P134P145P15/MOSI6P16/MISO7P17/SCK8REST9P30/RXD10P31/TXD11P32/INT012P33/INT113P34/T014P35/T115P36/WR16P37/RD17XTAL218XTAL119GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/PROG30EA/VPP31P0732P0633P0534P0435P0336P0237P0138P0039VCC40U1AT89S52123U3DS18B20VCCR1P101P112P123P134P145P15/MOSI6P16/MISO7P17/SCK8REST9P30/RXD10P31/TXD11P32/INT012P33/INT113P34/T014P35/T115P36/WR16P37/RD17XTAL218XTAL119GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/PROG30EA/VPP31P0732P0633P0534P0435P0336P0237P0138P0039VCC40U1AT89S52DP1G2F3E4D5C6B7A89DP1G2F3E4D5C6B7A89DP1G2F3E4D5C6B7A89DP1G2F3E4D5C6B7A89PNPPNPPNPPNPP10P11P12P13R1R2R3R4R5R6R7R8VCC图55LED显示电路56报警电路此设计选择了蜂鸣器,因为比起扬声器来使用起来更简单,只要按照极性要求加上合适的直流电压,就可以使蜂鸣器发出声音。当温度高于或者低于用户设定的温度上下限时。蜂鸣器就发出声音来形式提醒用户温度不在正常范围内。在本系统中我们为用户设计了越限报警,当温度低于用户设置温度下限或高于温度上限时,蜂鸣器发出连续不断的滴滴答答的叫声。当单片机P23输出高电平时,三极管导通,蜂鸣器工作发出报警声。报警及指示灯电路如下图56所示。A1B2U2BUZZERR3100Q5PNPP101P112P123P134P145P15/MOSI6P16/MISO7P17/SCK8REST9P30/RXD10P31/TXD11P32/INT012P33/INT113P34/T014P35/T115P36/WR16P37/RD17XTAL218XTAL119GND20P2021P2122P2223P2324P2425P2526P2627P2728PSEN29ALE/PROG30EA/VPP31P0732P0633P0534P0435P0336P0237P0138P0039VCC40U1AT89S52D1D2D3R1R2R3VCCVCCVCCVCC图56报警及指示灯电路图当温度在设定的范围内,绿灯亮;当温度低于下限温度

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论