




已阅读5页,还剩83页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的温度测量系统目录摘要IABSTRACTII1绪论111选题的背景112课题研究的目的和意义113本文的结构12系统总体方案设计121总体方案设计222部分模块方案选择3221单片机的选择3222温度检测方式的选择3223显示部分的选择4224电源模块的选择43硬件电路的设计431硬件电路设计软件432系统整体原理图533单片机最小系统电路634单片机的选型735温度测量模块8351DS18B20概述8352DS18B20测温工作原理11基于单片机的温度测量系统353DS18B20温度传感器与单片机的接口电路1236显示模块1337按键以及无线遥控模块15371按键的相关知识163725伏带解码四路无线接收板模块1738报警及指示灯模块1939电源模块204系统软件设计及仿真部分2141软件设计的工具21411程序编写软件21412仿真软件2242各模块对应的软件设计23421显示模块的程序23422温度测量的程序27423报警系统程序33424按键程序34425总体程序365实物制作3851电源部分3852单片机最小系统部分3853总体实物386总结397致谢39参考文献40附录一41附录二49基于单片机的温度测量系统I基于单片机的温度测量系统摘要随着测温系统的极速的发展,国外的测量系统已经很成熟,产品也比较多。近几年来,国内也有许多高精度温度测量系统的产品,但是对于用户来说价格较高。随着市场的竞争越来越激烈,现在企业发展的趋势是如何在降低成本的前提下,有效的提高生产能力。追求价格便宜、性能高效,且应用广泛的器件是企业优先考虑的问题,因此设计出以一种操作简单、性能优越、价格便宜的测温系统将会有很好的发展潜力。本文选用单片机STC89C52为核心制作了温度实时监测系统。单片机STC89C52可以依据温度传感器DS18B20所收集的温度在液晶屏上实时显示,通过按键来设置上下限温度。所有温度数据均通过液晶显示器LCD显示出来。经过反复调试,系统可以运行,上电后LCD1602显示当前温度,并能进行报警预警。关键字单片机温度传感器液晶显示器基于单片机的温度测量系统IITEMPERATUREMEASUREMENTSYSTEMBASEDONSINGLECHIPMICROCOMPUTERABSTRACTWITHTHEDEVELOPMENTOFTHETEMPERATUREMEASURINGSYSTEMOFHIGHSPEED,MEASUREMENTSYSTEMHASBEENVERYMATUREABROAD,PRODUCTSISALSOMOREINRECENTYEARS,THEREAREALSOMANYDOMESTICHIGHPRECISIONTEMPERATUREMEASUREMENTSYSTEMOFPRODUCTS,BUTTHEPRICEISHIGHERFORTHEUSERASTHEMARKETCOMPETITIONISMOREANDMOREFIERCE,ANDNOWTHETRENDOFTHEDEVELOPMENTOFTHEENTERPRISEISHOWTOREDUCECOSTUNDERTHEPREMISEOFEFFECTIVELYIMPROVEPRODUCTIONCAPACITYPURSUECHEAP,EFFICIENTPERFORMANCE,ANDWIDELYUSEDDEVICEISAPRIORITYFORENTERPRISES,THUSDESIGNEDINASIMPLEOPERATION,SUPERIORPERFORMANCE,PRICECHEAPTEMPERATUREMEASUREMENTSYSTEMWILLHAVEVERYGOODDEVELOPMENTPOTENTIALTHISARTICLECHOOSESMICROCONTROLLERSTC89C52MADETEMPERATUREREALTIMEMONITORINGSYSTEMFORTHECOREMICROCONTROLLERSTC89C52CANBECOLLECTEDACCORDINGTOTHETEMPERATURESENSORDS18B20TEMPERATUREINREALTIMEDISPLAYONTHELCDPANEL,TEMPERATURETHROUGHTHEBUTTONSTOSETTHEUPPERANDLOWERLIMITSALLTHETEMPERATUREDATATHROUGHALIQUIDCRYSTALDISPLAYLCDDISPLAYAFTERREPEATEDDEBUGGING,THESYSTEMCANRUN,AFTERPOWERONTHELCD1602DISPLAYTHECURRENTTEMPERATURE,ANDCANALARMWARNINGKEYWORDSMICROCONTROLLERTHETEMPERATURESENSORLIQUIDCRYSTALDISPLAY基于单片机的温度测量系统11绪论11选题的背景随着社会的进步和发展,人们物质生活的提高,单片机技术已经深入我们的生活,工作,和其他领域的研究,已成为一种成熟的技术,单片机系统成为人们追求的目标之一,它所给人带来的便利是无与伦比的,其中数字温度计就是一个很典型的例子,由于人们对于它的要求越来越高,想要为人们提供更便捷的设备就需要从单片机技术入手,使设备向着数字化,智能化的方向发展。目前,测温系统得到极速的发展,国外的测量系统已经很成熟,产品也比较多。近几年来,国内也有许多高精度温度系统的产品,但是对于用户来说价格高。随着市场的竞争越来越激烈,现在企业发展的趋势是如何在降低成本的前提下,有效的提高生产能力。追求价格便宜、性能高效,且应用广泛的器件是企业优先考虑的问题,因此设计出以一种操作简单、性能优越、价格便宜的测温系统将会有很好的发展潜力。12课题研究的目的和意义随着近几年的持续高温天气,使得温度测量变得越来越被人重视。本文运用单片机STC89C52制作了温度实时测量系统。温度传感器DS18B20所收集的温度通过单片机在液晶屏上实时显示,通过按键控制改变温度的上下限温度。所有测到的数据通过LCD1602显示出来。设计的温度测量系统能实现以下功能1测温范围55125;2温度显示LCD1602液晶显示器;3超过设置温度范围会发生报警且对应指示灯亮。4测温分辨力05;5测温准确度1左右;6独立按键与无线遥控二者并行控制温度的上下限设置。经过此次毕业设计使我懂得了单片机控制系统的综合知识,掌握了简单的软、硬件设计方法,并进一步锻炼我在单片机利用方面的能力。13本文的结构基于单片机的温度测量系统2全文共分为六章,各章主要内容如下第一章是绪言部分,主要介绍了选题的背景、研究的目的意义以及本文的主要内容和结构;第二章为系统方案设计部分,主要说了整个体系的工作原理和硬件结构,判断系统的总体方案的优劣,并对各类方案做出比较并选取;第三章为各模块硬件设计部分,详细介绍各模块的原理,并对电路功能进行分析,对硬件线路进行设计并得出对应的硬件原理图;第四章为系统软件设计及仿真部分,主要介绍系统各部分模块的设计流程和简单程序;以及系统软件仿真。第五章为实物制作,贴出具体的实物图片,以及在调试过程中所遇到的问题和解决方案。第六章是总结和展望,主要是对本设计的总结归纳,并对存在的问题提出解决方案,以及功能扩展和进一步研究的方向。2系统总体方案设计21总体方案设计温度图21系统总体方案流程图系统总体以STC89C52单片机为核心,通过温度测量模块、LCD显示模块和按键模块来组成。可以通过按键设定温度报警的上下限。当测量的温度超出设单片机按键及无线遥控模块温度测量模块显示模块报警及指示灯模块电源模块基于单片机的温度测量系统3定范围时,单片机能够驱动报警电路。显示模块可以显示当前的温度值、温度上下限等信息,按键模块采用普通按键和无线遥控两种并行使用方式。22部分模块方案选择221单片机的选择方案一采用AT89C51芯片为核心,硬件使用闪速存储器,4KB内部程序存储空间,与51系列单片机是完全兼容的。但这个电路设计因为没有在线编程技术,因此在电路调试、修改或由于程序错误需要下载时,需反复拔插芯片,会造成芯片一定的损伤,不利于测试使用。此外,内部没有集成A/D转换模块。方案二选用STC89C52单片机为核心,该单片机是51系列增强型的8位单片机,它具有32个I/O口,且片内含8KFLASH程序存储器,并且具有AT89C51的所有功能,能够实现在线编程功能,在对电路进行调试时,由于程序的错误修改需要烧入程序时,可以直接在线进行,避免了多次插拔芯片从而造成单片机的损坏1。由上可得出,本设计选取STC89C52作为本系统的核心。222温度检测方式的选择方案一、使用热偶电阻之类的器件,将随被测温度转变的电压或电流收集过来通过A/D转换后,能够用单片机进行数据的处理,并把数据显示出来,但是这种设计需要用到A/D转换电路,其中还涉及到热偶电阻与温度的对应关系。而且在采样信号的放大过程中由于受温度的影响将是一个大的偏差,精度不高,不推荐采用。方案二、现在在单片机测温电路设计中,大部分都是利用温度传感器的,本系统可以选用温度传感器DS18B20,此传感器是单总线数字传感器,可以进行温度读取,转换,且给单片机的是二进制补码形式的数据。具有高精度,抗干扰能力强,便于计算的特点,而且便于系统的再扩展,满足设计要求。从以上两种方案来看很容易得出,方案二电路比较简便,费用不高,性价比高,且程序设计也比较简便,故选用了第二种方案。基于单片机的温度测量系统4223显示部分的选择方案一采用8位共阴极段数码管,数码管可以将单片机得到的温度数据显示出来。该方案简单易懂,成本较低,但是所需的元件较多,线路复杂,程序设计复杂,但是可读性差,不容易操作,一经设定,无法再添加其他的功能,显示格式受严重限制。方案二采用LCD1602显示。LCD1602是一个低电压,低功耗,只要2到3伏特工作,低工作电流,能显示大量的信息,除了数字,还可以显示文本的液晶显示器,与传统的数码管的比较,LCD显示器的显示界面有了质的飞跃。虽然液晶显示器的价格是更昂贵,但它效果良好。使用液晶显示装置,更容易实现的需求,背面的扩展功能兼容性很高,只需要修改软件程序就可扩展,可操作性强,易阅读,还可以显示更多内容。综上分析,采用第二个方案。224电源模块的选择方案一使用干电池的三、四节电池箱提供电源。该方案的优点是操作简单,容易实现,成本低,缺点是三个输出电压为45V太小,单片机几乎不工作,只适用于小电流负荷时。且在整个系统工作过程中,电压会降低,不宜使用很长一段时间。用四节电池时高于单片机的工作电压,虽然可以用稳压管稳压,但是却不能长时间使用。方案二采用220V转9V电源线和LM7805设计的稳压电源。从而可以使系统在稳定电压下工作,为了演示方便可用9V干电池临时代替。综上分析,选择第二种方案。3硬件电路的设计31硬件电路设计软件本次设计采用了ALTIUMDESIGNERSUMMER09软件进行了原理图的绘制和PCB图的生成。ALTIUM是由NICKMARTIN在1985年成立,该公司总部在澳大利亚,这是专门为于基于PC机的软件开发,绘制原理图和印制电路板,提供辅助的设计。后来ALTIUM公司通过公开募股在澳大利亚股票市场成功上市。所筹集的资金用基于单片机的温度测量系统5于在收购适当的公司和技术,其中包括收购ACCELTECHNOLOGIES公司、METAMOR公司等【3】。ALTIUM宣称在中国有70多的工程师和大多数与电子工程相关专业在校学生正在使用它的软件,但是当前所用的正版率仅有3左右。主要功能(1)电路原理图设计(2)印刷电路板设计(3)电路模拟仿真(4)FPGA及逻辑器件设计(5)高级信号完整性分析32系统整体原理图本课题设计的是以STC89C52单片机为核心,以DS18B20温度传感器作为采集模块的温度测量系统。该测温系统能够实时存储相关的温度数据并在LCD上进行显示。其系统主要包括电源模块、温度采集模块、按键控制模块、LCD1602显示模块、无线遥控模块以及单片机最小系统。系统整体原理图和PCB图如下TP067RXDINWAL89GSE/OVCUSCBKYPFUQEAKRM位L图31系统整体原理图基于单片机的温度测量系统6图32系统整体PCB图33单片机最小系统电路在本次的温度测量系统中,控制核心是STC89C52单片机,该单片机是51系列增强型的8位单片机,它具有32个I/O口,内部有8K的程序存储器,512字节数据存储空间,能方便的在线进行程序的读写。使用这个单片机可以完成本系统的设计要求,其它的最小系统主要包括复位电路、外部震荡电路和存储器选择模式(EA脚的高低电平选择)【15】,电路如下图33所示T2P103457RXDINWAL9GSE/OVCUSCYPFUK位图33单片机最小系统基于单片机的温度测量系统734单片机的选型这次设计的温度测量系统主要控制芯片选择为STC89C52单片机,其主要特点如下STC89C52单片机是宏晶科技推出的新一代高速/低功耗/超强抗干扰的单片机,指令代码完全兼容传统8051单片机。主要特性如下1增强型8051单片机,12时钟/机器周期可以随意选择,指令代码与传统8051完全兼容2工作电压55V33V(5V单片机)3工作频率范围040MHZ,只相当于普通8051的080MHZ,而实际工作频率可达48MHZ4用户应用程序空间为8K字节5片上集成512字节RAM6通用I/O口(32个),复位后为P1/P2/P3/P4是准双向口/弱上拉,P0口是漏极开路输出,当作为总线扩展用时,不用加上拉电阻,但是作为I/O口用时,需加上拉电阻。7ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器,可通过串口(RXD/P30,TXD/P31)直接下载用户程序,具有简单快捷方便的优势8具有EEPROM功能9具有看门狗功能10有3个16位定时器/计数器。11外部中断4路,可选择下降沿或低电平来触发电路12工作温度范围4085(工业级)/075(商业级)13PDIP封装STC89C52RC单片机的工作模式1掉电模式典型功耗小于01A,可由外部中断唤醒,中断返回后,继续执行原程序,适合用于电池供电系统及便捷设备2空闲模式典型功耗2MA基于单片机的温度测量系统83正常工作模式典型功耗4MA7MA图34STC89C52RC引脚图STC单片机的引脚与51系列的单片机引脚几乎相同。另外STC89C52有两种时钟模式,一种是12时钟模式,在该模式下,STC单片机与51系列单片机具有相同的机器周期,即12个振荡周期为一个机器周期;另一种是6时钟模式,在此模式下,STC单片机比其他51单片机运行速度快一倍【15】。复位是单片机的初始化操作。其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。RST引脚是复位信号的输入端。复位信号是高电平有效,其有效时间应持续24个振荡周期即二个机器周期以上。35温度测量模块351DS18B20概述DSL8B20温度传感器是美国DALLAS半导体公司最新推出智能温度传感器。与传统的热敏电阻相比,它能够根据要求通过简单的编程来实现9L2位的数字直接读取出被测温度。并且DSL8B20仅需要一根总线来实现与单片机的信息传输,而温度变换所功率全部来源于数据总线,无需额外电源。因而使用DSL8B20可使系统结构更趋简便、操纵简单、可靠性强1。DSL8B20其内部结构框图如下图所示基于单片机的温度测量系统9图35DSL8B20的内部结构图DS18B20的内部构造主要有四部分组成64位光刻ROM、非挥发的温度报警触发器TH和TL、温度传感器、配置寄存器。DSL8B20有2种封装形式3脚PR35直插式和8脚SOIC贴片式。封装图如图35所示图36DS18B20封装64位激光ROM开始8位是产品类型的编号,接着是每个器件的惟一的序号共有48位,最8位是前56位的CRC校验码,这也是多个DSL8B20能够采用一线进行通信的原因。DSL8B20温度传感器包括一个高速暂存RAM和一个非易失性的可电擦除EEPRAM。后者用于存储TH、TL值。而配置寄存器是高速暂存器中的第5个字节,它的内容与温度值的数字转换分辨率有关,DSL8B20工作时按照这个寄存器中的分辨率将温度转换成对应精度的二进制数值。又因为低5位一直都是1,TM是测试模式位,主要是用于设置DSL8B20在工作模式还是在测试模式。在DSL8B20出厂时该位会默认设置成0用户不需要去进行改动,RL和R0却是决定温度转换精度位数。如表31所示。表31内部存储器TMR1R011111基于单片机的温度测量系统10由表32可见,分辨率越高,温度转换时间所需的时间越长。因此,在实际应用需要在分辨率和转换时间中找到平衡,根据实际需要选择最佳的。表32温度数据转换与时间R1R0分辨率温度最大转换时间/MS009937501101875101127500111275000DSL8B20接收到温度转换命令后,就进行转换,如表33所示。转换完成后的温度值就以16位带符号的二进制补码形式储存在高速暂存存储器的第L,2字节。单片机通过单线接口得到该数据,读取时低位在前面,高位在后,数据格式以00625LSB形式表示。温度计算要求当符号位S0时,直接将二进制位转换为十进制;当S1时,先将补码变换为原码,再计算十进制值。表33高速暂存存储器温度低位温度高位HL配置保留保留保留8位CRC在DSL8B20完成温度变换之后,温度值与贮存TH和TL内的触发值会发生相比较,如果温度测量的结果高于TH或低于TL,那么器件内告警标志将置位。每次温度测量更新此标志。只要告警标志置位,DSL8B20将对告警搜索命令做出响应。这就是允许并联连接许多DSL8B20的原因,同时进行温度测量。如果某处温度超过极限,那么可以识别出正在告警的器件并立即将其读出而不必读出非告警的器件。部分温度转换如表34所示表34部分温度转换温度输入(2进制)输出(16进制)125000001111101000007D0H8500000101010100000550H25062500000001100100010191H基于单片机的温度测量系统1110125000000001010001000A2H0500000000000010000008H000000000000000000000H051111111111111000FFF8H101251111111101011110FF5EH2506251111111101011110EE6FH551110111001101111FE90HDS18B20的参数特性(1)独特的单线接口需1个接口即可通信(2)多点综合测温能力使分布式温度检测应用得以简化(3)不需要外部元件(4)可用数据线供电(5)需备份电源(6)测量范围从55至125(7)以9位数字值方式把温度值传给单片机8在1秒时间内把温度变换为二进制的数字352DS18B20测温工作原理DS18B20测温原理如图37所示。图中由于低温度系数晶振的振荡频率受温度影响很小,多用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为减法计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值1。基于单片机的温度测量系统12图37DS18B20测温原理图353DS18B20温度传感器与单片机的接口电路DS18B20能够选用两种方式供电,一种是寄生电源供电方式。另一种是选用独立电源供电方式,用于多个传感器同时使用时,单片机不能有效驱动各个传感器,接线方式为DS18B20的1脚接地,2脚作为信号线,3脚接电源。本系统采用第一种方式供电,如图38所示单片机端口接单线总线。当DS18B20处于写存储器操作和温度转换操作时,总线上需要有强的上拉,上拉开启时间最大为10US。TP04567RXDINWAL89GSE/OVCUSCBK位图38DS18B20温度传感器的接口电路基于单片机的温度测量系统1336显示模块本文采用LCD1602来进行显示,显示系统原理图T2P1034567RXDINWAL89GSE/OVCUSCBKK位图39显示系统原理图361LCD1602简介1602液晶也被称为1602字符液晶显示,这是一个特殊的用于显示字母,数字,符号的液晶显示模块。它是由若干个5X7或5X11的点阵字符位组成,每一个点阵字符位都可以用显示一个字符,每位之间有一个点距的间距,每行之间也有间隔13。由于字符间距和行间距的影响,使它不能很好的显示图片1602LCD可以显示两行,每行有16个字符液晶模块(显示字符和数字)。当前市场上的字符液晶大多数是基于HD44780液晶芯片的,它们控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。液晶显示原理液晶显示的原理是利用液晶的物理特性,通过电压来控制显示区域,有电就有显示。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点。从而被广泛运用。LCD1602的基本参数及引脚功能基于单片机的温度测量系统14LCD1602分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图36所示图310LCD1602尺寸图LCD1602主要技术参数显示容量162个字符芯片工作电压4555V工作电流20MA50V模块最佳工作电压50V字符尺寸295435WHMMLCD1602采用标准的16脚(带背光)接口,各引脚接口简要说明如表37所示表37引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极基于单片机的温度测量系统15其具体功能及注意事项介绍如下第1脚VSS为地电源。第2脚VDD接5V正电源。第3脚VL为液晶显示器对比度调整端,当对比度过高时会产生“鬼影”,我们使用时通常通过一个10K的电位器调整对比度。第4脚RS为寄存器选择位,高电平时为数据寄存器,低电平时为指令寄存器。第5脚R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为高电平R/W为低电平时可以写入数据。第6脚E端为使能端,当E端低电平时,液晶模块执行命令。第714脚D0D7为8位双向数据线。第15脚背光源正极。第16脚背光源负极。37按键以及无线遥控模块371按键的相关知识轻触开关是一种常用的电子开关,使用时只要按开关按钮就可使开关相连通,当松开手时开关立即断开。轻触按键因为控制方便、体积小、质量轻的特点在电子方面得到了广泛的应用,常见的应用有电视机按键、照明按键等。轻触按键在闭合和断开时,触点会存在抖动现象,为了避免这种现象对线路的影响,我们需要在程序里进行去抖操作。我们使用的开关如下图基于单片机的温度测量系统16图311按键外观及内部构造图因为此系统按键较少,采用独立键盘。按键与单片机接口电路图如下T2P1034567RXDINWAL89GSE/OVCUSCL位图312按键与单片机接口电路图3725伏带解码四路无线接收板模块5伏带解码接收模块M4点动带解码接收模块工作电压VDC5静态电流MA5接收灵敏度DBM110工作频率MHZ315MHZ/43392MHZ260440等20余种频率可选编码类型固定码尺寸LWH49207MM产品特点再生接收板(固定码)采用LC振荡电路,内含放大整形,输出的信号为高电平,可直接驱动一只发光二极管,使用极为方便,并且价格低廉,基于单片机的温度测量系统17所以被广泛使用。接收板有较宽的接收带宽,一般为10MHZ,出厂时一般调在315MHZ。接收板一般采用DC5V供电。使用说明接收板一般有7个外部接口,上面有英文标示。“VDD/VCC”表示接电源正极,“GND/VSS”表示接电源负极,“D0/13”、“D1/12”、“D2/11”、“D3/10”表示四路信号输出,“VT”表示收到指示位,使用时应尽量避免两个接收板在一起同时工作,两个振荡源会相互干扰,从而使接收距离变近。接收模块测试电路图图313测试图下图是带解码的超再生接收模块等效电路图图314接收板原理图编码解码芯片PT2262/PT2272芯片原理基于单片机的温度测量系统18PT2262/2272是一种CMOS工艺制造的低功耗低价位通用编解码电路,PT2262/2272最多可有12位A0A11三态地址端管脚悬空,接高电平,接低电平,任意组合可提供531441地址码,PT2262最多可有6位D0D5数据端管脚,设定的地址码和数据码从17脚串行输出,可用于无线遥控发射电路10。编码芯片PT2262发出的编码信号由地址码、数据码、同步码组成一个完整的码字,解码芯片PT2272接收到信号后,其地址码经过两次比较核对后,VT脚才输出高电平,与此同时相应的数据脚也输出高电平,如果发送端一直按住按键,编码芯片也会连续发射。当发射机没有按键按下时,PT2262不接通电源,其17脚为低电平,所以315MHZ的高频发射电路不工作,当有按键按下时,PT2262得电工作,其第17脚输出经调制的串行数据信号,当17脚为高电平期间315MHZ的高频发射电路起振并发射等幅高频信号,当17脚为低平期间315MHZ的高频发射电路停止振荡,所以高频发射电路完全收控于PT2262的17脚输出的数字信号,从而对高频电路完成幅度键控(ASK调制)相当于调制度为100的调幅10。模块外观图如下图315无线接收模块38报警及指示灯模块本模块采用一个5V有源蜂鸣器和三个LED灯组成,其与单片机的接口电路图如下基于单片机的温度测量系统19T2P1034567RXDINWAL89GSE/OVCUSCQPEAKR位K图316报警及指示灯模块原理图其电路图中D3作为单片机正常通电的指示灯,D1作为温度超过设置的上限温度的报警灯,D2为温度超过设置的下线温度的报警灯。LS是蜂鸣器通过三极管2N3906进行启动。当单片机P15为低电平时蜂鸣器响。蜂鸣器是一种一体化构造的电子发声器,选用直流电压供电,普遍应用于计算机、报警器等电子产品中作发声器件。蜂鸣器分有源蜂鸣器和无源蜂鸣器,有源蜂鸣器直接给额定的电流就可连续发声而无源蜂鸣器需要接在专门的音频输出电路中才能发声。有源蜂鸣器与无源蜂鸣器的区别注意这里的指的是震荡源。也就是说,有源蜂鸣器内部带震荡源,所以只要一通电就会叫;而无源内部不存在震荡源,如果用直流信号驱动无法使它发声。必须用2K的方波才能使它发声。有源蜂鸣器比无源的贵的原因是里面多个震荡电路。无源蜂鸣器的优点是1便宜2声音频率可控,可以做出“多来米发索拉西”的效果有源蜂鸣器的优点是程序编写简单,便于控制。本模块所用器件的参数三极管2N3906中ICMAX200MA,放大倍数为100。基于单片机的温度测量系统20有源蜂鸣器工作参数工作电压约5V,工作电流不超过35MA,声压75DB,主频2330HZLED灯工作电流在10MA左右,工作电压在2V左右。R5阻值的计算为使三极管在正常工作而不被烧毁,需要在基极加入限流电阻进行保护。5/301RVMAKR7,R8阻值的计算7852V/10MA25R39电源模块本系统采用9V转5V电源系统,由于市场上没有直接5伏的干电池,于是需要转换电路来满足系统的工作需要,另外本系统不仅可以用9V干电池驱动,还可以用9V的直流电直接驱动,其电源部分原理图是图317电源电路原理图本稳压模块采用LM7805稳压管;从而是电源电压稳定在5V。原理图中C4作用是滤波,C5作用是防自激保护稳压管,常见的三端稳压集成电路有正电压输出的LM78系列和负电压输出的LM79系列。用LM78/LM79系列三端稳压管来组成稳压电路时由于所需的外围元件很少,同时电路内部还有过流、过热和调整管的保护电路,因此用起来更加安全,放基于单片机的温度测量系统21心。另外更重要的是价格低廉,损坏容易更换。在LM78系列三端稳压器中常用的是TO220封装,与三极管封装相似。4系统软件设计及仿真部分41软件设计的工具411程序编写软件本次程序编写运用的软件是KEILUV4KEILC51是美国KEILSOFTWARE公司出品的基于51系列单片机的C语言软件开发系统,运用接近于传统C语言的语法来开发,与汇编相比,C语言简单易学容易上手,而且可以提高工作效率和缩短项目开发周期,同时此软件还能嵌入汇编。运行KEIL软件需要WIN98、WINXP等操作系统。这些系统均是主流系统,使此软件容易在PC上运行。假如你使用C语言编程,那么KEIL将是你最佳的选择。KEIL的网站尽管暂时没有中文版本,但是却不影响KEIL软件被中国80的硬件工程师使用。凡是与电子相关的专业,都会开始从单片机编程开始学习,而学习单片机自然会用到KEIL软件6。2009年2月发布KEILUVISION4,它加入灵便的窗口管理体系,使得开发人员可以同时使用多台监视器。并且使之前的功能更加完善。新版本还支持更多最新的ARM芯片,是应用范围更广。412仿真软件本次设计运用的仿真软件是PROTUES。PROTUES软件是英国LABCENTERELECTRONICS公司生产的EDA工具软件。它不仅仅能够仿真EDA软件,还能仿真单片机及外围器件。并且它是目前最好的仿真单片机的工具。虽然它在国内起步较晚,但是已经成为单片机仿真的主流工具。PROTEUS是世界上著名的EDA工具仿真软件,实现了从原理图布图、代码调试到单片机与外围电路协同仿真,真正实现了从概念到产品的完整设计。到目前为止是世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三者完美结合在一起的软件设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DSPIC33、AVR、ARM、8086和MSP430等。基于单片机的温度测量系统22在编译方面,它也支持IAR、KEIL和MATLAB等多种编译6仿真原理图如下图41系统仿真原理图42各模块对应的软件421显示模块的程序介绍显示模块利用LCD1602进行显示。1LCD1602的指令说明及时序1602液晶模块的控制器共有11条控制指令,如表41所示表41控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回0000000013置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L6置功能00001DLNF7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址基于单片机的温度测量系统239读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容1602液晶模块的读写操作、光标的操作都是通过编程来实现的。表中功能详细介绍如下指令1清显示,光标移动地址00H位置。指令2光标复位,光标返回到地址00H。指令3光标和显示模式设置I/D光标移动方向标志位,高电平时右移,低电平时左移S屏幕上所有文字左移或者右移标志位。高电平表示有效,低电平则无效。指令4显示开关控制。D整体显示的开与关选择位,高电平时开显示,低电平时关显示C光标的开与关选择位,高电平时有光标,低电平时无光标B光标是否闪烁选择喂,高电平时闪烁,低电平时不闪烁。指令5光标或显示移位S/C高电平时显示的文字移动,低电平时光标移动。指令6功能设置命令DL低电平时为8位总线,高电平时为4位总线N低电平时为单行显示,高电平时双行显示F低电平时显示5X7的点阵字符,高电平时显示5X10的点阵字符。指令7字符发生器RAM地址设置。指令8DDRAM地址设置。指令9读忙信号和光标地址,BF为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10写数据。指令11读数据。时序表如下表所示表42基本操作时序表读状态输入RSL,R/WH,EH输出D0D7状态字基于单片机的温度测量系统24写指令输入RSL,R/WL,D0D7指令码,E高脉冲输出无读数据输入RSH,R/WH,EH输出D0D7数据写数据输入RSH,R/WL,D0D7数据,E高脉冲输出无图42读操作时序图43写操作时序液晶显示模块在要显示字符时需要先输入显示字符地址,也就是告诉模块在哪里显示字符,图44是1602的内部显示地址。图44LCD1602内部显示地址由上图可知第二行第一个字符的地址是40H,但是却不能是直接写入40H来表示可将光标定位在第二行第一个字符的位置,这是因为写入显示地址时要基于单片机的温度测量系统25求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B即(40H10000000B80H11000000BC0H。在对LCD1602的初始化中需要先设置它的显示模式,在液晶模块显示字符时光标是自动右移的,不用人工调整。但是在每次输入指令前都要判断液晶模块是否处于忙的状态。1602液晶模块里面的字符发生存储器(CGROM)已经保存了160个不同的点阵字符图形,且每一个字符都有一个固定的代码,显示时模块只需把地址中的点阵字符图形显示出来,我们就能看到所需的图形5。2LCD1602的主要程序写入命令RSL,RWL,D0D7指令码,E高脉冲。/函数名LCDWRITECOM函数功能向LCD写入一个字节的命令输入COM输出无/VOIDLCDWRITECOMUCHARCOM/写入命令LCD1602_E0/使能LCD1602_RS0/选择发送命令LCD1602_RW0/选择写入LCD1602_DATAPINSCOM/放入命令LCD1602_DELAY1MS1/等待数据稳定LCD1602_E1/写入时序LCD1602_DELAY1MS5/保持时间LCD1602_E0写入数据RSH,RWL,D0D7数据,E高脉冲。/函数名LCDWRITEDATA函数功能向LCD写入一个字节的数据输入DAT输出无/VOIDLCDWRITEDATAUCHARDAT/写入数据LCD1602_E0/使能清零基于单片机的温度测量系统26LCD1602_RS1/选择输入数据LCD1602_RW0/选择写入LCD1602_DATAPINSDAT/写入数据LCD1602_DELAY1MS1LCD1602_E1/写入时序LCD1602_DELAY1MS5/保持时间LCD1602_E0LCD1602的初始化/函数名LCDINIT函数功能初始化LCD屏输入无输出无/VOIDLCDINIT/LCD初始化子程序LCDWRITECOM0X38/设置显示模式LCDWRITECOM0X0C/开显不显光标LCDWRITECOM0X06/写一个指针加1LCDWRITECOM0X01/清屏LCDWRITECOM0X80/设置数据指针起点函数名LCD1602_DELAY1MS函数功能延时函数,延时1MS输入C输出无说名12分频单片机的延时。VOIDLCD1602_DELAY1MSUINTC/误差0USUCHARA,BFORC0CFORB199B0BFORA1A0A422温度测量的程序基于单片机的温度测量系统271DS18B20的单线1WIREBUS系统单总线结构是DS18B20的显著特点,也是我们理解和编程设计的一大难点。我们可以从两个角度来理解单线总线结构第一,单线总线只有一个信号线,DS18B20和单片机之间的通信必须要有严格的时序来控制完成。第二,DS18B20的输出是开漏输出,这种设计使总线上的器件能够在我们想要是的时间来启动它。因为DS18B20选用的是1WIRE总线协议方式,也就是说要在一个数据线上实现数据的双向传输,但是对STC89C52单片机来说,在硬件并不支持单总线协议,因此,我们需要在程序设计中模拟出单总线的时序从而来来实现对DS18B20传感器的控制。DS18B20的复位时序,如图45所示图45DS18B20的复位时序图DS18B20的读时序关于DS18B20的读时序可以分为读1时序和读0时序两种情况。对于DS18B20的读时隙是从主机把单总线拉低1US以后,必须在15US以内就得释放总线,让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60US才能完成。DS18B20的读时序图如图46所示。基于单片机的温度测量系统28图46DS18B20的读时序DS18B20的写时序关于DS18B20的写时序可以分为写0时序和写1时序两种情况。对于DS18B20写0时序和写1时序的要求是不同的,当要写0时序时,单总线要被拉低至少60US,并且保证DS18B20能够在15US到45US之间正确地采样到IO总线上的“0”电平,当要写1时序时,单总线被拉低之后,需要在15US之内就得释放单总线。如图47所示。图47DS18B20的写时序图2DS18B20的主要程序DS18B20初始化/函数名DS18B20INIT函数功能初始化输入无输出成功1,失败0/UNSIGNEDCHARDS18B20INITUNSIGNEDINTIDSIO0/将总线拉低480US960USI70WHILEI/延时642USDSIO1/拉高总线,DS18B20有反应会在15US60US后将总线拉低I0WHILEDSIO/等待DS18B20拉低总线IIFI50000/等待50MSRETURN0/初始化失败基于单片机的温度测量系统29RETURN1/初始化成功向18B20写入一个字节/函数名DS18B20WRITEBYTE函数功能向18B20写入一个字节输入COM输出无VOIDDS18B20WRITEBYTEUNSIGNEDCHARDATUNSIGNEDINTI,JFORJ0J1/右移1位向DS18B20读取一个字节/函数名DS18B20READBYTE函数功能读取一个字节输入COM输出无UNSIGNEDCHARDS18B20READBYTEUNSIGNEDCHARBYTE,BIUNSIGNEDINTI,JFORJ8J0JDSIO0/先将总线拉低1USIDSIO1/然后释放总线II/延时6US等待数据稳定BIDSIO/读取数据,从最低位开始读取基于单片机的温度测量系统30BYTEBYTE1|BI0YFORX110X0X/函数名DS18B20CHANGTEMP函数功能让18B20开始转换温度输入COM输出无VOIDDS18B20CHANGTEMPDS18B20INITDELAY1MS1DS18B20WRITEBYTE0XCC/跳过ROM操作命令DS18B20WRITEBYTE0X44/温度转换命令DELAY1MS100/等待转换成功/函数名DS18B20READTEMPCOM函数功能发送读取温度命令基于单片机的温度测量系统32输入COM输出无VOIDDS18B20READTEMPCOMDS18B20INITDELAY1MS1DS18B20WRITEBYTE0XCC/跳过ROM操作命令DS18B20WRITEBYTE0XBE/送读取温度命令/函数名DS18B20READTEMP函数功能读取温度输入COM输出无INTDS18B20READTEMPINTTEMP0UNSIGNEDCHARTMH,TMLDS18B20CHANGTEMP/先写转换命令DS18B20READTEMPCOM/读取温度命令TMLDS18B20READBYTE/先读低8位字节TMHDS18B20READBYTE/读高8位字节TEMPTMHTEMP0LCDDISPLAYBAOJINGLED20基于单片机的温度测量系统33FMQ0ELSELED21IFXWTP0LCDDISPLAYBAOJINGLED10FMQ0ELSELED11IFLED1LCDDISPLAYBAOJING1424按键程序按键部分程序设计要求K1键作为设置键,第一次按下时为设置上限温度;第二次按下时为设置上限温度;第三次按下时退出设置。K2键作为温度加减选择键,第一次按下时为增加温度;第二次按下时为减少温度;第三次按下时退出设置;K3键按下一次时为温度改变10度。K4键按下一次时为温度改变1度。软件中要实现按键去抖操作。程序如下WHILE1LCDDISPLAYDS18B20READTEMPBAOJINGSW,XWIFK10/DELAYMS10/消除抖动IFK10B/选择调节上下限温度,IFB1WDSWIFB2WDXWIFB3B0基于单片机的温度测量系统34WHILEIINCLUDE“LCDH“INCLUDE“TEMPH“INCLUDESBITK2P31SBITK1P30SBITK3P32SBITK4P33SBITLED1P10SBITLED2P11SBITFMQP15VOIDLCDDISPLAYBAOJINGVOIDBAOJINGINTSW,INTXWVOIDLCDDISPLAYBAOJING1VOIDLCDDISPLAYINTTEMPVOIDLCDDISPLAY1INTW1VOIDDELAYMSUNSIGNEDINTC/延时10MSVOIDLCDDISPLAY2INTW2UNSIGNEDINTI,A,J0,B0INTW1,W2,WD,SW,XW,TEMPVOIDMAINSW4000XW1000LCDINITWHILE1LCDDISPLAYDS18B20READTEMPBAOJINGSW,XWIFK10/检测按键K1是否按下DELAYMS10/消除抖动IFK10B/选择调节上下限温度,IFB1WDSWIFB2WDXWIFB3B0WHILEI0CFORB199B0BFORA1A0AVOIDBAOJINGINTSW,INTXW基于单片机的温度测量系统45INTTPFLOATMTEMPDS18B20READTEMPMTEMPTPM625IFSWTP0LCDDISPLAYBAOJINGL
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新浪微博生态合作协议书
- 教心学试题及答案
- 共享理念相关题目及答案
- 2025年直流斩波调压牵引装置合作协议书
- 简述国际法的特征
- 2025年工业VOC治理系统合作协议书
- 扫描隧道显微镜课件
- 2025年渔船船员考试题目及答案
- 慢性病课件教学课件
- 慢性咳嗽的诊治进展
- 学校食品供货协议书范本
- 《信号与系统》全套教学课件
- 《通信原理》课件第1讲通信概述
- 2025-2026学年冀人版三年级科学上册(全册)教学设计(附目录)
- 私车出差管理办法
- 村民饮水协议书
- 2025年国家网络安全知识竞赛题库带答案
- 房地产市场报告 -2025年二季度西安写字楼和零售物业市场报告
- 讲师制度管理办法
- 天津校外培训管理办法
- 冷库安全检查表
评论
0/150
提交评论