燃气灶智能控制器设计毕业设计_第1页
燃气灶智能控制器设计毕业设计_第2页
燃气灶智能控制器设计毕业设计_第3页
燃气灶智能控制器设计毕业设计_第4页
燃气灶智能控制器设计毕业设计_第5页
已阅读5页,还剩71页未读 继续免费阅读

下载本文档

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

文档简介

PAGEPAGE3燃气灶智能控制器设计毕业设计目录摘要 IAbstract II第一章 绪 论 1燃气灶的现状 1燃气灶的系统构成 1燃气灶的控制方法 3智能燃气灶具的发展和展望 4第二章总体设计方案 6总体设计 6单片机的选择 6功能设计 7热电偶及转换模块 8K型热电偶工作原理 8K型热电偶参数 8MAX6675参数及工作原理 9测温应用 11计时模块 122.5.1DS1302简介 122.5.2读写时序说明 15显示模块 161602字符型LCD简介 161602液晶模块内部控制说明 18熄火保护装置 19第三章燃气灶智能控制器的硬件接口电路设计 21硬件接线总图 21温度采集模块接口电路设计 21按键接口电路设计 22状态指示灯灯接口电路设计 23显示器接口电路设计 23计时器接口电路设计 24第四章燃气灶智能控制器的软件设计 26主程序设计 26主程序流程框图 26主程序 26显示程序设计 29显示流程框图 29显示程序 29温度采集程序设计 30温度采集流程框图 30温度采集程序 31温度数据处理程序设计 33温度数据处理流程框图 33温度数据处理程序 34按键功能处理程序设计 35按键界面操作说明 35按键功能处理流程框图 364.5.1按键功能处理程序 36时间设定程序设计 37时间设定流程框图 37时间设定程序 39定时程序设计 40定时流程框图 404.6.2定时程序 41火力调节程序 43火力调节流程框图 43火力调节程序 43煮饭程序设计 45煮饭流程框图 45煮饭程序 46煲汤程序设计 47煲汤流程框图 47煲汤程序 48结 论 50参考文献 51致 谢 52附 录 53PAGE\*ROMANPAGE\*ROMANII燃气灶智能控制器设计摘要:本次设计是围绕燃气灶智能控制器为中心设计的,以AT89C51单片机作为处理段主要控制方法,另外还阐述了智能燃气灶未来的发展与展望。关键词:燃气灶;单片机;软硬件设计;温度采集IntelligentcontrollerdesignofgasstoveAbstract:Thisdesignisdesignasthecenteraroundtheintelligentcontrollerforgascooker,withAT89C51microcontrollerasaprocessingcenterintegratedwithhardwaretimingmodule,thetemperatureacquisitionmodule,displaymodule;softwareintegratedthebasicfunctionofgasstovesandcooking,soupandothercharacteristicsofthefunction,process,theuseofassemblylanguage,theadvantagesofthelanguageismemoryfootprintsmallexecutionspeedandhighefficiency.Inthebeginning,thegasstovesinthecurrentsituation,classificationandmaincontrolmethod,alsodescribedthedevelopmentandProspectofintelligentgasstove..Keywords:Gasstove;SCM;hardwaredesign;temperaturesamplingPAGEPAGE8第一章 绪论所谓燃气灶,系指以液化石油气、人工煤气、天然气等气体燃料进行直火加热的厨房用具。燃气灶又叫炉盘,其大众化程度无人不知,但又很难见到一个通行的概念。一如柴禾灶、煤油炉、煤球炉等等。按气源讲,燃气灶主要分为液化气灶、煤气灶、天然气灶。按灶眼讲,分为单灶、双灶和多眼灶。燃气灶的现状家用燃气灶目前已成为我国城镇居民家中的主要灶具,其社会总拥有量已经超过1795[4]价格各异,其区别仅反映在外观和制造质量上,而产品的结构和使用功能等则差别不大[10]。2007产品线[5]。目前我国的家用燃气灶具产品的技术含量普遍不高,自动化和智能化程度较低,因[1]20008月出台了新的200121日起,家用嵌入式燃气灶具必须安装熄火安全保护装置力[2]。因此带有安全熄火保护装置的家用燃气灶具将成为今后燃气灶具的发展趋势,同时也是亟待解决的一个技术关。另外,随着人们生活水平的日益提高,对家用燃气灶具的安全性、节能性、美观性、操作方便性、智能化等有了更高的要求。[3]燃气灶的系统构成按气源讲,燃气灶主要分为液化气灶,煤气灶,天然气灶。按灶眼讲,燃气灶又分为单灶,双灶和多眼灶[6]。市场上燃气灶的进风方式大体为上进风、下进风、侧进风和全进风四种。下进风型:这种灶具是照抄进口灶具而来,为符合国人猛火爆炒的烹调习惯而增大了热负荷及燃烧器,国外这种产品是要求橱柜开孔,或依靠较大的橱柜缝隙来补而国内用户很少知道将橱柜开孔,因而造成燃烧不充分,黄焰、一氧化碳浓度高,且一旦燃气泄漏量较大,就可能造成点火爆燃,导致玻璃面板爆裂。上进风型:这种灶具改进了第一种灶具的缺点,将炉头抬高超过台面,希望一氧化碳浓度偏高的问题。这种结构设计,热负荷也不能设计过大大于侧进风型:这种灶具在面板相对低温区安上一个进风器,当燃烧使壳体内的3.8全进风型:这种灶具不仅在底盘上有进风口,而且在炉头与承液盘之间也留低了灶具体内和玻璃面板的温度,有效地避免玻璃面板爆裂现象的发生。玻璃面板。因而消费者一定要选购名牌产品,安装时切记在橱柜上打孔以确保气流畅通。现在燃气灶流行的点火方式有电子脉冲点火和压电陶瓷点火两种。100%,但这种方式需要换电池。湿度大时不易点着。此外,点火的时候需要按住开关才能打着火,没有电子脉冲点火那么快[8]。燃气灶的熄火保护装置是非常必须的,相关国家标准对此也有强制性规定。目前市场上常用的熄火保护方式有三种:热敏式、热电式和光电式。在温度的作用下,膨胀系数大的金属一面会向膨胀系数小的金属一面弯曲,当失去温度时,原已膨胀弯曲的金属又会慢慢恢复到原来的状态,因此双金属片又称为记忆合金。热电式:该装置也是利用了燃气燃烧时产生的热能。热电式熄火安全保护装单向导电特性[9.10]。燃气灶的控制方法现在一般的家用燃气灶都是手动控制,使用的时候打火点燃燃气,手动调节燃气的阀门的开口,以此调节火力的大小。不存在智能控制,价格便宜,使用还方便,但是缺乏安全保护,也不环保。经过许多科研人员不断研究探索,许多各种各样的智能燃气灶出现了:VDFFreescaleMC9S08AW32VDF(VacuumFluorescentDisplay)屏幕显示驱动,具有自发光,视角广,辉度器(微波炉,洗衣机等)的显示面板[11]。自动节能环保安全燃气灶。现在世界讲究环保,环保关系到人类后代的生存打开。另外,又必须重新点火,采用电脑型脉冲控制器,设计专门的微动开关装置,能从而发送信号给电脑型脉冲控制器。使放电针停止放电,这样可以节约电能[12]。MC68HC908GZ32动旋塞阀调节灶具火力大小。此智能燃气灶和传统的燃气灶相比,优点很多:*操作方便。采用感应按键,具有定时,火力大小数字化调节等功能。*安全性高。点火不成功或意外熄火可以关闭气源。*LED尚感[3]。凌阳单片机语音播报智能化燃气灶。采用凌阳公司的16SPCE06A仪器,液晶显示自动化等领域应用[13]。智能燃气灶具的发展和展望生活水平的不断提高和消费品位的不断提升,现代科技技术应用的多样化,推动了当今燃气灶具不断创新的不断发展。综合看来,灶具消费需求集中体现为科技、人性、安全、突出表现为安全技术、数字电子技术、使用方便性特点,以及目前逐步起步的气电集成技术、集成环保灶等。数字电子技术带来的科技革命已是有目共睹,近年以来,厨电产品在数字技术应用方面呈现出“科技化”的趋势十分明显。随着整体厨房技术的不断发展,选择整体厨房成为商品房新装修人群的多数愿望,厨房空间变大、厨房环境的人性化、个性化,都对厨电技术提出了新的要求。因此,在一些主流品牌的展厅内,不断出现吸引眼球的新灶具,联动控制、数码显音乐、视频点播、阅读、搜索、查询、存储等不同功能在灶具上的嵌入已不停留在概念上的实现,而成为一种技术实现的可能[16]。其次,灶具人性化一直是消费者青睐的重要因素。人性化含义是多方面的,概括起来主要的需求有以下几个方面:火力调节的人性化。目前大多数灶具的火力调节范围是有限的,或者存在着无法键所在。目前博世PED7250MX0.3KW要求。敞开化的灶具面板,在视觉效果、易清洁方面特别符合消费者的需求。全封闭的面板设计,平面高度,整体感强,在西门子等不少品牌灶具企业中都得到应用。安装定位的人性化。灶具炉头、火盖、锅支架、面板的定位是一个不大不小的问入式的定位设计,能满足人性化的需求。此外,燃气灶具安全技术,在现行的国家标准中得到深度贯彻,并提出具体技术要求。熄火保护技术的不断升级,以离子熄火保护为现有的最先进的技术。安全技术不仅仅局限于熄火保护,通过智能技术的升级,对燃气泄露报警、高温警示、灶体散热、童锁等等安全措施的保障,也是未来安全技术发展的重要内容。市场上不断发展壮大的气电两用灶、集成环保灶,则完全跳出了燃气灶具的固有范畴,完全从消费者的实际需要出发而标新立异,填补了燃气灶具在一般使用过程中的技术缺陷和功能空白。这也是从另一个角度折射出灶具技术的发展趋势呈现出多元化,但这一切都是以客观存在的消费需求为前提的,未来灶具技术的发展,消费者将起着决定性的牵引作用。第二章总体设计方案本设计硬件系统主要是以单片机为主要控制器,各种芯片辅助下,完成其功能。单片机在其中起主要控制作用。本章主要介绍燃气灶控制系统中的硬件选择,包括总体设计,硬件接线图及分析,元器件的介绍选择,各个元器件的端口设置等。总体设计附加电源(电源、时钟、复位)定时时间火力调节单时间显示片附加电源(电源、时钟、复位)定时时间火力调节单时间显示片状态显示机点火、熄火煮饭、煲汤温度采集图2.1总体设计框图点火、熄火煮饭、煲汤温度采集任意调节并具有方便的点/LCD液晶显示,火力大小指示灯,待机指示灯。单片机的选择通用型单片机的种类很多,且适合不同应用场合的新产品不断出现。就目前我国的应用情况看,以8位中档MCS-51系列单片机的应用最为普遍,并把它作为实时监测及控制等应用领域的优选机种。MCS-51能说明如下:、外部时钟信号脚。控制线——RST/Vpd:RST使用时,为复位输入端;当作为VpdVCC掉电下,可作备用电源。/VppRPROM编程时,Vpp接入21V编程电压。(4)输入/输出口线——P08I/OI/O8LSTTL负载。P1口——具有内部上位电阻的8位准双向I/O口,可驱动4个LSTTL负载。P2口——8I/O84LSTTL负载。P3口——8位具有内部上位电阻的准双向I/O口。功能设计过设计三个按钮:时间+、时间-、确认配合软件来实现时间的输入和倒计时的烹饪。火力调节:燃气灶最基本的功能,无论是手动燃气灶还是智能燃气灶,这个功能是最主要的设计方面,本次设计通过设计一个按钮来实现火力大小的任(55小火(35。装置来实现过程自动化,过程类似电饭煲但又有所区别。K度传感器,并对其做了详细介绍。点火、熄火:通过设计点火键和待机键来实现点火、熄火功能,点火键按下时,阀门开脉冲点火器产生电弧,点燃气体,默认小火;待机键按下时,清除所有状态,相当于OFF活跃状态,在活跃状态等待别的状态开启。时间显示:本次设计需要显示的内容很简单,所以选择了LCD显示器。6个状态指示灯,即煮饭、煲汤、待机、火力大、火力中和火力小六个状态。热电偶及转换模块K型热电偶工作原理AB形成闭合回路,如图2.2感器称为热电偶传感器,产生的电势称为热电势。热电偶中用作测量的一段叫热段(量端或工作段,另一端叫冷端(参与端。导体导体A工作端工作端冷端导体B2.2热电偶的组成0℃给出热端温度(测量温度)与热(称为分度表0以室温作为冷端温度的测温,则需要加温度补偿。K型热电偶参数K型热电偶测量范围宽,价格便宜,应用广泛,可以在氧化和中性气氛中测温。按热电偶偶丝的直径不同,其推荐测温范围如表2.1所示。表2.1K型热电偶测温范围偶绦直径长期使用最高温度(℃)(℃)0.37008000.58009000.8、1.090010001.2、1.5100011002.0、2.5110012002.0、2.512001300MAX6675参数及工作原理MAX667512器模数转换器AD。MAX6675还包含了冷结补偿传感和校正,数字控制器,一个SPIMAX6675的目的是一起工作的外部微控制器或其他情报,恒温,过程控制,或监测应用。(1)简单的SPI串行口温度值输出(2)0℃~1024℃的测温范围片内冷端补偿高阻抗差动输入热电偶断线检测5V的电源电压低功耗特性(8)工作温度范围-20℃~85℃(9)2000V的ESD信号该器件采用8引脚SO帖片封装。引脚排列如图2.3所示。图2.3 MAX6675引脚图912模拟/数字化热电偶转换器、冷端补偿传感和校正、数字控制器。1SPI1个相关的逻辑控制,MAX66752.4所示。图2.4MAX6675内部结构框图温度变换MAX6675ADC输入通道兼容电压的信号调节放大器,TA1,以保证检测输入的高精度,同时使热电偶A1A2电ADCMAX66750℃实际参K41μV/out=(41μV/℃)×(tR-tAMB)为热电偶输出电压(mV),tR是测量点温度;tAMB是周围温度。冷端补偿热电偶的功能是检测热。冷两端温度的差值,热电偶热节点温度可在0℃~1023.75MAX6675的电路板周围温度,比温度在-2℃~85MAX6675MAX6675是通过冷端补偿检测和校正周围温度变化的。该器件可将周围温度通过内部的温度检测二极管转换为温度补偿电压,为了产生实际热电偶温度测量值,MAX6675从热电偶的输出和检测二极管的输出测量电压。该器件内部电路将二极管电ADC温度相等时,MAX6675可获得最佳的测量精度。因此在实际测温应用时,应尽量避免10在MAX6675附近放置发热器件或元件,因为这样会造成冷端误差。热补偿MAX6675MAX6675MAX6675温度测量精度。噪声补偿MAX6675的测量精度对电源耦合噪声较敏感。为降低电源噪声影响,可在MAX6675的电源引脚附近接入1只0.1μF陶瓷旁路电容。测量精度的提高热电偶系统的测量精度可通过以下预防措施来提高:①尽量采用不能从测量区域散热的大截面导线;②如必须用小截面导线,则只能应用在测量区域,并且在无温度变化率区域用扩展导线;③避免受能拉紧导线的机械挤压和振动;④当热电偶距离较远时,应采用双绞线作热电偶连线;⑤在温度额定值范围内使用热电偶导线;⑥避免急剧温度变化;⑦在严劣环境中,使用合适的保护套以保证热电偶导线;⑧仅在低温和小变化率区域使用扩展导线;⑨保持热电偶电阻的事件记录和连续记录。SPI串行接口MAX6675SPIMCUMAX6675备。MAX6675SO2.11所示,MAX6675SPI接口时序如图2.10所示。MAX6675SPI串行接口输出数据的过程如下:MCUCS变低并提供时SCK,SOCS变高将启动一个新的转换过程。一个完整串行接口读操作需16个时钟周期,在时钟的下降沿读16个输1150143MSBLSB2MAX6675必须接地,并使能地点尽可GND1MAX66750位为三态。测温应用MAX6675为单片数字式热电偶放大器,其工作时无需外接任何的外围元件,这里为降低电源耦合噪声,在其电源引脚和接地端之前接入了1只容量为0.1μF的电容。112.5串行接口协议2.6串行接口时序图2.7SO输出位计时模块DS1302简介DS1302DALLAS31RAM,采用SPICPU进行同步通信,并可采用突发方式一次传送RAM数据。实时时钟可提供秒、分、时、日、星期、月和年,31天时可以自动调整,且具有闰年补偿功能。工作电压宽达2.5~5.5V。采用双电源供电(主电源和备用电源,可设置备用电源充电方式,提供了对后背电源进DS13022.82.9DS1302用于数据记录,特别是对某些具有特殊意义的数据点的记录上,能实现数据与12出现该数据的时间同时记录,因此广泛应用于测量系统中。2.8引脚分配图2.9内部结构图各引脚的功能为::备份电源。当Vcc2>Vcc1+0.2V时,由Vcc2向DS1302供电,当Vcc2<Vcc1时,由Vcc1向DS1302供电。SCLK:串行时钟,输入,控制数据的输入与输出;I/O:三线接口时的双向数据线;节数据传输的方法。DS1302有下列几组寄存器:DS1302127(80h~8ChBCD2.10所示。13图2.10DS1302有关日历、时间的寄存器小时寄存器(85h、84h)7DS13021224121251时,表示PM24510小时位。秒寄存器81h80h)7定义为时钟暂停标志CH1钟振荡器停止,DS13020时,时钟开始运行。控制寄存器8F8Eh)7是写保护位WP70RAM0WP1寄存器的写操作。②DS1302RAM的地址DS1302中附加31字节静态RAM的地址如图2.11所示。2.11RAM地址DS1302的工作模式寄存器RAM2.12所示。2.12突发模式寄存器14④此外,DS1302还有充电寄存器等。读写时序说明DS1302是SPI总线驱动方式。它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。要想与DS1302通信,首先要先了解DS1302的控制字。DS1302的控制字如图2.13所示。图2.13DS1302控制字(710DS1302中。位6:如果为0,则表示存取日历时钟数据,为1表示存取RAM数据;5(A~A(最低有效位01表示进行读操作。SCLK时钟的上升沿时,数据被写入DS1302,数据输入从最低位位)开始。同样,在紧跟8位的控制字SCLK脉冲的下降沿,读出DS13022.142.15所示。2.14数据读取时序图RST引脚(复位引脚)RST引脚应该置为高电平。SCLKIO引脚。图中的前八位的黑色箭头表示写入的数据在上升DS1302SCLkSCLK拉低(SCLK15DS1302IO端口上IO一位二进制数据。2.15数据写入时序图RST引脚(复位引脚)RST引脚应该置为高电平。SCLKIO引脚。图中的黑色箭头表示写入的数据在上升沿锁存。DS1302SCLkIOSCLK时钟线拉高,此时数据就DS1302中了。显示模块1602LCD简介字符型液晶显示模块是一种专门用于显示字母、数字、符号等点阵式LCD16*1,16*2,20*240*2行等的模块。2.1602LCD的基本参数及引脚功能基本参数显示容量:16×2个字符芯片工作电压:4.5—5.5V工作电流:2.0mA(5.0V)模块最佳工作电压:5.0V字符尺寸:2.95×4.35(W×H)mm引脚功能1602LCD采用标准的14脚(无背光)或16脚(带背光)接口,各引脚接口说明如图2.16所示。162.1611脚:VSS为地电源。2脚:VDD5V正电源。第3脚:VL为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度10K调整对比度。45脚:R/W为读写信号线,高电平时进行读操作,低电平时进行写操作。当RSR/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/WRS为高电平R/W6脚:EE端由高电平跳变成低电平时,液晶模块执行命令。第7~1481516脚:背光源负极。(3)1602LCDRAM地址映射及标准字库表液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在,哪里显示字符,1602的内部显示地址如图2.17所示。图2.17内部显示地址174040HD7恒定为高101000000B(40H)+10000000B(80H)=11000000B(C0H)。动右移的,无需人工干预。每次输入指令前都要判断液晶模块是否处于忙的状态。1602160个不同的点阵2.18和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001(41,显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到图2.18字符字模关系对照表1602液晶模块内部控制说明1602液晶模块内部的控制器共有11条控制指令,如图2.19所示。18图2.19内部控制指令表1602液晶模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的。(说明1为高电平,0为低电平)101H00H200H3屏幕上所有文字是否左移或右移,高电平表示有效,低电平表示无效。4:显示开关控制。D表示关显示。C:控制光标的开与关,高电平表示有光标,低电平表示无光B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。指令5:光标或显示移位S/C:高电平时显示移动的文字,低电平时移动光标6DL48N:低电5X75X10的显示字符。指令7:字符发生器RAM地址设置。指令8:DDRAM地址设置。指令9:读忙信号和光标地址BF:忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平表示不忙熄火保护装置3-4秒才能响应。原19理图如图2.20所示。图2.20热电偶熄火保护原理图热电偶感应针置于火焰燃烧范围,随着温度的升高,产生电动势使阀门打开,维持20第三章燃气灶智能控制器的硬件接口电路设计本章主要介绍硬件接口设计,硬件接口几大部分分别为:温度采集模块、按键、状态指示灯、显示器、计时器和附加电路的接口电路设计。硬件接线总图硬件接线总图如图3.1所示。图3.1硬件接线总图3.1P2RSE分别接P3.5P3.6P3.7,时间+/P0.0P0.1-P0.2,确认键接P0.3,点火接P0.4,待机键接P0.5,煲汤接P0.6,煮饭接D2D3D4D5D6分别接P3.0P3.4P1.7、P3.3、P3.2、P3.1,温度采集模块SO、SCK、CSP1.0、P1.1、P1.2。温度采集模块接口电路设计接口电路图如图3.2所示。213.2温度采集接口电路图3.2MAX6675SO、SCK、CSAT89C51P1.0、P1.1、P1.2口。按键接口电路设计接口电路图如图3.3所示。3.3AT89C51接线图223.3+/火力循环为复合键,接AT89C51P0.1SW1-P0.2P0.3P0.4口;待机键接P0.5P0.6P0.7口,AT89C51P0I/O10K的上拉电阻。状态指示灯灯接口电路设计接口电路图如图3.4所示。图3.5状态指示灯接口电路图3.4所示,待机指示灯D1AT89C51P3.0口;小火指示灯D2P3.1;D3P3.2D4P3.3D5P3.4D6接P1.7100Ω的限流电阻。显示器接口电路设计接口电路图如图3.5所示。23图3.6显示器接口图3.5所示,显示器A~DPAT89C51P2.0~P2.7,控制口RSP3.5~P3.6,VSSVEE接地,VDD接电源。计时器接口电路设计接口电路图如图3.6所示。24图3.7计时器接口电路图3.6I/OSLCK/RSTVCC13V的备用电源,防止掉电数据丢失,X1、X232.768KHZ的晶振,晶振两22P的瓷片电容,有效解决晶振偏移。25PAGEPAGE34第四章燃气灶智能控制器的软件设计软件设计是本次设计的一个重要部分,包括燃气灶智能控制器软件设计总体设计和流程框图,部分子程序的设计和流程框图。需要对部分程序包括总体程序和部分子程序进行说明和解释,使燃气灶智能控制器软件设计更加明白和直观,更加方便读者的阅读和理解。主程序设计主程序流程框图在软件设计中,主程序就像一棵树的主干。我们首先将这棵树的主干摆直,也就是将主程序做好,然后只需要开枝散叶即可。在主程序的基础上,不断延伸,调用各个相4.1所示。开始开始初始化调用显示程序调用键盘程序调用温度采集程序调用温度处理程序主程序

图4.1主程序流程框图主程序是软件设计的主干,起到一个基础的作用。本次设计的主程序开始先变量声LCD;变量声明区TDATAH EQU 40HTDATAL EQU 41HDATAH EQU 21HDATAL EQU 20HALL_FLAG EQU 22HSEC EQU 34H ;MIN EQU 35H ;分HOUREQU 36H ;时DAY EQU 37H ;日MON EQU 38H ;月WEEKEQU 39H ;YEAREQU 3AH ;TIME_GEQU 33HTIME_SEQU 32HTIME_BEQU 31HTIME_QEQU 30HDS_DAT EQU 3BHDS_ADD EQU 3CHDS_DATAEQU SO BIT P1.0CS BIT P1.2SCK BIT SCLK BITP1.5IOBITP1.4RST BITRS BIT P3.5RW BIT P3.6E BIT P3.7

;标志位;端口引脚定义区;1302时钟线;1302数据线;1302复位线ORG 0000HLJMP MIANORG 000BHLJMP ORG 0030HMAIN: MOV SP,#60HMOV MOV TIME_S,#0MOV TIME_B,#0MOV MOVSEC,#00HMOVMIN,#00HMOVHOUR,#11HMOVMOVMON,#05HMOVYEAR,#15HMOVTMOD,#01HMOVTH0,#34HMOVTL0,#2BHLCALLDS_INITLCALLDISP_INITSETBTR0SETBET0SETBEACLRP3.4CLRP3.0CLRP3.1CLRP3.2CLRP3.3CLRP1.7WAIT: LCALLDISPLCALLKB

;初始化堆栈;显示存储单元初始化;DS1302寄存器赋初值;赋初值,定时50ms;DS1302初始化;调用显示器初始化程序;开定时器T0中断;状态显示灯初始化;调用显示程序;调用按键处理程序LCALLREADY ;调用温度采集程序LCALLDATACL ;SJMPWAIT显示程序设计显示流程框图程序入口显示内容送寄存器赋段码表首地址变址寻址P2口延时处理检忙延时处理返回程序入口显示内容送寄存器赋段码表首地址变址寻址P2口延时处理检忙延时处理返回显示程序

图4.2显示程序流程框图显示程序编写要依照1602LCD和图4.2所示的流程框图来进行。CHECK段位检忙程序,当检测忙时,禁数据存入与读出,反之,允许。DISP:MOV A,30H ;ACALLWRITE0MOV A,31HCALLWRITE0MOV A,32HCALLWRITE0MOV A,33HCALL CALL DELAYRETCHECK: ;检忙程序MOV P2,#0FFHCLR RSSETB RWCLR NOPSETB EJB P2.7,CHECK ;判断忙或闲MOV A,P2ANL CJNE A,#49H,A7MOV P2,#0C5H ;重新赋控制LCALL ENABLEA7: RETWRITE0:WRITE2:

MOV DPTR,#TABLE ;赋段码表首地MOVC A,@A+DPTR ;变址寻址CALL WRITE2 ;调用显示LCALL CHECKRETMOV P2,A ;显示字符送显SETB RSCLR RWCLR ECALL SETB ERET温度采集程序设计温度采集流程框图MAX6675度处理最后传至单片机再进行数据处理。当芯片初始化后,MAX6675据,分别处理高八位和低八位的温度值,再将数据传到单片机保存,以便其它程序执行时取用,其程序流程框图如图4.3所示。开始开始停止转换并输出数据延时处理R3D15-D08高八位数据延时处理将读取的高八位数据保存R3读D7-D0低八位数据延时处理将读取的低八位数据保存启动另一次温度转换过程返回温度采集程序

图4.3温度采集流程框图MAX66754.3所示的流程图来进行的,读取一SCKSOSCK,在下降沿读取数据位的内容,一次读取一位,循环左移8位次容的读取,然后存入已定义的存储单元。READY: ;温度数据采集CLR CS ;NOPSETBNOPCLR NOPMOV R3,#08HREADH:MOV RLC ASETB SCKNOPCLR NOPDJNZR3,READHMOVMOVR3,#08HREADL:MOV RLC ASETB SCKNOPCLR NOPDJNZR3,READLMOVDATAL,ASETBCSRET

;读取D15-D08高八位数据;下降沿读位(bit);将读取的高八位数据保存;读D7-D0低八位数据;将读取的低八位数据保存;开启另一次数据转换温度数据处理程序设计温度数据处理流程框图数据处理子程序主要是针对采集到的温度值进行数据处理,得到正确的实时温度数值存入到相应的存储单元以便调用。这类程序一般是单片机编程中重要组成部分,也是复杂的编程处理。本次毕业设计的数据处理复杂,在指导老师的帮助下才得以完成。MAX667516D14-D312位温度值,15位为伪216C1、2位,15位消去或者88位的数值分高四位和低四位进行处理,先四位的温度值是否有温度进位。如果有,则需要向高四位反映。整个过程复杂,其数据处理程序流程框图如图4.4所示。开始开始将DATAH中数据高低四位互换D11-D8位D15-D12转换后的数据送TDATAHD7-D4位D3-D0位合并成温度低位位字返回图4.4数据处理程序框图温度数据处理程序本段程序用于处理由温度采集程序采集过来的数据,DATAHD15为无效位,DATALD7-D0,其中D2-D0为无效位,在处理掉这D14-D11TDATAH中,D10-D3TDATAL中。DATACL: ;温度数据处理MOV RLC ASWAPA;将DATAH中的数据高低四位互换MOVB,A;暂存于BANLA,#0FH;D11-D8D15-D12位置零MOVTDATAH,A;转换后的数据送温度高位MOVA,B;取出温度值的D7-D4位ANLA,#0F0HMOV B,AMOV CLR CRLC AMOV0F4H,CANLSWAPAORLA,BMOV TDATAL,AMOV ANL A,#0FHCLR CRRC AMOVMOVA,TDATALRRCAMOVTDATAL,AMOV

;暂存于B;取出温度值的D3-D0位;合并成低位字节ANLA,#0FHCLRCRRCAMOVMOVA,TDATALRRCAMOVTDATAL,A ;温度数据处理后存储RET按键功能处理程序设计按键界面操作说明操作面板如图4.5所示。图4.5操作面板示意图如图4.5所示,简单介绍一下按键的操作:待机键:进入待机功能,就是不关电源,处于活跃的等待状态;点火键:开启火源,它是进行火力调节、煮饭、煲汤功能的先提条件;火力/时间+键:此件为复用功能键,通过二选一开关来选择火力调节还是时间加1功能;时间-键:此键配合时间+键,是为了完成时间设定;确认键:在时间设定好后,按下此键进入定时倒计时功能,时间到回到待机状态;煮饭键:自动煮饭功能,在已点火的情况下按下此键,进入自动煮饭功能,结束回到待机状态;到待机状态;二选一开关:维持按下去状态时,火力/时间+键选择火力调节,时间+无效;开关35PAGEPAGE71维持弹起状态时,选择时间+,火力调节无效;复位键:在一些特殊情况,需要关闭所有功能时,按下此键即可。按键功能处理流程框图按键功能查询子程序主要是对燃气灶的功能的一个设置。如图4.5所示当我们要选择一个特定的功能的时候,如待机、开火、煮饭、煲汤、定时和调节火力等功能时候,我们可以按下相应的按键来实现不同的功能。在燃气灶的主操作界面上,设置了7个功能键,当有键按下且按键上提了,才执行该功能。如果当按下某一个键的时候,没提上来,则功能不执行,直到等到键提上来的时候才执行该相应的功能,流程图如图4.6所示。程序入口程序入口否有功能键键按下?是进入对应功能子程序否该按键提上来?是执行对应子程序返回4.5.1按键功能处理程序

图4.6按键功能查询流程框图P00时(通过JNBJB指令来判断跳转到对应的子程序,因为程序跨度比较长,有些地方采用了长跳转指令。KB:JNBP0.1,TIME_ADD;时间+JNBP0.2,TIME_DEC;时间-JNBP0.3,TIME_AUTO_DEC;定时倒计时JBP0.4,$+6LJMPDIANHUO ;JBP0.5,$+6LJMPDAIJI ;待机,关闭所有功能JBP0.7,$+6LJMPZHUFAN ;煮饭JBP0.0,$+6LJMPHL_ADD ;JBP0.6,$+6LJMPBAOTANG ;煲汤RET时间设定程序设计时间设定流程框图面板上的时间+/-(1-199分钟(这里为分倒计时,当定时时间到了自动关闭阀门,既节能有安全省事。时间加一流程框4.74.8所示。开始开始110?否是010?否是1,十位清返回4.7时间加一流程框图开始开始否0?1是否0?19是否0?19是返回4.8时间减一流程框图时间设定程序JNB31H32H33H0-9CJNEDEC来执行加与减。TIME_ADD: ;时间+JNBP0.1,$INC33HMOVCJNEA,#0AH,KBMOV33H,#0INC32HMOVCJNEA,#0AH,KBMOV32H,#0INC31HRETTIME_DEC:JNBP0.2,$MOVA,33HCJNEMOVA,32HCJNEA,#0,S_WMOVA,31HCJNEA,#0,B_WRETG_W:DEC33HRETS_W:DEC32H

;个位加1;判断个位是否等于10;十位加1;判断十位是否为10;百位加1;时间-;判断个位是否为0;0;0;个位减1;十位减1MOV33H,#9RETB_W: ;1DEC31HMOV32H,#9MOV33H,#9RET定时程序设计定时流程框图一个时间值后(以分为单位,定时程序来进行分倒计时,当输入的时间值变为零,对DS1302秒寄存器内时间值,与设定好的只作比较来4.9所示。程序入口程序入口开启计时器读计时器秒存储单元否60S已到?是否0?1是否0?9是否0?9是关闭阀门返回4.6.2定时程序

图4.9倒计时流程框图DS1302DS1302,DS130260S100时,回到待机状态。TIME_AUTO_DEC: ;JNBP0.3,$LCALLSETDS1302 :MOVR2,#0TIME0:CJNER2,#20,$ ;MOVR2,#0LCALLGET1302 ;读取计时器寄存器MOVA,SEC ;取存储单元时间值CJNEA,#00H,TIME0 ;判断60秒是否已ACALLG_W1MOVA,TIME_GCJNEA,#0,TIME0MOVA,TIME_SCJNEA,#0,S_W2MOVA,TIME_BCJNEA,#0,B_W3CLRP3.1 ;关闭阀门CLRP3.2CLRP3.3SETBP3.0RETG_W1: ;时间个位减一MOVA,TIME_GCJNEA,#00H,D_1JMP D_2D_1:DEC33HLCALLDISP ;D_2:RETS_W1: ;DEC32HMOV33H,#9LCALLDISPLCALLTIME_AUTO_DECRETB_W1: ;DEC31HMOV32H,#9MOV33H,#9LCALLDISPLCALLTIME_AUTO_DECRET火力调节程序火力调节流程框图3择,即大火、中火(大火的55、小火(35+SW1-中-大-小-中-大-……4.10所示。开始开始否已点火?是火力循环调节返回火力调节程序

图4.10火力调节流程框图考虑到单键调节火力,在程序编写时,给每种火力设定了一个值(3,中火1,大火为2,此值存入42H单元,当执行此程序时。通过外部按键按下次数(33清零42HCJNE指令来判断值得大小,在变换相应的火力。HL_ADD: ;JNBP0.4,$INC42HJNB ACALLZ_HA_1:JNBP3.2,A_2ACALLZ_HA_2:JNBP3.3,A_3ACALLZ_HA_3:RETZ_H:MOVA,42HCJNEA,#1,X_HCLRP3.1SETBP3.2RETX_H:MOVA,42HCJNEA,#3,D_HCLRP3.3SETBP3.1MOV42H,#0RETD_H:CLRP3.2SETBP3.3RET

;中火;小火;大火煮饭程序设计煮饭流程框图如图4.11煮饭工艺图所示,煮饭时用大火将锅内水加热到沸腾阶段100℃,中火保温十分钟,定时时间由定时器控制,将米饭煮熟,关闭阀门,靠余温将锅内剩余水分蒸干;当温度降到65℃时,开启小火再次将米饭加热到80℃,在关火,这样做得目的是将米饭软化,达到酥嫩爽口的口感,为了调试方便,本次设计省略了延时程序。煮饭流程图如图4.12所示。T/T/℃大火中火小火t/min4.11煮饭工艺曲线图开始开始大火加热否100℃?是10分钟关火降温否65℃?是小火加热80℃?否是返回煮饭程序

图4.12煮饭流程框图4.114.1210分钟到DS1302的分钟寄存器的值来判断,煮饭完成,回到待机状态。ZHUFAN: ;煮饭JNBP0.7,$JNBP3.1,A_4JR1:SETBP3.3 ;开大火SETBP3.4CLRP3.1LCALLREADY;读取实时温度LCALLDATACLMOVA,TDATALCJNEA,#64H,JR1;判断是否达到100℃CLRP3.3SETBP3.2LCALLSETDS1302;开计时器DS1302BW:LCALLGET1302;DS1302时间寄存器MOVA,MINCJNEA,#10H,BWCLRP3.2JW:;降温CLRP3.3;关火LCALLREADYLCALLDATACLMOVA,TDATALCJNEA,#41H,JW;判断是否达到65℃JR2:;第二次加热SETBP3.1;开小火LCALLREADYLCALLDATACLMOVA,TDATALCJNEA,#50H,JR2;判断是否达到80℃CLRP3.1CLRP3.0A_4:RET煲汤程序设计煲汤流程框图如图4.13煲汤工艺曲线图相较于煮饭功能,煲汤阶段少了一个环节:第二次加热。304.14所示。大火小火T/℃大火小火t/mint/min图4.13煲汤工艺曲线图开始开始大火加热否100℃?是小火保温30min返回煲汤程序

图4.14煲汤流程框图4.14.1430分钟到否,同样通过读取DS1302的分钟寄存器的值来判断,煲汤完成,回到待机状态。BAOTANG: ;煲汤JNBP0.6,$JNBP3.5,A_5BT:SETBP3.3 ;SETBP1.7CLR P3.1LCALLREADYLCALLDATACLMOVA,TDATALCJNEA,#64H,BTCLRP3.3SETBP3.1LCALLSETDS1302BW1:LCALLGET1302MOVA,MINCJNEA,30H,BW1CLRP3.1SETBP3.0A_5:RET

;读取实时温度;判断是否达到100℃;开小火结论本次设计是以传统燃气灶为基础和以AT89C51单片机为控制核心进行设计的,作为燃气灶智能控制器,它具备以下特点:要煮一段时间,这时定时控制就会发挥它的的特点:安全、省力、节能。在火焰大小的控制上比传统燃气灶要稳定些。制定各自的智能化工艺曲线图来合理的设计,这两个功能的实现也体现了智能化的意义。死机的状态发生,相较而言,它有很大优势:成本低、稳定、维护简单。有些功能执行完会进入待机状态,有些需要手动进入。另外,本次设计还设计了手动复位键解决当某些功能死机时复位到程序开始的地这个只能在以后的实践中积累。参考文献[1]易家言.家用燃气灶的发展及展望[J].现代家电,2005(24:48-49.[2] GB16410-1996,家用燃气灶具[S].[3].智能燃气灶具控制系统的设计与实现[J].技大学学报,2007(4:5-8.[4]邹本堃.家用燃气灶[J].金属世界,2001(4:18.孟德奇.拨开迷雾理清思路看燃气灶未来研发之重点[J].现代家电,2007(22:40-41.祈文杰,习文,刘赞.家用燃气灶结构和性能分析[J].家用燃气具,2004(2:28-31[7]赵宇.智能汽车温度控制系统[J].自动化技术与应用,2009,28(5:107-108,114.[8]徐武雄.温箱的温湿度控制系统设计[J].农机化研究,2007(12:157-159.[9]张方遒.家用燃气灶具机炊具的节能设计与改进[J].[10]唐祯耀.环保型燃气灶[J].企业技术开发,1997.(12:10-12.曾毓,高明煜等.VDF屏显示灶具控制器设计与实现[J].家电科技,2008(13:62-63.胡优生.自动节能环保安全燃气灶的设计与应用[J].20094(533:26-27..基于凌阳单片机的语音播报智能化燃气灶设计[J].新技术企业,2010(7:5-6.A.T.Yakovenko,I.N.KrasavtsevandV.N.Murav'ev.Wearofinblastfurnacestoves.RefractoriesandIndustrialCeramics,1972,Volume13,Numbers7-8,Pages449-452.Freescalesemiconductor.Datasheet[EB/OL].,2006.[16]曾旭杰.燃气灶技术趋势展望[J].现代家电,2012,(4):54-55陈粟宋.智能燃气灶控制器的设计[J].顺德职业技术学院学报,2003(1:48-50.李平、李亚荣.MAX6675的温度控制器设计[J].仪表技术与传感器,2004,7(7:29-30.致谢黄老师在学习生活等方面尽职尽责,我很感谢他和我们这几年的陪伴。人处世必备的优良品质,在这里感谢所有任课老师。除了上面的人,最重要在一起学习玩耍的同学,每天泡在一起的时间很长,虽然经常会闹矛盾,但也会彼此互相安慰和鼓励。除了学习,我们还会去开发一些新的生活方式,来增添大学的情趣,同时,也丰富了我们的情感,在这里我也要表示感谢。最后祝福一下所有人,愿大家以后在不同的领域里腾飞的时候,也不要忘了我们是湖工的一份子,我们也曾是一路人!附录程序清单:;/*****************************************;变量声明区;*****************************************/TDATAH EQU40HTDATAL EQU41HDATAH EQU21HDATAL EQU20HSEC EQU 34H;秒MIN EQU 35H;分HOUREQU 36H;时DAY EQU 37H;日MON EQU 38H;月WEEKEQU 39H;星期YEAREQU 3AH;年TIME_G EQU33HTIME_S EQU32HTIME_B EQU31HTIME_Q EQU30H;/*****************************************;端口引脚定义;*****************************************/SOBITP1.0CSBITP1.2SCKBITP1.1SCLKBITP1.4;1302时钟线IOBITP1.3;1302数据线RSTBITP1.5;1302复位线RSBITP3.5RWBITP3.6E BIT P3.7;/*****************************************;主程序,初始化;*****************************************/ORG 0000HLJMPMAINORG 000BHLJMPORG 0030HMAIN:MOVMOVMOVMOVMOVMOVMOVMOVMOVMOVMOVMOVMOVMOVMOVLCALLSETBSETBSETBCLRCLR

SP,#60H ;初始化堆栈TIME_G,#0TIME_S,#0TIME_B,#0TIME_Q,#0SEC,#00HMIN,#00HHOUR,#00HDAY,#00HMON,#00HWEEK,#00HYEAR,#00HTMOD,#01HTH0,#34HTL0,#2BHDISP_INITTR0ET0EAP3.4P3.0WAIT:

CLR P3.1CLR P3.2CLR P3.3CLR P1.7LCALL DISPLCALL KBLCALL READYLCALL SJMP WAIT;/*****************************************;显示器初始化程序;*****************************************/DISP_INIT:MOV P2,#01HLCALL ENABLEMOV P2,#03HLCALL ENABLEMOV P2,#38HLCALL ENABLEMOV P2,#0CHLCALL ENABLEMOV P2,#06HLCALL ENABLEMOV P2,LCALL ENABLEMOV LCALL WRITE1MOV LCALL ENABLERET;/*****************************************;显示程序;*****************************************/DISP:MOVA,30HCALLWRITE0MOVA,31HCALLWRITE0MOVA,32HCALLWRITE0MOVA,33HCALLWRITE0CALLDELAYRETCHECK:MOVP2,#0FFHCLRRSSETBRWCLRENOPSETBEJBP2.7,CHECKMOVA,P2ANLA,#7FHCJNEA,#49H,A7MOVP2,#0C5HLCALLENABLEA7:RETENABLE:CLRRSCLRRWCLRECALLDELAYSETBERETCLEAR:MOVP2,#0C0HMOVR1,#04HA8:MOVA,#30HCALLWRITE2DJNZR1,A8MOVP2,#0C0HLCALLENABLERETWRITE0:MOVDPTR,#TABLEMOVCCALL

A,@A+DPTRWRITE2WRITE1:LCALLRETMOVCHECKR1,#00HA9:MOVA,R1MOVCA,@A+DPTRCALLWRITE2INCR1CJNEA,#00H,A9RETWRITE2:MOVP2,ASETBRSCLRRWCLRECALLDELAYDELAY:SETBRETEMOVR6,#10D1:MOVR7,#250DJNZR7,$DJNZR6,D1RET;/*****************************************;向DS1302写入时间并启动;*****************************************/SETDS1302:CLRRSTNOPCLRSCLKNOPSETBRSTNOPMOVB,#8EH;写控制命令字LCALLINPUTBYTEMOVB,#00H;写保护关闭LCALLINPUTBYTESETBSCLKNOPCLRRSTMOVR0,#SEC;内存中的时间首地址MOVR1,#80H;DS1302中的时间首地址MOVR5,#7;字节数SETLOOP:CLRRSTNOPCLRSCLKNOPSETBRSTNOPMOVB,R1;写命令字LCALLINPUTBYTEMOVA,@R0;设置时间MOVB,ALCALLINPUTBYTEINCR0INCR1INCR1SETBSCLKNOPCLRRSTNOPDJNZR5,SETLOOPCLRRSTNOPCLRSCLKNOPSETBRSTNOPMOVB,#8EHLCALLINPUTBYTEMOVB,#80H;开写保护LCALLINPUTBYTESETBSCLKNOPCLRRSTNOPRET;/*****************************************;DS1302写字节函数;*****************************************/INPUTBYTE:INPUTLOOP:

MOV R4,#8MOV A,BRRC AMOV B,AMOV IO,CSETB NOPCLR SCLKDJNZ RET;/*****************************************;DS1302读字节函数;*****************************************/OUTPUTBYTE:OUTPUTLOOP:

CLR ACLR CMOV R4,#8NOPMOV C,IORRC ASETB NOPCLR SCLKDJNZ RET;/*****************************************;DS1302读时间;*****************************************/GET1302:址MOVMOVR0,#SECR1,#81H;DS1302中读时间的首地GETLOOP:MOVCLRR5,#7RSTNOPCLRNOPSETBNOPMOVSCLKRSTB,R1LCALLINPUTBYTE;写命令字LCALLOUTPUTBYTE;读时间MOV@R0,A;将从DS1302中读取的时间从内存中保存INCR0;修改地址指针INCR1INCR1SETBNOPCLRNOPDJNZRETSCLKRSTR5,GETLOOP;/*****************************************;键盘扫描程序;*****************************************/KB:JNB P0.1,TIME_ADDJNB P0.2,TIME_DECJNB JB P0.4,$+6LJMP DIANHUOJB P0.5,$+6LJMP DAIJIJB P0.7,$+6LJMP ZHUFANJB P0.0,$+6LJMP HL_ADDJB P0.6,$+6LJMP RET;/*****************************************;时间手动加1程序;*****************************************/TIME_ADD:JNBINCMOVCJNEP0.1,$33HA,33HA,#0AH,KBMOV33H,#0INC32HMOVA,32HCJNEA,#0AH,KBMOV32H,#0INC31HRET;/*****************************************;时间手动减1程序;*****************************************/TIME_DEC:JNBP0.2,$MOVA,33HCJNEA,#0,G_WMOVA,32HCJNEA,#0,S_WMOVA,31HCJNEA,#0,B_WRETG_W:DEC33HRETS_W:DEC32HMOV33H,#9RETB_W:DEC31HMOV32H,#9MOV33H,#9RET;/*********

温馨提示

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

评论

0/150

提交评论