毕业论文-基于at89c51单片机的燃气灶智能控制器设计_第1页
毕业论文-基于at89c51单片机的燃气灶智能控制器设计_第2页
毕业论文-基于at89c51单片机的燃气灶智能控制器设计_第3页
毕业论文-基于at89c51单片机的燃气灶智能控制器设计_第4页
毕业论文-基于at89c51单片机的燃气灶智能控制器设计_第5页
已阅读5页,还剩60页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计题目基于单片机的燃气灶智能控制器设计系专业班级学生姓名导师姓名完成日期目录摘要IABSTRACTII第1章绪论111燃气灶的研制和发展112燃气灶的前景与展望213小结3第2章燃气灶智能控制器硬件设计421总体设计422硬件接线总图523AT89C51单片机的选择524K型热电偶温度传感器6241工作原理6242K型热电偶725冷端补偿的K型热电偶数字转换器MAX66758251MAX6675温度转换原理8252MAX6675性能特点9253MAX6675工作原理10254测温应用1226液晶显示器13261液晶显示的原理及显示分类14262LM016L的基本参数及引脚功能1527键盘及其他硬件19第3章燃气灶智能控制器软件设计2131燃气灶智能控制器主程序设计21311主程序流程框图21312主程序设计及其部分说明2232温度读入程序设计2333数据处理程序2634检查转换程序2835显示程序29351显示程序WRITE129352显示程序WRITE23036显示前准备程序3037键盘功能查询程序30371煮饭程序32372煲汤程序34结论37参考文献38致谢39附录40燃气灶智能控制器设计摘要所谓燃气灶,是指以液化石油气、人工煤气、天然气等气体燃料进行直火加热的厨房用具。随着人们生活水平的日益提高和燃气灶具的逐步普及,家用燃气灶作为一种生活必须品已经进入了千家万户。同时消费者对家用燃气灶的安全性、耐用性、方便性、美观性等各个方面也越来越重视。随着人们生活水平的日益提高,对家用燃气灶具的安全性、节能性、美观性、操作方便性、智能化等有了更高的要求。所以基于单片机的智能控制器的燃气灶具的开发,正是顺应了时代发展的潮流和趋势。关键词燃气灶;智能控制;单片机INTELLIGENTCONTROLLERDESIGNOFGASSTOVEABSTRACTTHESOCALLEDGASSTOVE,REFERSTOLIQUEFIEDPETROLEUMGAS,ARTIFICIALGAS,NATURALGAS,HEATINGFUELGASFORDIRECTFIRE,KITCHENAPPLIANCESWITHRISINGLIVINGSTANDARDSANDTHEGRADUALPOPULARIZATIONOFGASSTOVE,GASSTOVEASANECESSITIESOFLIFEINTOALMOSTEVERYHOMEATTHESAMETIMETHESAFETYOFDOMESTICGASCONSUMERS,DURABILITY,CONVENIENCE,AESTHETICSANDOTHERASPECTSMOREANDMOREATTENTIONWITHRISINGLIVINGSTANDARDS,WITHTHESAFETYOFDOMESTICGAS,ENERGYCONSERVATION,AESTHETICS,EASEOFHANDLING,INTELLIGENTANDSOHAVEHIGHERREQUIREMENTSTHEREFORE,THEINTELLIGENTCONTROLLERBASEDONMICROCONTROLLERDEVELOPMENTOFGASSTOVE,ISINLINEWITHTHETRENDOFTHETIMESANDTRENDSKEYWORDSGASSTOVE;SMARTCONTROL;MICROCONTROLLER第1章绪论随着人们生活水平的日益提高和燃气灶具的逐步普及,家用燃气灶作为一种生活必须品已经进入了千家万户。同时消费者对家用燃气灶的安全性、耐用性、方便性、美观性等各个方面也越来越重视。家用燃气灶质量的好坏不仅影响人们的日常生活,而且质量差的燃气灶具容易引发人身伤害事故。目前我国的家用燃气灶具产品的技术含量普遍不高,自动化和智能化程度较低,因此它的节能性、安全性、工艺性还有较大的提升空间。另外,人们对家用燃气灶具的安全性、节能性、美观性、操作方便性、智能化等有了更高的要求。所以基于单片机的智能控制器的燃气灶具的开发,正是顺应了时代发展的潮流和趋势。11燃气灶的研制和发展在历史上,最早研制燃气灶的是法国人菲利普鲁本,他在1799年9月21日获得了用煤气照明和取暖两用装置的专利权。第二年,鲁本在巴黎的一家饭店里,自己花钱装置这种设备。由于当时鲁本研制的燃气灶会发出难闻的臭味,所以在开始的时候并不受人欢迎,没能得到推广。尽管如此,他仍以极大的热情继续研究和改进这种装置。1804年,在拿破仑举行加冕礼的那天,鲁本在巴黎的一条街上被人杀害,燃气灶的研制工作中断了。世界上第一个供厨房用炒菜的燃气灶具是由英国北安普敦瓦斯公司的副经理詹姆斯夏夫在1826年发明的。他将自己发明的燃气灶装在自己家的厨房里,用来烤肉做菜。这是一种立式炉灶,由吊在天花板上用来挂肉的钩子和下面的圆圈形火口组成。没有放锅的炉台。最早购买燃气灶的是法国利明顿的巴士旅店。1834年,巴士旅店用燃气灶给100人做晚饭,不但饭菜味道可口,而且没有一点煤气的臭味,是十分理想的炉灶。1836年夏天,在英国北安普敦开办了一家35名工人的工厂,专门生产燃气灶。1852年,象现在使用的将煤气燃烧装置与炉台合二为一的炉具开始出售。1915年,开始出现有恒温器控制的燃气灶。1855年,德国化学家本生发明了被称为“本生灯”的气体燃烧装置,这是一种装氧气与可燃性气体混合燃烧而产生高温的装置。在“本生灯”出现之后不到一年,英国的霍丁顿安东史密斯公司发明了世界上第一具用气体燃料的家用取暖装置。后来,燃气灶的逐渐普及及煤气的源源供应,便形成了今天的燃气灶。12燃气灶的前景与展望现阶段,我国最主流的燃气灶是明火式燃气灶,又叫大气式灶。随着技术革新和市场竞争的影响,大气式灶又推出了直火、旋火等概念;从炉头结构上讲,又有同心炉头、萨巴夫炉头等概念。灶具竞争的主流是火力大小、节能与否。近年来,红外线灶具异军突起,并且以节能、环保、火力强劲、不熏锅等特点受到顾客的青睐随着耐用消费品的理性回归,燃气灶的研发也应该回到理性的路上来。必须要处理好产品燃烧功能、产品外形及新功能开发三者之间的关系。也就是理顺产品的可用性、易用性和便利性的关系。(1)精控火力。燃烧使用性能仍为重中之重。不同的烹饪习惯要求不同的火力大小,加上节能环保的大趋势,又要求产品具有较高的效率。不同地区,不同的人群,使用的火力大小不同,这就要求火力调节的范围要大。(2)产品外观。如果燃烧技术处于同一个水平,那么哪个产品更加吸引消费者的眼球,那么这类产品就更加好卖了。材料的不同排列组合可以扩充产品线,同时也给消费者带来利益点,带来易用性。在没有新的面板材质出现的前提下,不锈钢仍然是主导。(3)新功能的开发。节能、环保、智能,高效等是研发新功能的关键字。新功能的开发定位应该是如何以不同的方式去实现产品的燃烧性能上,如是通过电控部分去实现简洁性,还是通过其他方法去实现快捷性,这要结合公司的市场策略,产品细分加以定夺和取舍。但是无论用什么去实现,前提还是要建立在燃气灶核心技术的实现上。如果单纯为了功能研发而延伸区开发其他产品,虽然可以获得部分市场份额,但是最终难以形成忠实的消费群。产品的更新换代,就会导致部分客源的流失。现今,谈的最多的就是智能。家电智能化是时代发展的要求,智能化只是为了使用更加方便简易,功能更加完善,因而这最终能融合人们的消费需求。与传统生活方式相比较,家电智能化可以为人们带来更加惬意,轻松的生活。家电智能化,使得很多家电操作更加简单,使用效率明显提高,节约能源,更加能提高使用的安全性。家电智能化是未来生活必不可少的角色之一,它必将取得长远的发展。(4)燃气灶节能辅助产品的开发。通过查阅资料,发现现在出现了很多为了节能环保而开发的燃气灶辅助产品。一种新型燃气灶健康保温节能罩有效的利用,燃气灶和灶具之间的开放空间的热辐射热能,减少温室效气体排放。可以节能减排,提高厨房空气质量。13小结其实,最适合嵌入式控制而且面最广量大的无疑是家用电器。因此,家用电器是单片机应用最多的领域之一。由于单片机的嵌入,家用电器不但提高了品质和性能,而且还出现了智能。这和传统机械型家用电器有很大区别,这种区别除了导致结构的改变之外,还产生了很多新的功能。在家用电器中,单片机是控制的核心,它是家用电器实现智能化的的心脏和大脑。由于家用电器体积小,故要求控制体积更小,以便能嵌入其结构之中。家用电器的嵌入式结构有单核嵌入和双核嵌入两种。一般电脑电饭煲的内部只有一个单片机,这种控制系统是单核嵌入;对于分体式空调,则在室内机和是室外机中分别有一个单片机,属于双核嵌入结构。由于单片机的体积小,所以可以根据具体要求安装安装咋不同的位置上,例如,模糊电磁灶的单片机结构及控制部件在其核心部位;电饭煲的单片机控制器通常在煲的外边缘;电脑热水瓶的单片机控制器在顶部;模糊蒸炖煲的单片机安装在底部等等。家用电器的品种多,功能差异大,因此,要求单片机具有灵活的控制功能。单片机以其微笑的体积和编程的灵活性,可以产生各种控制功能,完全能够满足家用电器的的需要。所以单片机在家用电器领域的广泛应用是必然的和合理的。第2章燃气灶智能控制器硬件设计本设计硬件系统主要是以单片机为主要控制器,各种芯片辅助下,完成其功能。单片机在其中起主要控制作用。本章主要介绍燃气灶控制系统中的硬件选择,包括总体设计,硬件接线图及分析,元器件的介绍选择,各个元器件的端口设置等。21总体设计在设计或者研究一个系统的时候,在先开始的是一个系统的总体设计。总体设计是一个设计的开始部分,是确定设计的主导。一个正确的、好的总体往往决定一个系统的好坏。下图21是燃气灶智能控制系统的总体设计图。AT89C51A/D转换温度采集键盘输入液晶LCD显示控制电磁阀门排气阀打开报警电火花打火图21燃气灶控制系统总体设计图由K型热电偶温度传感器采集温度信号传至热电偶数字转换器MAX6675,经过AT89C51单片机的数据处理,将四位温度值存到相应的单元进行动态显示。设置了四个键盘,分别代表待机、开火、煮饭、煲汤四个功能按键,每当按下一个键,单片机通过位寻址可以执行相应的键功能。在煮饭和煲汤两种功能的实现过程中,充分体现了智能控制的特点,煮饭和煲汤都设置了在一个特定的温度范围内浮动,完全智能化。当非正常的断气或者打火不燃都会报警提醒。在打火不燃的瞬间会积累部分燃气,所以设计了一个排气阀,排出燃气,避免对人体造成伤害。22硬件接线总图由燃气灶智能控制系统硬件接线图可知,此次设计选择了单片机为51系列的AT89C51作为主要控制器,它价格便宜,使用方便,性能也较稳定,现为广泛采用的一种芯片。燃气灶灶头的温度通过热电偶温度传感器采集,传至冷端补偿的K型热电偶数字转换器MAX6675的处理后,再送入单片机处理。入口为AT89C51的P20、P21、P22。经过单片机软件编程对采集的数据进行数据处理,传到显示芯片LCD1602显示。单片机中数据由单片机的I/O口P10P17开始,经LCD1602芯片的D0D7,传到显示芯片中显示实时温度。本次设计还设置了个按键,分别表示待机,点火,煲汤,煮饭四个功能。通过查询单片机I/O口P23、P24、P25、P26来确定按下了哪个按键,相对应的实施对应的功能。另外,还用两个LED灯来表示电磁阀门、电火花塞和排气阀的状态,就是灯亮就表明阀门闭合或者电火花塞不工作,否则反之。图22燃气灶智能控制器硬件接线图23AT89C51单片机的选择通用型单片机的种类很多,且适合不同应用场合的新产品不断出现。就目前我国的应用情况看,以8位中档MCS51系列单片机的应用最为普遍,并把它作为实时监测及控制等应用领域的优选机种。本次设计单片机选择MCS51系列单片机中的AT89C51。各管脚控制及对应的功能说明如下(1)时钟信号脚XTAL1、XTAL2外部时钟信号脚。(2)控制线RST/VPD当作RST使用时,为复位输入端;当作为VPD使用时,当VCC掉电下,可作备用电源。(3)/VPP为访问内部或外部程序储存器的选择号。对片内RPROM编程时,VPP接入21V编程电压。(4输入/输出口线P0口,既可接地址锁存器作低8位地址I/O口使用也可以作数据I/O口使用。能驱动8个LSTTL负载,本次设计没用到这个接口。P1口具有内部上位电阻的8位准双向I/O口,可驱动4个LSTTL负载。接液晶显示器的D0D7,用于控制显示LCD。P2口8位具有内部上位电阻的准双向I/O口,在接收外部存储器时,P2口作为地址高8位。能驱动4个LSTTL负载。P20P22分别接冷端补偿的K型热电偶数字转换器的S0,SCK和片选信号/CS。P23P26分别接四个按钮,按钮所要实现的功能分别是待机,点火,煲汤,煮饭四个功能。P3口8位具有内部上位电阻的准双向I/O口,其每一位又有如下特殊功能P30(RXD)为串行口输入端。接LED灯,用来表示控制电磁阀。灯亮和灭的状态用来显示电磁阀的开和闭。P31(TXD)为串行口输出端。也是接LED灯,用来表示点火状态。P35(T1为定时/计数器1外部事件计数输入端。接液晶显示器LCD的数据命令选择接口RS。P36(/WR为外部数据存储器写选通信号,低电平有效。接液晶显示器LCD读写选择接口RW。P37(/RD)为为外部数据存储器读选通信号,低电平有效。接液晶显示器LCD的使能信号端E。24K型热电偶温度传感器K型热电偶温度传感器是工业控制中常用的一种传感器,在现实中应用极其广泛。241工作原理两种不同的金属A与B形成闭合回路,如图23所示。当两个接点温度不同时,回路中将产生电动势。该电势的大小和方向取决于两导体的材料和之间的温度差,而与导体的粗细、长短无关。这种现象称为物体的热点效应,也叫赛贝克效应。组成的测量传感器称为热电偶传感器,产生的电势称为热电势。热电偶中用作测量的一段叫热段(测量端或工作段),另一端叫冷端(参与端)。工作端导体A导体B冷端图23热电偶的组成由于产生的热电势与两接点产生的温度差有关,必须先固定冷端的温度才能确定热电势与测温端的温度的对应关系。目前规定冷端在0给出热端温度(测量温度)与热电势的数值数值对照表(称为分度表)。在实际使用中要保持冷端0是不容易的,如果以室温作为冷端温度的测温,则需要加温度补偿。242K型热电偶K型热电偶测量范围宽,价格便宜,应用广泛。可以在氧化和中性气氛中测温。按热电偶偶丝的直径不同。其推荐测温范围如表21。表21K型热电偶测温范围偶绦直径(MM)030508、1012、1520、25短期使用最高温度()()800900100011001200长期使用最高温度()7008009001000110020、2512001300在仿真系统中,K型热电偶温度传感器如下图所示,此处不再详述此热电偶温度传感器与单片机的详细接线及其分析,将会在分析芯片MAX6675时提及和详细说明。K型热电偶传感器在仿真系统中如图24所示。图24在仿真系统中的K型热电偶传感器TC1如上图,其、端分别接冷端补偿的K型热电偶数字转换器端口T和T。有图可见,上图中的温度显示可以调节,便于仿真中的温度传感和分析。调节温度可以按下和来温度的高低,非常方便。25冷端补偿的K型热电偶数字转换器MAX6675MAX6675是一个复杂的热电偶数字转换器,带有一个内置的12位模拟数字转换器模数转换器(ADC)。MAX6675还包含了冷结补偿传感和校正,数字控制器,一个SPI兼容接口,以及相关的控制逻辑。在MAX6675的目的是一起工作的外部微控制器或其他情报,恒温,过程控制,或监测应用。251MAX6675温度转换原理在MAX6675包括信号调节硬件热电偶转换的信号转换成电压兼容与输入通道的模数转换器。热电偶作为一种主要的测温元件,具有结构简单。制造容易。使用方便。测温范围宽。测温精度高等特点。但是将热电偶应用在基于单片机的嵌入式系统领域时,却存在着以下几方面的问题。非线性热电偶输出热电势与温度之间的关系为非线性关系,因此在应用时必须进行线性化处理。冷补偿热电偶输出的热电势为冷端保持为0时与测量端的电势差值,而在实际应用中冷端的温度是随着环境温度而变化的,故需进行冷端补偿。数字化输出与嵌入式系统接口必然要采用数字化输出及数字化接口,而作为模拟小信号测温元件的热电偶显然法直接满足这个要求。因此,若将热电偶应用于嵌入式系统时,须进行复杂的信号放大、A/D转换、查表线性线。温度补偿及数字化输出接口等软硬件设计。如果能将上述的功能集成到一个集成电路芯片中,即采用单芯片来完成信号放大、冷端补偿、线性化及数字化输出功能,则将大大简化热电偶在嵌入式领域的应用设计。新近推出的MAX6675即是一个集成了热电偶放大器、冷端补偿、A/D转换器及SPI串口的热电偶放大器与数字转换器。252MAX6675性能特点(1)简单的SPI串行口温度值输出(2)01024的测温范围(3)片内冷端补偿(4)高阻抗差动输入(5)热电偶断线检测(6)单一5V的电源电压(7)低功耗特性(8)工作温度范围2085(9)2000V的ESD信号该器件采用8引脚SO帖片封装。引脚排列如图25所示。MAX667512435687GNDTTVCCNCSO/CSSCK图25MAX6675引脚图AT89C51单片机与MAX6675的具体接线如图26所示。图26AT89C51单片机与MAX6675的具体接线图在控制系统硬件接线中,MAX6675接线为端口T、T分别接温度记录器TC1的、端。端口SO、SCK、/CS分别接AT89C51的P20、P21、P22,从三个端口输入值单片机进行数值处理。图27K型热电偶温度传感器和MAX6675的结构及接线图253MAX6675工作原理该器件是一复杂的单片热电偶数字转换器,内部具有信号调节放大器。12位的模拟/数字化热电偶转换器、冷端补偿传感和校正、数字控制器。1个SPI兼容接口和1个相关的逻辑控制。图28为MAX6675的内部结构图。图28MAX6675内部结构框图(1)温度变换MAX6675内部具有将热电偶信号转换为与ADC输入通道兼容电压的信号调节放大器,T和T输入端连接到低噪声放大器A1,以保证检测输入的高精度,同时使热电偶连接导线与干扰源隔离。热电偶输出的热电势经低噪声放大器A1放大,再经过A2电压跟随器缓冲后,被送至ADC的输入端。在将温度电压值转换为相等价的温度值之前,它需要对热电偶的冷端温度进行补偿,冷端温度即是MAX6675周围温度与0实际参考值之间的差值。对于K型热电偶,电压变化率为41V/,电压可由线性公式VOUT41V/TRTAMB来近似热电偶的特性。上式中,VOUT为热电偶输出电压MV,TR是测量点温度;TAMB是周围温度。(2)冷端补偿热电偶的功能是检测热。冷两端温度的差值,热电偶热节点温度可在0102375范围变化。冷端即安装MAX6675的电路板周围温度,比温度在2085范围内变化。当冷端温度波动时,MAX6675仍能精确检测热端的温度变化。MAX6675是通过冷端补偿检测和校正周围温度变化的。该器件可将周围温度通过内部的温度检测二极管转换为温度补偿电压,为了产生实际热电偶温度测量值,MAX6675从热电偶的输出和检测二极管的输出测量电压。该器件内部电路将二极管电压和热电偶电压送到ADC中转换,以计算热电偶的热端温度。当热电偶的冷端与芯片温度相等时,MAX6675可获得最佳的测量精度。因此在实际测温应用时,应尽量避免在MAX6675附近放置发热器件或元件,因为这样会造成冷端误差。(3)热补偿在测温应用中,芯片自热将降低MAX6675温度测量精度,误大小依赖于MAX6675封装的热传导性。安装技术和通风效果。为降低芯片自热引起的测量误差,可在布线时使用大面积接地技术提高MAX6675温度测量精度。(4)噪声补偿MAX6675的测量精度对电源耦合噪声较敏感。为降低电源噪声影响,可在MAX6675的电源引脚附近接入1只01F陶瓷旁路电容。(5)测量精度的提高热电偶系统的测量精度可通过以下预防措施来提高尽量采用不能从测量区域散热的大截面导线;如必须用小截面导线,则只能应用在测量区域,并且在无温度变化率区域用扩展导线;避免受能拉紧导线的机械挤压和振动;当热电偶距离较远时,应采用双绞线作热电偶连线;在温度额定值范围内使用热电偶导线;避免急剧温度变化;在严劣环境中,使用合适的保护套以保证热电偶导线;仅在低温和小变化率区域使用扩展导线;保持热电偶电阻的事件记录和连续记录。(6)SPI串行接口MAX6675采用标准的SPI串行外设总线与MCU接口,且MAX6675只能作为从设备。MAX6675SO端输出温度数据的格式如图211所示,MAX6675SPI接口时序如图210所示。MAX6675从SPI串行接口输出数据的过程如下MCU使CS变低并提供时钟信号给SCK,由SO读取测量结果。CS变低将停止任何转换过程;CS变高将启动一个新的转换过程。一个完整串行接口读操作需16个时钟周期,在时钟的下降沿读16个输出位,第1位和第15位是一伪标志位,并总为0;第14位到第3位为以MSB到LSB顺序排列的转换温度值;第2位平时为低,当热电偶输入开放时为高,开放热电偶检测电路完全由MAX6675实现,为开放热电偶检测器操作,T必须接地,并使能地点尽可能接近GND脚;第1位为低以提供MAX6675器件身份码,第0位为三态。254测温应用MAX6675为单片数字式热电偶放大器,其工作时无需外接任何的外围元件,这里为降低电源耦合噪声,在其电源引脚和接地端之前接入了1只容量为01F的电容。图29串行接口协议图210串行接口时序图211SO输出位26液晶显示器本次设计选择液晶显示器LM016L。显示是控制系统中一个很重要的环节,此次设计采用的显示芯片是液晶显示器LM016L。利用其作为显示有如下优点(1)显示质量高由于液晶显示器每一个点在收到信号后就一直保持那种色彩和亮度,恒定发光,而不像阴极射线管显示器(CRT)那样需要不断刷新新亮点。因此,液晶显示器画质高且不会闪烁。(2)数字式接口液晶显示器都是数字式的,和单片机系统的接口更加简单可靠,操作更加方便。(3)体积小,重量轻液晶显示器通过显示屏上的电极控制液晶分子状态来达到显示的目的,在重量上比相同显示面积的传统显示器要轻得多。(4)功耗低相对而言,液晶显示器的功耗主要消耗在其内部的电极和驱动IC上,因而耗电量比其它显示器要少得多。261液晶显示的原理及显示分类液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。液晶显示器具有厚度薄、适用于大规模集成电路直接驱动、易于实现全彩色显示的特点,目前已经被广泛应用在便携式电脑、数字摄像机、PDA移动通信工具等众多领域。液晶显示的分类方法有很多种,通常可按其显示方式分为段式、字符式、点阵式等。除了黑白显示外,液晶显示器还有多灰度有彩色显示等。如果根据驱动方式来分,可以分为静态驱动(STATIC)、单纯矩阵驱动(SIMPLEMATRIX)和主动矩阵驱动(ACTIVEMATRIX)三种。液晶显示器各种图形的显示原理(1)线段的显示点阵图形式液晶由MN个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共168128个点组成,屏上6416个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H00FH的16字节的内容决定,当(000H)FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)FFH时,则屏幕的右下角显示一条短亮线;当(000H)FFH,(001H)00H,(002H)00H,(00EH)00H,(00FH)00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。(2)字符的显示用LCD显示一个字符时比较复杂,因为一个字符由68或88点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。(3)汉字的显示汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5右边为2、4、6根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节直到32B显示完就可以LCD上得到一个完整汉字。字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD,目前常用161,162,202和402行等的模块。一般LM016L字符型液晶显示器实物如图212所示。图212LM016L字符型液晶显示器实物图262LM016L的基本参数及引脚功能LM016L分为带背光和不带背光两种,基控制器大部分为HD44780,带背光的比不带背光的厚,是否带背光在应用中并无差别,两者尺寸差别如图213所示。图213LM016L尺寸图LM016L主要技术参数(1)显示容量162个字符(2)芯片工作电压4555V(3)工作电流20MA50V(4)模块最佳工作电压50V(5)字符尺寸295435WHMMLM016L采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如表22所示。表22引脚接口说明表编号符号引脚说明编号符号引脚说明1VSS电源地9D2数据2VDD电源正极10D3数据3VL液晶显示偏压11D4数据4RS数据/命令选择12D5数据5R/W读/写选择13D6数据6E使能信号14D7数据7D0数据15BLA背光源正极8D1数据16BLK背光源负极VSS为地电源。VDD接5V正电源。VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度。RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和R/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据。E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。D0D7为8位双向数据线。背光源正极,背光源负极。LM016L液晶模块内部的控制器共有11条控制指令,如表23所示。表23控制命令表序号指令RSR/WD7D6D5D4D3D2D1D01清显示00000000012光标返回0000000013置输入模式00000001I/DS4显示开/关控制0000001DCB5光标或字符移位000001S/CR/L6置功能00001DLNF7置字符发生存贮器地址0001字符发生存贮器地址8置数据存贮器地址001显示数据存贮器地址9读忙标志或地址01BF计数器地址10写数到CGRAM或DDRAM)10要写的数据内容11从CGRAM或DDRAM读数11读出的数据内容LM016L液晶模块的读写操作、屏幕和光标的操作都是通过指令编程来实现的。(说明1为高电平、0为低电平)指令1清显示,指令码01H,光标复位到地址00H位置。指令2光标复位,光标返回到地址00H。指令3光标和显示模式设置I/D光标移动方向,高电平右移,低电平左移S屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效。指令4显示开关控制。D控制整体显示的开与关,高电平表示开显示,低电平表示关显示C控制光标的开与关,高电平表示有光标,低电平表示无光标B控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5光标或显示移位S/C高电平时移动显示的文字,低电平时移动光标。指令6功能设置命令DL高电平时为4位总线,低电平时为8位总线N低电平时为单行显示,高电平时双行显示F低电平时显示5X7的点阵字符,高电平时显示5X10的点阵字符。指令7字符发生器RAM地址设置。指令8DDRAM地址设置。指令9读忙信号和光标地址BF为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。指令10写数据。指令11读数据。液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,下图214是LM016L的内部显示地址。图214LM016L内部显示地址例如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)10000000B80H11000000BC0H。在对液晶模块的初始化中要先设置其显示模式,在液晶模块显示字符时光标是自动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。LM016L液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如图表24所示,这些字符有阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A”。表24字符代码与图形对应图AT89C51单片机与LM016L具体接口如图215所示。图215AT89C51单片机与LM016L接口图27键盘及其他硬件在这个设计中,采用了四个键盘,代表四个功能。这四个键分别代表着待机、开阀点火、煮饭、煲汤四种功能。用户若想要实现其中一种功能,可以直接按下该键。单片机通过查询可以执行相应的键功能。其中,还设置了三个灯,分别代表电磁阀门、电火花塞和排气阀门,灯的亮灭代表电磁阀门开闭、电火花塞和排气阀门及其报警的工作状态。下图216是键盘、灯和单片机的接线图。图216键盘、灯和单片机的接线图第3章燃气灶智能控制器软件设计软件设计是本次设计的一个重要部分,包括燃气灶智能控制器软件设计总体设计和流程框图,各个子程序的设计和流程框图。需要对每个程序包括总体程序和子程序进行说明和解释,使燃气灶智能控制器软件设计更加明白和直观,更加方便读者的阅读和理解。31燃气灶智能控制器主程序设计311主程序流程框图在软件设计中,主程序就像一棵树的主干。我们首先将这棵树的主干摆直,也就是将主程序做好,然后只需要开枝散叶即可。在主程序的基础上,不断延伸,调用各个相对应执行功能的子程序,实现一系列不同的功能。不过在调用各个功能的子程序的时候,要及时调试和改正,因为在程序整合的时候会出现一系列问题。主程序是软件设计的主干,起到一个基础的作用。本次设计的主程序开始定义宏定义了温度的四位存储空间单元,对后来的温度动态显示做了准备,也为中间的数据存储提供了空间。还定义了液晶显示的接口,液晶显示各个引脚都有了明确的标定。对一个程序的编写之前一定要熟悉芯片,包括各个引脚的功能及其指令,所以主程序还对液晶显示有了初始化,清理显示,光标复位,读写数据等。最后还需要调用各个功能子程序,将采集的温度实时存储到指定单元进行动态显示。由此设计思路得出主程序流程框图如图31所示。开始程序初始化(包括宏定义温度四位存储单元、液晶显示接口定义设置)显示程序初始化调用各功能执行子程序将四位温度值分离存入相应存储单元图31燃气灶智能控制器主程序设计框图312主程序设计及其部分说明DATALDATA30H;宏定义温度四位显示SOBITP22;液晶显示LCD的接口定义SCKBITP21CSBITP20RSBITP35RWBITP36EBITP37ORG0000HSTARTMOVSP,50H;初始化堆栈指针MOVP1,01H;显示程序初始化LCALLENABLE;对于TEMP的处理和显示,针对表23字符代码与图形对应图联系起来,从表中调取TEMP对应的字符代码在即可MOVP1,03H;液晶显示光标返回LCALLENABLEMOVP1,38H;置功能LCALLENABLEMOVP1,0CH;置开关控制LCALLENABLEMOVP1,06H;置输入模式LCALLENABLEMOVP1,0C0H;读出的数据内容LCALLENABLEMOVDPTR,TABLE1LCALLWRITE1;显示字符TEMPMOVP1,0C5HLCALLENABLEWAITLCALLREADY;调用显示初始处理子程序LCALLD16T12;调用数据处理子程序LCALLDIV_2BYTE;调用数据存储子程序PROCMOVA,34HLCALLWRITE0MOVA,35HLCALLWRITE0MOVA,36HLCALLWRITE0MOVA,37H;将温度四位值存到相应单元LCALLWRITE0;查表并存入LCALLDELAY1LCALLJIANPAN;调用键盘查询子程序SJMPWAIT;返回32温度读入程序设计这个子程序主要实现温度的读出。本次设计的温度由温度传感器采集后传到一个温度转换芯片MAX6675,通过其温度处理最后传至单片机再进行数据处理四位显示。所以要编写温度读入程序必须熟悉芯片MAX6675的功能。当芯片初始化后,停止液晶显示器的数据输出,MAX6675芯片内部处理数据,分别处理高八位和低八位的温度值,再将数据传到单片机进行数据处理以便显示。其程序流程框图如图32所示。开始程序初始化入栈保护等停止液晶显示转换并输出数据延时赋值温度处理结束标志R2读D15D08高八位数据延时处理将读取的高八位数据保存再次赋值温度处理结束标志R2读入低八位D7D0数据延时处理将读取的低八位数据保存程序数据出栈保护图32读入温度程序流程框图启动另一次温度转换过程读入温度程序段及其分分析说明如下READYPUSHACC;入栈保护PUSHBPUSH01HCLRCS;停止转换并输出数据NOP;程序的编写根据芯片来写,这里要了解MAX6675的功能及其实现。NOPNOPNOPSETBSCKNOPNOPNOPNOPCLRSCK;时钟变低NOPNOPNOPNOPMOVR2,08HREADHMOVC,SORLCA;读D15D8高8位数据SETBSCKNOPCLRSCKNOPNOPNOPNOPDJNZR2,READHMOVDATAH,A;将读取的高8位数据保存MOVR2,08HREADLMOVC,SO;读D7D0低8位数据RLCASETBSCKNOPNOPNOPNOPCLRSCKNOPDJNZR2,READLMOVDATAL,A;将读取的低8位数据保存SETBCS;启动另一次转换过程POP01HPOPBPOPACC;出栈保护RET33数据处理程序数据处理子程序主要是针对采集到的温度值进行数据处理,得到可以显示的数值存入到相应的单元进行显示。这类程序一般是单片机编程中重要组成部分,也是复杂的编程处理。本次毕业设计的数据处理复杂,在指导老师的帮助下才得以完成。MAX6675传送过来的是16位的数据,其中3位到14位为温度值,15位为伪值,1、2位也与温度无关,这些都需要去掉,数据处理程序就是基于这样的目的处理并整合温度值。先将16位温度值带C的右移或者左移处理,将1、2位,15位消去或者屏蔽。温度值存入两个8位的单元,将各个8位的数值分高四位和低四位进行处理,先处理高四位,二进制转换成十进制后传到温度存储单元。再处理低四位,还需要考虑低四位的温度值是否有温度进位。如果有,则需要向高四位反映。整个过程复杂,其数据处理程序流程框图如图33所示。开始入栈保护将DATAH中的数据高低4位互换取温度值的D11D8位消去D15D12转换后的数据送温度高位保存温度值的D7D4位取出温度值的D3D0合并成温度显示低位字节数据出栈图33数据处理程序程序流程框图数据处理程序程序段及其部分说明如下D16T12PUSHACCPUSHBPUSH01HMOVA,DATAHRLCASWAPA;将DATAH中的数据高低4位互换MOVB,A;数据暂存于B中ANLA,0FH;得到温度值的D11D8位,置零D15D12MOVTDATAH,A;转换后的数据送温度高位MOVA,B;取出温度值的D7D4位ANLA,0F0HMOVB,A;暂存B中MOVA,DATALCLRCRLCAMOV0F4H,CANLA,0F0H;取出温度值的D3D0SWAPAORLA,B;合并成低位字节MOVTDATAL,AMOVA,TDATAHANLA,0FHCLRCRRCAMOVTDATAH,AMOVA,TDATALRRCAMOVTDATAL,AMOVA,TDATAHANLA,0FHCLRCRRCAMOVTDATAH,AMOVA,TDATALRRCAMOVTDATAL,A;温度数据处理后存储POP01HPOPBPOPACCRET34检查转换程序通过单片机数据处理后得出来的温度值每一段时间送显示器显示一次,所以我们都要有个看是否转换完毕的程序来检查这次程序是否结束。通过查询P1口的状态,来实现这一点。先对P1口设置标志位0FFH,启动显示器,检查P17的状态看看是否转换完毕。完毕了就启动下次。CHECKMOVP1,0FFHCLRRSSETBRWCLRENOPSETBE;E由高电平变低电平时,进行写操作JBP17,CHECK;若没转换完,继续转换MOVA,P1;数据接收完毕后送AANLA,7FHCJNEA,49H,A3MOVP1,0C5HCALLENABLEA3RET35显示程序这个子程序其实是调用后面的DB表。在编写程序的时候,我们需要结合前面的表24字符代码与图形对应图来看。由表24可知09字符分别由30H39H表示。先制定TAB的地址,当出现一个温度值的时候,地址在此基础上相加,即变址寻址。这样09就可以显示出来了。下面是显示程序的程序段。WRITE0MOVDPTR,TAB;提取表中的09字符MOVCA,ADPTR;看是哪个字符,就提取哪个字符CALLWRITE2CALLCHECKRET351显示程序WRITE1温度显示格式是“TEMP温度值”,TEMP四个字母是不变的,总是在显示。所以此子程序是为了显示着五个字符。先至标志位00H,当这五个字符显示完了的时候,就查询到了00H,故执行下面的程序;当这五个字符没显示完,则要等到显示完毕才行。下面是显示程序WRITE1的程序段。WRITE1MOVR1,00H;置表的结束标志位00HA1MOVA,R1MOVCA,ADPTRCALLWRITE2;显示INCR1CJNEA,00H,A1;判断TEMP是否转换完RET352显示程序WRITE2此子程序是将温度显示。先提取累加器A中的值送P1口,初始化显示器,显示送过来的温度值,为了操作清晰看得清,加上了延时处理。当显示完了,关闭显示,等待下次显示的到来。下面是显示程序WRITE2的程序段。WRITE2MOVP1,A;显示子程序SETBRSCLRRWCLRE;设置LCDCALLDELAY;延时处理SETBERET36显示前准备程序这是一个纯粹的显示初始化的程序,取名叫显示准备程序。就是对显示器进行了温度显示前的准备,对RS、RW、E等引脚定义。ENABLECLRRSCLRRWCLRE;初始化LCDCALLDELAY;延时处理SETBERET37键盘功能查询程序键盘功能查询子程序主要是对燃气灶的功能的一个设置。当我们要选择一个特定的功能的时候,如待机、开火、煮饭、煲汤等功能时候,我们可以按下相应的按键来实现不同的功能。在燃气灶的主操作界面上,设置了四个功能键,当有键按下且按键上提了,才执行该功能。如果当按下某一个键的时候,没提上来,则功能不执行,直到等到键提上来的时候才执行该相应的功能。键盘其程序流程框图34所示。开始判断是否有键按下调功能程序执行相应键功能YESNO按键是否提上来YESNO图34键盘功能查询子程序流程框图键盘功能查询程序段及其部分说明如下JIANPANJNBP23,K3;查询各个键的状态JNBP24,K4JNBP25,K5JNBP26,K6LJMPWAITK3JNBP23,;等待按键上提CLRP30,;关阀停止CLRP31,SETBP27SJMPLJMPWAITK4JNBP24,;开阀点火SETBP30SETBP31LJMPWAITK5JNBP25,;煲汤LCALLBAOTANGLJMPWAITK6JNBP26,;煮饭LCALLZHUFANLJMPWAITRET371煮饭程序燃气灶智能控制设置了两种智能工作方式,煮饭和煲汤。煮饭程序智能控制的设计思路为,先加热到一定的温度后保温一段时间,这段时间里主要是把饭煮熟。在关闭阀门,停止加热,直到达到一个较低的温度时候再次保温一段时间,此次时间段里面保温目的是使煮的饭更加完成和爽口。煮饭程序时间(T)和温度()的曲线图如图35所示。T煮饭阶段保温阶段图35煮饭程序时间(T)和温度()的曲线图由设计思路得出下面是煮饭子程序的流程框图。如流程框图如图36所示。开始赋值时间初值60开阀加热是否达到400600关闭阀门是否在200300度之间打开阀门,加热YES保温10分钟NO关闭阀门,降温NO保温10分钟YES图36煮饭程序流程框图煮饭程序段及其说明如下ZHUFANMOV70H,60;赋值一分钟初值LP0SETBP30;开阀点火SETBP31MOVA,32HCJNEA,6,LP0;判断是否达到600CLRP30;达到600停止加热CLRP31MOVA,32HCJNEA,4,DL1;判断是否达到400SJMPLP0;没达到加热,达到延时DL1MOVR1,4;延时1SDL2MOVR2,251DL3MOVR3,248NOPNOPDJNZR3,DL3DJNZR2,DL2DJNZR1,DL1DJNZ70H,DL1MOV71H,10;赋值10分钟的初值DJNZ71H,ZHUFANDELAY2YMOV70H,60;赋值一分钟的初值DL4CLRP30;关阀门,停止加热CLRP31MOVA,32HCJNEA,2,DL4;判断是否达到200DL5SETBP30;达到200加热SETBP31MOVA,32HCJNEA,3,DL5;判断是否达到300SJMPDL4;达到300关阀门保温DL6MOVR1,4;1S延时DL7MOVR2,251DL8MOVR3,248NOPNOPDJNZR3,DL8DJNZR2,DL7DJNZR1,DL6DJNZ70H,DL6MOV72H,10;延时10MINDJNZ72H,DELAY2YRET372煲汤程序煲汤程序是燃气灶智能控制方式其中的一种。比较煮饭程序,其相对来说简单些。煲汤程序时间(T)和温度()的曲线图如图37所示。T煲汤阶段图37煲汤程序时间(T)和温度()的曲线图由设计思路可设计出流程图,下图38为煲汤程序的流程图。开始赋值时间初值60开阀加热是否达到400600保温30分钟关闭阀门NOYES图38煲汤子程序流程框图煲汤子程序段及其部分说明如下BAOTANGM

温馨提示

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

评论

0/150

提交评论