基于单片机的水温监控电路设计_第1页
基于单片机的水温监控电路设计_第2页
基于单片机的水温监控电路设计_第3页
基于单片机的水温监控电路设计_第4页
基于单片机的水温监控电路设计_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

毕业论文(设计)中文题目基于单片机的水温监控电路设计英文题目DESIGNOFMONITORCIRCUITFORWATERTEMPERATUREBASEDONMICROCONTROLUNIT摘要在日常生活及工业生产过程中,经常要用到温度的检测及控制,温度是生产过程和科学实验中普遍而且重要的物理参数之一。在生产过程中,为了高效地进行生产,必须对它的主要参数,如温度、压力、流量等进行有效的控制。温度控制在生产过程中占有相当大的比例。温度测量是温度控制的基础,技术已经比较成熟。传统的测温元件有热电偶和二电阻。而热电偶和热电阻测出的一般都是电压,再转换成对应的温度,这些方法相对比较复杂,需要比较多的外部硬件支持。我们用一种相对比较简单的方式来测量。本文介绍一种基于STC89C52单片机的一种温度测量及报警电路,该电路采用DS18B20作为温度监测元件,测量范围0100,使用LED模块显示,能设置温度报警上下限。正文着重给出了软硬件系统的各部分电路,介绍了集成温度传感器DS18B20的原理,STC89C52单片机功能和应用。该电路设计新颖、功能强大、结构简单。关键词温度测量DS18B20STC89C52DESIGNOFMONITORCIRCUITFORWATERTEMPERATUREBASEDONMICROCONTROLUNITABSTRACTINDAILYLIFEANDINDUSTRIALPRODUCTIONPROCESS,OFTENUSEDINTHEDETECTIONANDCONTROLOFTEMPERATURE,TEMPERATUREISTHEPRODUCTIONPROCESSANDSCIENTIFICEXPERIMENTSINGENERALANDONEOFTHEIMPORTANTPHYSICALPARAMETERINTHEPRODUCTIONPROCESS,INORDERTOEFFICIENTLYCARRYOUTTHEPRODUCTION,TOBEITSMAINPARAMETERS,SUCHASTEMPERATURE,PRESSURE,FLOWCONTROL,ETCTEMPERATURECONTROLINTHEPRODUCTIONPROCESSOFALARGEPROPORTIONTEMPERATUREMEASUREMENTISTHEBASISOFTEMPERATURECONTROLLED,MOREMATURETECHNOLOGYTRADITIONALTHERMOCOUPLEANDTEMPERATURECOMPONENTSARETHESECONDRESISTORTHETHERMOCOUPLEANDTHERMALRESISTANCEAREGENERALLYMEASUREDVOLTAGE,ANDTHENREPLACEDBYTHECORRESPONDINGTEMPERATURE,THESEMETHODSARERELATIVELYCOMPLEX,REQUIRINGARELATIVELYLARGENUMBEROFEXTERNALHARDWARESUPPORTWEUSEARELATIVELYSIMPLEWAYTOMEASURETHEINTRODUCTIONOFACOSTBASEDSTC89C52MCUATEMPERATURMEASUREMENTCIRCUITS,THECIRCUITSUSEDDS18B20HIGHPRECISIONTEMPERATURSENSOR,MEASURINGSCOPE0100,CANSETTHEWARNINGLIMITATION,THEUSEOFSEVENSEGMENTSLEDTHATCANBEDISPLAYTHECURRENTTEMPERATURETHEPAPERFOCUSESONPROVIDINGASOFTWAREANDHARDWARESYSTEMCOMPONENTSCIRCUIT,INTRODUCEDTHETHEORYOFDS18B20,THEFOUNCTIONSANDAPPLICATIONSOFSTC89C52THISCIRCUITDESIGNINNOVATIVE,POWERFUL,CANBEEXPANSIONARYSTRONGKEYWORDSTEMPERATURMEASUREMENTDS18B20STC89C52目录1绪论111课题的来源及意义112国内外研究现状113课题的设计目的22系统总体设计321系统设计方案论证3211主控芯片方案3212温度传感方案3213显示模块方案422设计技术指标523系统设计原理524系统总体框图53硬件电路设计731单片机控制模块7311STC89C52单片机简介7312STC89C52单片机的内部结构7313STC89C52单片机引脚简介8314STC89C52单片机的复位电路10315STC89C52单片机的时钟电路11316STC89C52单片机的中断系统12317STC89C52单片机的定时/计数器12318STC89C52单片机最小系统1232温度数据采集模块13321DS18B20的性能及内部结构13322DS18B20的工作原理16323DS18B20的相关介绍17324DS18B20使用中的注意事项1933数码管显示模块1934按键设置模块204软件设计2141主程序流程图2142DS18B20工作过程及时序22421DS18B20初始化时序22422DS18B20写时序24423DS18B20读时序2543八位数码管显示模块2644温度传感器处理程序275系统调试2851系统硬件调试2852温度测量方法2853温度数据测试28结束语29致谢30参考文献31附录32附录1系统总原理图32附录2源程序331绪论11课题的来源及意义及时准确地得到温度信息并对其进行适时的控制,在许多工业场合中都是重要的环节水温的变化影响各种系统的自动运作,例如冶金、机械、食品、化工各类工业中,广泛使用的各种加热炉、热处理炉、反应炉等,对工件的水处理温度要求严格控制。对于不同控制系统,其适宜的水质温度总是在一个范围。超过这个范围,系统或许会停止运行或遭受破坏,所以我们必须能实时获取水温变化。对于,超过适宜范围的温度能够报警。同时,我们也希望在适宜温度范围内可以由检测人员根据实际情况加以改变。单片机对对温度的控制是工业生产中经常使用的控制方法自从1976年INTEL公司推出第一批单片机以来,80年代单片机技术进入快速发展时期,近年来,随着大规模集成电路的发展,单片机继续朝快速、高性能方向发展。单片机主要用于控制,它的应用领域遍及各行各业,大到航天飞机,小至日常生活中的冰箱、彩电,单片机都可以大显其能。单片机将微处理器、存储器、定时/计数器、I/O接口电路等集成在一个芯片上的大规模集成电路,本身即是一个小型化的微机系统。单片机技术与传感与测量技术、信号与系统分析技术、电路设计技术、可编程逻辑应用技术、微机接口技术、数据库技术以及数据结构、计算机操作系统、汇编语言程序设计、高级语言程序设计、软件工程、数据网络通信、数字信号处理、自动控制、误差分析、仪器仪表结构设计和制造工艺等的结合,使得单片机的应用非常广泛。同时,单片机具有较强的管理功能。采用单片机对整个测量电路进行管理和控制,使得整个系统智能化、功耗低、使用电子元件较少、内部配线少、成本低,制造、安装、调试及维修方便。传统的温度采集电路相当复杂,需要经过温度采集、信号放大、滤波、AD转换等一系列工作才能得到温度的数字量,并且这种方式不仅电路复杂,元器件个数多,而且线性度和准确度都不理想,抗干扰能力弱。现在常用的温度传感器芯片不但功率消耗低、准确率高,而且比传统的温度传感器有更好的线性表现,最重要的一点是使用起来方便。12国内外研究现状目前,国外温度控制系统及仪表正朝着高精度、智能化、小型化等方面快速发展。发达国家各种窑炉自动化水平较高,装备有完善的检测仪表和计算机控制系统。我国温度控制系统的发展大致经历了三个阶段。第一阶段基地式仪表。上世纪四十年代初,当时由于石油、化工、电力等工业对自动化的需要,出现了将测量、记录、调节仪表组装在一个表壳里的基地式仪表。如自力式温度调节器。基地式仪表一般结构简单,价格低廉,它们的功能仅限于单回路控制且控制精度低。第二阶段单元组合式仪表。随着大型工业企业的出现,生产向综合自动化和集中控制的方向发展,人们发现基地式仪表的结构不够灵活,不如将仪表按功能划分,制定若干种能独立完成一定功能的标准单元,各单元之间以规定的标准信号相互联系,这样仪表的精度可以提高。在使用中可根据需要,选择一定的单元,积木式地把仪表组合起来,构成各种复杂程度不同的自动控制系统,这种积木式的仪表就称为单元组合式仪表。以上两个阶段,无论是基地式仪表阶段,还是单元组合式仪表阶段,都是利用各种仪表对温度进行检测、调节、控制。对于较复杂的系统,难以实现复杂的控制规律,控制精度不高。第三阶段微机控制阶段。随着微电子技术的发展、大规模集成电路制造的成功和微处理器的问世、计算机性能价格比的明显提高以及微型计算机在工业控制领域中的应用,使得温度控制系统发展到微机控制阶段。微机控制系统取代模拟控制系统,克服了其调节精度差、可靠性不高的缺点。由于计算机具有高速的数据运算处理功能和大容里存贮信息的能力,使得此类系统稳定可靠、维护方便、抗干扰能力强,而且可以采用先进的控制算法以进一步提高控制性能13课题的设计目的1巩固、加深和扩大单片机应用的知识面,提高综合及灵活运用所学知识解决工业控制的能力。2培养针对课题需要,选择和查阅有关手册、图表及文献资料的自学能力,提高组成系统、编程、调试的动手能力。3通过对课题设计方案的分析、选择、比较、熟悉单片机用系统开发、研制的过程,软硬件设计的方法、内容及步骤。2系统总体设计21系统设计方案论证211主控芯片方案方案一采用传统的STC89C52单片机作为主控芯片。此芯片价格便宜、操作简便,低功耗,比较经济实惠。方案二采用TI公司生产的MSP430F149系列单片机作为主控芯片。此单片机是一款高性能的低功耗的16位单片机,具有非常强大的功能,且内置高速12位ADC。但其价格比较昂贵,而且是TPFQ贴片封装,不利于焊接,需要PCB制板,大大增加了成本和开发周期。考虑到此系统需要不用到ADC,从性能和价格上综合考虑,选择方案一,即用STC89C52作为本系统的主控芯片。212温度传感方案方案一采用热电偶温差电路测温,温度检测部分可以使用低温热偶,热电偶由两个焊接在一起的异金属导线所组成,热电偶产生的热电势由两种金属的接触电势和单一导体的温差电势组成。通过将参考结点保持在已知温度并测量该电压,便可推断出检测结点的温度。数据采集部分则使用带有A/D通道的单片机,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来。热电偶的优点是工作温度范围非常宽,且体积小,但是它们也存在着输出电压小、容易遭受来自导线环路的噪声影响以及漂移较高的缺点,并且这种设计需要用到A/D转换电路,感温电路比较麻烦。系统主要包括对A/D0809的数据采集,自动手动工作方式检测,温度的显示等,这几项功能的信号通过输入输出电路经单片机处理。此外还有复位电路,晶振电路,启动电路等。故现场输入硬件有手动复位键、A/D转换芯片,处理芯片为51芯片,执行机构有4位数码管、报警器等。系统框图如图21所示。单片机数码管报警电路测温电路晶振电路复位电路ADC0809按键防抖动图21热电偶温差电路测温系统框图方案二采用数字温度芯片DS18B20测量温度,输出信号全数字化。便于单片机处理及控制,省去传统的测温方法的很多外围电路。且该芯片的物理化学性很稳定,它能用做工业测温元件,此元件线形较好。在0100摄氏度时,最大线形偏差小于1摄氏度。DS18B20的最大特点之一采用了单总线的数据传输,由数字温度计DS18B20和微控制器AT89S51构成的温度测量装置,它直接输出温度的数字信号,可直接与计算机连接。这样,测温系统的结构就比较简单,体积也不大。采用51单片机控制,软件编程的自由度大,可通过编程实现各种各样的算术算法和逻辑控制,而且体积小,硬件实现简单,安装方便。既可以单独对多DS18B20控制工作,还可以与PC机通信上传数据,另外AT89C52在工业控制上也有着广泛的应用,编程技术及外围功能电路的配合使用都很成熟。该系统利用AT89C52芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。该系统扩展性非常强。从以上两种方案,容易看出方案一的测温装置可测温度范围宽、体积小,但是线性误差较大。方案二的测温装置电路简单、精确度较高、实现方便、软件设计也比较简单,故本次设计采用了方案二。213显示模块方案显示器的种类很多,从液晶显示、发光二极显示到CRT显示器,都可以与微机配接。在单片机应用系统中常用的显示器主要有发光二极管数码显示器简称LED显示器以及液晶显示器LCD等。LED、LCD显示器具有耗电省、成本低廉、配置简单灵活、安装方便、耐振动寿命长的优点。本系统要求显示数字所以选择LED显示器。22设计技术指标本课题的研究重点是设计一种基于单片机的水温监控电路。利用数字温度传感器DS18B20,此传感器可读取被测量温度值,进行转换。主要工作如下1温度测试基本范围0100。2精度误差小于1。3LED液晶显示。4可以设定温度的上下限报警功能。5实现报警提示。23系统设计原理利用温度传感器DS18B20可以直接读取被测温度值,进行转换的特性,模拟温度值经过DS18B20处理后转换为数字值,然后送到单片机中进行数据处理,并与设置的温度报警限比较,超过限度后通过扬声器报警。同时处理后的数据送到LED中显示。24系统总体框图本课题是以89C52单片机为核心设计的一种水温监控电路,系统整体硬件电路包括,传感器数据采集电路,温度显示电路,上下限报警调整电路,单片机主板电路等组成。系统框图主要由主控制器、单片机复位、报警按键设置、时钟振荡、LED显示、温度传感器组成。系统框图如图22所示。主控制器LED显示温度传感器单片机复位报警按键设置时钟振荡图22系统基本方框图1主控制器单片机STC89C52具有低电压供电和体积小等特点,四个端口只需要两个口就能满足电路系统的设计需要,很适合便携手持式产品的设计使用。2显示电路显示电路采用LED液晶显示数码管,从P3口RXD,TXD串口输出段码。显示电路是使用的串口显示,这种显示最大的优点就是使用口资源比较少,只用P3口的RXD和TXD串口的发送和接收,数码管采用8550三极管驱动,显示比较清晰。3温度传感器温度传感器采用美国DALLAS半导体公司生产的DS18B20温度传感器。DS18B20输出信号全数字化。便于单片机处理及控制,在0100摄氏度时,最大线形偏差小于1摄氏度,采用单总线的数据传输,可直接与计算机连接。用STC89C52芯片控制温度传感器DS18B20进行实时温度检测并显示,能够实现快速测量环境温度,并可以根据需要设定上下限报警温度。3硬件电路设计31单片机控制模块311STC89C52单片机简介MCS51系列单片机是目前国内应用最广泛的单片机之一。随着基于MCS51系列单片机的嵌入式实时操作系统的出现与推广,在很长一段时间内,MCS51系列单片机仍将占据嵌入式系统产品中的中、低端产品市场。故而,在本设计中使用宏晶公司生产的8位单片机STC89C52作为控制器件。STC89C52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程FLASH存储器。在单芯片上,拥有灵巧的8位CPU和在系统可编程FLASH,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。STC89C52完全兼容MCS51系列单片机的所有功能,并且本身带有2K的内存储器,可以在编程器上实现闪烁式的电擦写达几万次以上,比以往惯用的8031CPU外加EPROM为核心的单片机系统在硬件上具有更加简单方便等优点。STC89C52单片机是最早期也是最典型的产品,低功耗、高性能、采用CHMOS工艺的8位单片机。它在硬件资源和功能、软件指令及编程上与INTEL80C3X单片机完全相同。在应用中可直接替换。在STC89C52内部有FLASH程序存储器,既可用常规的编程器编程,也可用在线使之处于编程状态对其编程。编程速度很快,擦除时也无需紫外线,非常方便。STC89C5X系列可认为是INTEL80C3X的内核与STCFLASH技术的结合体。它为许多嵌入式控制系统提供了灵活、低成本的解决方案。312STC89C52单片机的内部结构89C52单片机的内部结构组成框图见图31。时钟电路ROM/EPROM/FLASH4KBRAM128BSFR21个定时个/计数器2CPU总线控制中断系统5个中断源2个优先级串行口全双工1个4个并行口XTAL2XTAL1RSTEAALEPSENP0P1P2P3VSSVCC图3189C52单片机结构图由图31可见,89C52单片机主要由以下几部分组成1一个8位的微处理器CPU。2片内数据存储器RAM128B,用以存放可以读写的数据,如运算的中间结果、最终结果以及欲显示的数据等。3片内程序存储器ROM4KB,用以存放程序、一些原始数据和表格。但也有一些单片机内部不带ROM/EPROM,如8031,8032,80C31等。目前单片机的发展趋势是将RAM和ROM都集成在单片机里面,这样既方便了用户进行设计又提高了系统的抗干扰性。4四个8位并行IO接口P0P3,每个口既可以用作输入,也可以用作输出。5两个定时器计数器,每个定时器计数器都可以设置成计数方式,用以对外部事件进行计数,也可以设置成定时方式,并可以根据计数或定时的结果实现计算机控制。为方便设计串行通信,目前的52系列单片机都会提供3个16位定时器/计数器。6五个中断源的中断控制系统。现在新推出的单片机都不只5个中断源,例如SST89E58RD就有9个中断源。7一个全双工UART通用异步接收发送器的串行IO口,用于实现单片机之间或单机与微机之间的串行通信。8片内振荡器和时钟产生电路,但石英晶体和微调电容需要外接。最高允许振荡频率为12MHZ。SST89V58RD最高允许振荡频率达40MHZ,因而大大的提高了指令的执行速度。313STC89C52单片机引脚简介图32STC89C52引脚图部分引脚说明时钟电路引脚XTAL1和XTAL2XTAL218脚接外部晶体和微调电容的一端;在89C52片内它是振荡电路反相放大器的输出端,振荡电路的频率就是晶体固有频率。若需采用外部时钟电路时,该引脚输入外部时钟脉冲。要检查89C52的振荡电路是否正常工作,可用示波器查看XTAL2端是否有脉冲信号输出。XTAL119脚接外部晶体和微调电容的另一端;在片内它是振荡电路反相放大器的输入端。在采用外部时钟时,该引脚必须接地。控制信号引脚RST,ALE,PSEN和EARST/VPD9脚RST是复位信号输入端,高电平有效。当此输入端保持备用电源的输入端。当主电源VCC发生故障,降低到低电平规定值时,将5V电源自动两个机器周期24个时钟振荡周期的高电平时,就可以完成复位操作。RST引脚的第二功能是VPD,即接入RST端,为RAM提供备用电源,以保证存储在RAM中的信息不丢失,从而在复位后能继续正常运行。ALE/PROG30脚地址锁存/编程信号端。当89C52上电正常工作后,ALE引脚不断向外输出正脉冲信号,此频率为振荡器频率FOSC的1/6。CPU访问片外存储器时,ALE输出信号作为锁存低8位地址的控制信号。平时不访问片外存储器时,ALE端也以振荡频率的1/6固定输出正脉冲,因而ALE信号可以用作对外输出时钟或定时信号。如果想确定89C52芯片的好坏,可用示波器查看ALE端是否有脉冲信号输出。如有脉冲信号输出,则89C52基本上是好的。此引脚的第二功能PROG在对片内带有4KBEPROM的8751编程写入固化程序时,作为编程脉冲输入端。PSEN29脚程序存储允许输出信号端。在访问片外程序存储器时,此端定时输出负脉冲作为读片外存储器的选通信号。此引肢接EPROM的OE端。PSEN端有效,即允许读出EPROMROM中的指令码。要检查一个89C52小系统上电后CPU能否正常到EPROMROM中读取指令码,也可用示波器看PSEN端有无脉冲输出。如有则说明基本上工作正常。EA/VPP31脚外部程序存储器地址允许输入端/固化编程电压输入端。当EA引脚接高电平时,CPU只访问片内EPROM/ROM并执行内部程序存储器中的指令,但当PC程序计数器的值超过0FFFH对8751/89C52为4K时,将自动转去执行片外程序存储器内的程序。当输入信号EA引脚接低电平接地时,CPU只访问外部EPROM/ROM并执行外部程序存储器中的指令,而不管是否有片内程序存储器。对于无片内ROM的8031或8032,需外扩EPROM,此时必须将EA引脚接地。此引脚的第二功能是VPP是对8751片内EPROM固化编程时,作为施加较高编程电压一般12V21V的输入端。输入/输出端口P0/P1/P2/P3P0口P00P07,3932脚P0口是一个漏极开路的8位准双向I/O口。作为漏极开路的输出端口,每位能驱动8个LS型TTL负载。当P0口作为输入口使用时,应先向口锁存器地址80H写入全1,此时P0口的全部引脚浮空,可作为高阻抗输入。作输入口使用时要先写1,这就是准双向口的含义。在CPU访问片外存储器时,P0口分时提供低8位地址和8位数据的复用总线。在此期间,P0口内部上拉电阻有效。P1口P10P17,18脚P1口是一个带内部上拉电阻的8位准双向I/O口。P1口每位能驱动4个LS型TTL负载。在P1口作为输入口使用时,应先向P1口锁存地址90H写入全1,此时P1口引脚由内部上拉电阻拉成高电平。P2口P20P27,2128脚P2口是一个带内部上拉电阻的8位准双向I/O口。P口每位能驱动4个LS型TTL负载。在访问片外EPROM/RAM时,它输出高8位地址。P3口P30P37,1017脚P3口是一个带内部上拉电阻的8位准双向I/O口。P3口每位能驱动4个LS型TTL负载。P3口与其它I/O端口有很大的区别,它的每个引脚都有第二功能,如下P30RXD串行数据接收。P31RXD串行数据发送。P32INT0外部中断0输入。P33INT1外部中断1输入。P34T0定时/计数器0的外部计数输入。P35T1定时/计数器1的外部计数输入。P36WR外部数据存储器写选通。P37RD外部数据存储器读选通。314STC89C52单片机的复位电路本系统采用的是简单复位电路,简单复位电路有上电复位和手动复位两种。不管是那一种复位电路都要保持RESET引脚上提供10MS以上稳定的高电平。图33所示是常用的上电复位电路,这种上电复位利用电容器充电来实现。当加电时,电容充电,电路有电流流过,构成回路,在电阻R上产生压降,RESET引脚为高6C电平;当电容充满电后,电路相当于断开,RESET的电位与地相同,复位结束。可见复位的时间与充电的时间有关,充电的时间越长,增大电容或增大电阻都可以增加复位时间。图34所示为按键式复位电路。它的上电复位功能与图42所示相同,但它可以通过按键实现复位,按下键后,通过和形成回路,使RESET端产生高电平。按键的19R20时间决定了复位时间。图33常用的上电复位电路图34按键式复位电路315STC89C52单片机的时钟电路单片机的定时功能是用片内的时钟电路和定时电路来完成的,而片内的时钟产生有两种方式内部振荡方式和外部振荡方式。在本设计中,采用内部振荡方式。片内高增益反相放大器通过XTAL1、XTAL2外接作为反馈元件的晶体(呈感性)与电容组成的并联谐振回路构成一个自激振荡,向内部时钟提供振荡时钟。振荡器的频率主要取决于晶体的振荡频率,一般晶体在1212MHZ之间任选,本设计中由于要进行串口通信,选110592MHZ的晶振;电容器C1、C2起稳定振荡频率,快速起振作用,通常取30PF左右,如图35所示。图35时钟电路XTAL2XTAL1316STC89C52单片机的中断系统89C52系列单片机的中断系统有5个中断源,2个优先级,可以实现二级中断服务嵌套。由片内特殊功能寄存器中的中断允许寄存器IE控制CPU是否响应中断请求;由中断优先级寄存器IP安排各中断源的优先级;同一优先级内各中断同时提出中断请求时,由内部的查询逻辑确定其响应次序。317STC89C52单片机的定时/计数器在单片机应用系统中,常常会有定时控制需求,如定时输出、定时检测、定时扫描等;也经常要对外部事件进行计数。89C51单片机内集成有两个可编程的定时/计数器T0和T1,它们既可以工作于定时模式,也可以工作于外部事件计数模式,此外,T1还可以作为串行口的波特率发生器。318STC89C52单片机最小系统控制模块是整个设计方案的核心,它控制了温度的采集、处理与显示、温度值的设定与温度越限时控制电路的启动。本控制模块由单片机STC89C52及其外围电路组成,电路如图36所示。图36单片机控制模块电路该电路采用按键加上电复位,S1为复位按键,复位按键按下后,复位端通过1K的小电阻与电源接通,迅速放电,使RST引脚为高电平,复位按键弹起后,电源通过10K的电阻对10F的电容C1重新充电,RST引脚端出现复位正脉冲。STC89C52内部有一个高增益反相放大器,用于构成振荡器,但要形成时钟脉冲,外部还需附加电路,本设计采用内部时钟方式,利用芯片内部的振荡器,然后在引脚XTAL1和XTAL2两端跨接晶体振荡器,就构成了稳定的自激振荡器,发出的脉冲直接送入内部时钟电路,C2和C3的值通常选择为30PF左右,晶振Y1选择12MHZ为了减小寄生电容,更好地保证振荡器稳定、可靠地工作,振荡器电容应尽可能安装得与单片机引脚XTAL1和XTAL2靠近。单片机的31脚(EA)接5V电源,表示允许使用片内ROM。32温度数据采集模块本系统采用DALLAS半导体公司生产的一线式数字温度传感器DS18B20采集温度数据,DS18B20属于新一代适配微处理器的智能温度传感器,可广泛用于工业、民用、军事等领域的温度测量及控制仪器、测控系统和大型设备中。它具有体积小,接口方便,传输距离远等特点。321DS18B20的性能及内部结构DS18B20的性能特点采用单总线专用技术,既可通过串行口线,也可通过其它I/O口线与微机接口,无须经过其它变换电路,直接输出被测温度值(9位二进制数,含符号位),测温范围为55125,测量分辨率为05,内含64位经过激光修正的只读存储器ROM,适配各种单片机或系统机,用户可分别设定各路温度的上、下限,内含寄生电源。4DS18B20内部结构主要由四部分组成64位光刻ROM,温度传感器,非挥发的温度报警触发器TH和TL,高速暂存器。DS18B20的管脚排列如图37所示。图37DS18B20引脚分布图DS18B20高速暂存器共9个存存单元,如表31所示表31DS18B20高速暂存器序号寄存器名称作用序号寄存器名称作用0温度低字节以16位补码形式存放45保留字节1、21温度高字节以16位补码形式存放6计数器余值2TH/用户字节1存放温度上限7计数器/3HL/用户字节2存放温度下限8CRC以12位转化为例说明温度高低字节存放形式及计算;12位转化后得到的12位数据,存储在DS18B20的两个高低8位的RAM中,二进制中的前面5位是符号位。如果测得的温度大于0,这5位为0,即符号位S0,这时只要直接将测到的数值二进制位转换为十进制,再乘以00625即可得到实际温度;如果温度小于0,这5位为1,即符号位S1,这时先将补码变换为原码,也就是测到的数值需要取反加1再计算十进制值,最后乘以00625才能得到实际温度。对应的一部分温度值见表32。表32部分温度表实际温度值数字输出(二进制)数字输出(十六进制)125000001111101000007D0H8500000101010100000550H25062500000001100100010191H10125000000001010001000A2H0500000000000010000008H000000000000000000000H051111111111111000FFF8H101251111111101011110FF5EH2506251111111001101111FE6EH551111110010010000FC90H在硬件上,DS18B20与单片机的连接有两种方法,一种是VCC接外部电源,GND接地,I/O与单片机的I/O线相连;另一种是用寄生电源供电,此时UDD、GND接地,I/O接单片机I/O。无论是内部寄生电源还是外部供电,I/O口线要接5K左右的上拉电阻。DS18B20有六条控制命令,如表33所示表33DS18B20控制命令指令约定代码操作说明温度转换44H启动DS18B20进行温度转换读暂存器BEH读暂存器9个字节内容写暂存器4EH将数据写入暂存器的TH、TL字节复制暂存器48H把暂存器的TH、TL字节写到E2RAM中重新调E2RAMB8H把E2RAM中的TH、TL字节写到暂存器TH、TL字节读电源供电方式B4H启动DS18B20发送电源供电方式的信号给主CPUCPU对DS18B20的访问流程是先对DS18B20初始化,再进行ROM操作命令,最后才能对存储器操作,数据操作。DS18B20每一步操作都要遵循严格的工作时序和通信协议。如主机控制DS18B20完成温度转换这一过程,根据DS18B20的通讯协议,须经三个步骤每一次读写之前都要对DS18B20进行复位,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。322DS18B20的工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2S减为750MS。DS18B20测温原理低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。DS18B20功能特点采用单总线技术,与单片机通信只需要一根I/O线,在一根线上可以挂接多个DS18B20。2每只DS18B20具有一个独有的,不可修改的64位序列号,根据序列号访问地应的器件。3低压供电,电源范围从35V,可以本地供电,也可以直接从数据线上窃取电源(寄生电源方式)。4测温范围为55125,在1085范围内误差为05。5可编辑数据为912位,转换12位温度时间为750MS(最大)。6用户可自设定报警上下限温度。7报警搜索命令可识别和寻址哪个器件的温度超出预定值。8DS18B20的分辩率由用户通过EEPROM设置为912位。9DS18B20可将检测到温度值直接转化为数字量,并通过串行通信的方式与主控制器进行数据通信。DS18B20有4个主要的数据部件1光刻ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码。64位光刻ROM的排列是开始8位(28H)是产品类型标号,接着的48位是该DS18B20自身的序列号,最后8位是前面56位的循环冗余校验码(CRCX8X5X41)。光刻ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。2DS18B20中的温度传感器可完成对温度的测量,以12位转化为例用16位符号扩展的二进制补码读数形式提供,以00625/LSB形式表达,其中S为符号位。3DS18B20温度传感器的存储器DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性的可电擦除的EEPRAM,后者存放高温度和低温度触发器TH、TL和结构寄存器。4配置寄存器。DS18B20内部结构及功能DS18B20的内部结构如图38所示。主要包括寄生电源,温度传感器,64位ROM和单总线接口,存放中间数据的高速暂存器RAM,用于存储用户设定温度上下限值的TH和TL触发器,存储与控制逻辑,8位循环冗余校验码(CRC)发生器等7部分。64位ROM和单线接口高速缓存存储器与控制逻辑温度传感器低温触发器TL8位CRC发生器高温触发器TH配置寄存器VDD图38DS18B20内部结构323DS18B20的相关介绍温度的读取DS18B20在出厂时以配置为12位,读取温度时共读取16位,所以把后11位的2进制转化为10进制后在乘以00625便为所测的温度,还需要判断正负。前5个数字为符号位,当前5位为1时,读取的温度为负数;当前5位为0时,读取的温度为正数。DS18B20的初始化1先将数据线置高电平“1”。2延时(该时间要求的不是很严格,但是尽可能的短一点)。3数据线拉到低电平“0”。4延时750微秒(该时间的时间范围可以从480到960微秒)。5数据线拉到高电平“1”。6延时等待(如果初始化成功则在15到60毫秒时间之内产生一个由DS18B20所返回的低电平“0”。据该状态可以来确定它的存在,但是应注意不能无限的进行等待,不然会使程序进入死循环,所以要进行超时控制7若CPU读到了数据线上的低电平“0”后,还要做延时,其延时的时间从发出的高电平算起(第(5)步的时间算起)最少要480微秒。8将数据线再次拉高到高电平“1”后结束。DS18B20的写操作1数据线先置低电平“0”。2延时确定的时间为15微秒。3按从低位到高位的顺序发送字节(一次只发送一位)。4延时时间为45微秒。5将数据线拉到高电平。6重复上(1)到(6)的操作直到所有的字节全部发送完为止。7最后将数据线拉高。DS18B20的读操作1将数据线拉高“1”。2延时2微秒。3将数据线拉低“0”。4延时15微秒。5将数据线拉高“1”。6延时15微秒。7读数据线的状态得到1个状态位,并进行数据处理。8延时30微秒。324DS18B20使用中的注意事项DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题1DS18B20从测温结束到将温度值转换成数字量需要一定的转换时间,这是必须保证的,不然会出现转换错误的现象,使温度输出总是显示85。2在实际使用中发现,应使电源电压保持在5V左右,若电源电压过低,会使所测得的温度精度降低。3较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。4在DS18B20的有关资料中均未提及单总线上所挂DS18B20数量问题,容易使人误认为可以挂任意多个DS18B20,在实际应用中并非如此,当单总线上所挂DS18B20超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。5在DS18B20测温程序设计中,向DS18B20发出温度转换命令后,程序总要等待DS18B20的返回信号,一旦某个DS18B20接触不好或断线,当程序读该DS18B20时,将没有返回信号,程序进入死循环,这一点在进行DS18B20硬件连接和软件设计时也要给予一定的重视。33数码管显示模块LED数码管是一种半导体发光器件,其基本单元是发光二极管,通过对其不同的管脚输入相对的电流,会使其发亮,从而显示出数字。可以显示时间、日期、温度等可以用数字代替的参数。数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。共阳极数码管是指将所有发光二极管的阳极接到一起形成公共阳极COM的数码管。共阳极数码管在应用时应将公共极COM接到5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。当某一字段的阴极为高电平时,相应字段就不亮。动态驱动是将所有数码管的8个显示笔划“A,B,C,D,E,F,G,DP“的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,通过由各自独立的I/O线控制,当单片机的P0口输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对P20P23位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在本设计中采用了四位八段数码管,用动态驱动来显示温度的值,如图39所示图39LED显示电路图34按键设置模块温度设置部分采用独立式按键,K2是上下限温度调节选择键,报警温度可按设置按钮进行设置。按下设置按键第一次,数码管显示设置上限温度,上限默认为60度,故此时显示H60,可按下功能加或功能减按键进行上限报警温度调节,继续按下设置按键,数码管显示设置下限温度,下限默认为20度,故此时显示L20,可按下功能加或功能减按键进行下限报警温度调节,继续按下设置按键,数码管则显示当前温度,此时已退出设置,正常采集实时温度。K3为温度值加1按键,K4为温度减1键与单片机的P31到P33口相连;当没有键按下时,单片机与之相连的输入口线为高电平,当任何一个按键按下时,与之相连的输入口线被置为低电平,产生外中断条件,在中断服务程序中读取按键值。温度设置电路如图310所示。图310温度设置图4软件设计系统软件要实现的功能如下(1)、完成从机的温度采集;(2)、利用LED数码管显示接收到的实时温度或是温度上下限的温度值。(3)、按键调节功能;要软件实现3个按键的调节功能,第一个按键是温度上下限的选择按键;第二个按键是温度上升按钮以1步进增加;第三个按键是温度减小键,每按下一次以1递减。4、当温度超过设定的温度范围时进行报警;当实时水温高于设置上限报警的温度时,蜂鸣器发出声音,上限报警灯亮,当实时水温低于设置下限报警的温度时,蜂鸣器发出声音,下限报警灯亮,当实时水温在上限与下限之间时,蜂鸣器不工作,上下限报警灯也不工作。发声采用三极管驱动蜂鸣器来实现。41主程序流程图整个系统的功能是由硬件电路配合软件来实现的,当硬件基本定型后,软件的功能也就基本定下来了。从软件的功能不同可分为两大类一是监控软件(主程序),它是整个控制系统的核心,专门用来协调各执行模块和操作者的关系。二是执行软件(子程序),它是用来完成各种实质性的功能如测量、计算、显示等。每一个执行软件也就是一个小的功能执行模块。这里将各执行模块一一列出,并为每一个执行模块进行功能定义和接口定义。各执行模块规划好后,就可以规划监控程序了。首先要根据系统的总体功能选择一种最合适的监控程序结构,然后根据实时性的要求,合理地安排监控软件和各执行模块之间地调度关系。主程序流程见图41。初始化ROM操作命令存储器操作命令处理数据开始系统界面初始化温度读取、显示及控制按键扫描,设置预设温度温度比较Y启动报警N温度比较YN启动报警温度保持图41主程序流程图42DS18B20工作过程及时序DS18B20工作过程中的协议如下421DS18B20初始化时序18B20初始化流程图见图42。C51寄存器初始化温度转换命令18B20存在读取温度温度数据处理温度显示报警温度比较超出范围开始YNYN图42DS18B20初始化流程图时序如图43所示。主机总线发送复位脉冲(最短为480S,最高时间为960S的低电平信号),接着再释放总线(置总线为高电平)并进入接收状态。DS18B20在检测到总线的上升沿后等待1560S发出器件存在脉冲(低电平持续60240S)。初始化程序如下所示INIT_DS18B20VOID/初始化DS1820DQ1/DQ复位_NOP_NOP_/稍做延时2MSDQ0/单片机将DQ拉低,发出复位脉冲(要求480US960USDELAY70/精确延时566USDQ1/拉高总线要求1560USDELAY5/延时46USPRESENCEDQ/如果0则初始化成功1则初始化失败DELAY25DQ1RETURNPRESENCE/返回信号,0PRESENCE,1NOPRESENCE单片机主动释放60240S1560S480960S图43初始化时序图此初始化程序功能为检测DS18B20是否存在,如存在,将位地址38H置1;如不存在,将位地址38H清零。422DS18B20写时序单片机写DS18B20的时序如图44所示,当主机总线从高电平至低电平时就产生写时间隙,DS18B20在检测到下降沿后15S时开始采样总线上的电平,所以15S之内应将所需写的位送到总线上,DS18B20再1560S间对总线采样,每写一位总时间必须在60120S之间完成。若低电平写入的位是0,高电平写入的位是1,连续写时位间的间隙应大于1S。程序如下所示VOIDWRITE_BYTEUINT8VALUINT8IT1/右移一位DQ1DELAY1写060120S写1,DS18B20在检测到下降沿15S后采样,采样时间为1560S1560120SDS18B20检测到下降沿15S后采样15S图44单片机写DS18B20时序图423DS18B20读时序单片机读DS18B20的时序如图45所示,单片机主动产生一个下降沿的启动信号,并维持低电平大于1S后释放总线,15S后DS18B20占主动权,DS18B20会将数据按位放在总线上(低位在先,当读取两个字节的温度值时,低字节在先),这时单片机可读取信号,读取一位的时间应在60S内完成。当需要读取下一位时再产生下降沿启动信号。图45单片机读DS18B20的时序图UINT8READ_BYTEVOIDUINT8I,VALUE0FORI0I1DQ0NOPS/4USDQ1NOPS/4USIFDQVALUE|0X80DELAY6/66USDQ1RETURNVALUE此程序功能为读取DS18B20A/D转换后的温度值,转换后的二进制存入36H、35H单元,默认为12位转换,低8位存入36H单元,高8位存入35H单元(35H单元的高5位均为符号位,所以判断符号只需判断低12位数据的最高位即可)。1表示为零度以下,0表示零度以上,实际有效位为11位。43八位数码管显示模块本系统采用八位共阳极数码管,用模拟串口的动态显示数据。其流程图如图46所示子程序入口初始化查表取段码位码送译码器选通低位数码管数字是否显示亮关显示返回段码送驱动显示显示缓冲区左移YN图46数码管显示流程

温馨提示

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

评论

0/150

提交评论