智能模糊电饭煲控制系统设计-毕业设计论文_第1页
智能模糊电饭煲控制系统设计-毕业设计论文_第2页
智能模糊电饭煲控制系统设计-毕业设计论文_第3页
智能模糊电饭煲控制系统设计-毕业设计论文_第4页
智能模糊电饭煲控制系统设计-毕业设计论文_第5页
已阅读5页,还剩68页未读 继续免费阅读

下载本文档

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

文档简介

摘要信息家电是21世纪家用电器发展的主流方向。论文通过探讨信息家电的发展和技术要点,从实际工程出发,对传统家用电饭煲进行深入细致研究,实现电饭煲智能化控制设计。针对电饭煲的加热控制方法和电饭煲炊煮的最佳炊制加温曲线进行理论研究,提出了一种电饭煲炊煮工艺流程的设计方案,详尽分析炊煮流程的各个阶段和异常处理对策。针对炊煮流程,研制了一个易于实现的米量推算和加热功率的一维模糊控制器。定制了不同煮饭模式、不同米种、不同米量的炊煮模糊控制和保温、煲粥、蒸煮等状态的加热控制方案,并给出在炊煮各个阶段的参数。论文分析了模糊电饭煲控制系统的硬件结构和软件系统的设计。本文重点研究了HT46R47单片机在硬件设计过程中的低成本设计方法。在软件方面,研究了模糊电饭煲控制系统的软件控制流程并给出其流程图,同时重点介绍了根据推理结果设计的米量判断程序的流程。关键词:电饭煲HT46R47模糊控制AbstractTheinformationappliancesisthemainproductsoftheappliancesinthe21thcentury.Thepaperdiscussesthecoretechniqueandthedevelopmentoftheinformationappliances.Accordingtothepracticalproject,theresearchonthetraditionalelectronicricecookerhasbeenmadeandtheapplicationofthenetworkandintelligencetechniqueontheelectronicricecookerisrealized.Accordingtotheheatingcontrolrulesandthebestheatingcurveoftheelectronicricecooker,thepaperputsforwardanewcookingprocessofthecooker,analysesallthestepsofthecookingprocessandtheexceptionsatlarge.Withthenewcookingprocess,aone-dimensionfuzzycontrollerthatcancalculatetheweightofriceandtheheatingpowermoreeasilyisdesigned.Inthepaper,thefuzzycontrolwayfordifferentcookingmodes,differentkindsofriceanddifferentweightofriceisprovidedoThepaperalsoprovidestheheatingcontrolrulesandtheparametersinthestatusofheatpreservation,cookingconjee,steamingetc.Thepaperanalysesthedesignofthefuzzyricecookerformofthehardware'scontrolcircuitandthesoftwaresystem.TheemphasisoftheintroductionisHT46R47MCU.Themainsoftwareflowchartisshowtoanalysishowthecookerworks.What'smore,procedureofgettingthequantityofricebyreasoningiscontrivedandthemainflowchartisshown.Keywords:ElectricalCooker;HT46R47;FuzzyControlPAGE68目录TOC\o"1-3"\u第一章绪论 11.1研究的目的和意义及课题来源 11.2国内外在模糊控制方面的研究及分析 11.2.1国外在模糊控制方面的研究现状 11.2.2国内发展状况分析 21.3国内外在模糊家电方面的状况分析及发展展望 21.4主要研究内容 2第二章智能化电饭煲的设计 42.1电饭煲工作流程设计 42.2电饭煲模糊控制器设计 92.2.1模糊控制的基本思想 102.2.2炊饭量的模糊推理 112.2.3加热功率的模糊控制 13第三章电饭煲控制系统的硬件设计 153.1电饭煲硬件系统构成 153.2HT46R47单片机介绍 163.2.1HT46R47引脚配置图 163.2.2HT46R47/HT46C47主要特性 163.2.3HT46R47/HT46C47引脚说明 173.3电饭煲各部分硬件电路设计 18第四章电饭煲控制系统的软件设计 234.1模糊电饭煲控制系统软件设计 234.2模糊电饭煲模糊控制软件设计 24结论 26参考文献 28致谢 29附录一:电路原理图 30第一章绪论1.1研究的目的和意义及课题来源在科学技术进步、日新月异的今天,节能、高效、环保的观念逐渐深入人心,人们对家电智能化的要求也越来越高。本文研究的一种模糊控制的微电脑电饭煲正是智能化家电的典型代表。基于模糊控制的电饭煲能够判断出米量的大小,并对不同的米量选择不同的加热方案,因此不但控制效果好,而且高效、节能。微电脑控制的电饭煲还可以实现预约、记忆等功能,大大方便了人们的生活。本文从实际工程出发,对模糊控制的微电脑电饭煲进行了深入的研究,主要讨论了一种准确判断米量的方法,真正实现了电饭煲的模糊控制。这对电饭煲控制程序的研究将是很有意义的,将使之在高效、节能方面做得更好。1.2国内外在模糊控制方面的研究及分析1.2.1国外在模糊控制方面的研究现状自从1965年美国的控制论专家L.A.Zadeh教授创立了模糊集合论以来,将模糊集合理论运用于自动控制而形成的模糊控制理论,在近年来得到了迅速的发展。模糊控制作为智能领域中最具有实际意义的一种控制方法,已经在工业控制领域,家用电器自动化领域和其他很多行业中解决了传统控制方法无法或者是难以解决的问题,取得了令人瞩目的成效。已经引起了越来越多的控制理论的研究人员和相关领域的广大工程技术人员的极大兴趣。随着计算机及其相关技术的发展,模糊控制也由最初的经典模糊控制发展到自适应模糊控制、专家模糊控制和基于神经网络的自学习模糊控制。其实现方式也由最初在微型机(单片机)上用软件方法实现发展到应用模糊控制开发出模糊计算机进行直接控制。但是我们也应该看到,模糊控制的理论和应用虽然已经取得了很大的进展,但是就目前的状况来看,尚缺乏重大的突破,因此模糊控制无论在理论和应用上都有待于进一步的深入研究和探讨。目前,最令模糊控制专家们感兴趣的是模糊逻辑同神经网络算法的结合。神经网络在知识的获取方面表现卓越,它能够生成无须明确表现知识的规则和具有强大的自学习能力。而模糊技术的优点在于可以用模糊性的自然语言表现知识,和可以用简单的max-min运算实现知识的推理,但在知识的获取方面十分脆弱。模糊逻辑同神经网络算法互相结合,取长补短,可以通过学习自动地进行模糊规则的产生和修改,从而在智能控制方面产生强大的威力。1.2.2国内发展状况分析在我国,模糊控制技术的研究起步较晚,近年来,随着模糊家用电器的兴起,模糊控制在各个领域的应用获得了飞速的发展,同时培养了一大批进行模糊控制研究的优秀人才。但总的来说,在我国,模糊控制的应用水平落后于模糊控制理论方面的研究。这主要是因为研究者常常把模糊控制器的设计分成几个独立的部分来进行,如隶属度函数的确定,规则的获取,控制器的合成等。这样做的好处是把问题简单化,便于初学者上手,快速进行问题的分析和解决。但是这样做带来的问题是很难对设计好的系统进行理论分析和设计优化。当然,在我国,也有一批学者走在了模糊控制理论研究的前列。如,作为模糊论的创始人L.A.Zadeh的学生,香港科技大学的王立新教授,在模糊系统与模糊控制理论领域做出了很大贡献,给模糊系统与模糊控制理论带来了三个突破,具体是:(1)证明了一类模糊系统是万能逼近器;(2)发明了Wang-Mendel方法,实现从数据中获取模糊规则;(3)提出了一种能够确保稳定的自适应模糊控制器的设计方法。1.3国内外在模糊家电方面的状况分析及发展展望在智能家电的研究方面,日本走在世界的前面。资料统计表明,目前日本家用电器的单片机使用率在85%--94%之间,其中使用模糊控制的家电产品约占50%。日本甚至在几乎所有的模糊控制应用领域都在世界上领先。日本在九十年代初期就有模糊家电问世,而那时我国的模糊家电尚未起步。现在,在家电控制器中应用模糊控制在我国受到普遍重视。由于我国家电行业的飞速发展,模糊家电在我国大有可为。目前看来,模糊家电的发展有三大发展动向:(1)进一步扩大传感器的组合利用多个传感器的功能组合可以不断改进家电的控制技术,而对多个量采样后再进行综合判断正是模糊家电之所长。(2)与AI(人工智能)和神经网络技术相结合如前所述,与AI(人工智能)和神经网络技术相结合将进一步提高模糊家电的智能化水平。(3)模糊家电网络化随着网络经济的逐步发展,未来的家用电器必将改变目前这种单机运作的模式,而具有与Internet网通信的能力。家用电器走网络化的道路,这也是当今家电产业发展的趋势之一。1.4主要研究内容本课题以单片机为主要手段,以电饭煲为控制对象,将模糊控制技术应用于电饭煲的控制当中。由于在模糊电饭煲的开发方面,许多前辈已经做了大量卓有成效的工作,即使在今天,模糊电饭煲在市场上也是比比皆是。本文在借鉴前人工作的基础上,研制出了一种模糊电饭煲控制系统,并重点研究了如下内容:(1)在进行大量测试及实验之后,提出一种新的判断米量的方法,并取得良好的应用效果;(2)研究了电饭煲硬件控制系统,重点研究了低成本化设计方法;(3)对硬件系统的各单元电路设计详细的进行了叙述;(4)根据新的米量判断方法,设计了相应的软模糊控制流程及模糊电饭煲控制软件流程,并给出了相应的程序源代码。第二章智能化电饭煲的设计为了得到最佳的炊煮质量,电饭煲炊煮过程中,需要解决的主要问题往往是确定合理的炊煮工艺流程设计方案,找到一个易于实现的控制方法,同时对异常处理采取的何种策略,最终实现准确推算炊煮量和最佳的升温控制过程。当前的模糊控制电饭煲普遍采用二维控制器,虽然可以较准确的推算出米量,但由于算法复杂和存储空间限制等原因,致使米量不能细致划分,影响米饭的煮出效果,而且限制了其智能化功能的扩展。2.1电饭煲工作流程设计要想做出松软香滑的米饭,必须掌握加热对象的性质及详细的加热过程,只有这样,才能够将米中不易溶于水、难以消化的β淀粉转变为易溶于水、易于消化的α淀粉。电饭煲作为加热对象,其特性的影响因素是多方面的,如结构、材料、发热盘的形状、甚至是顶盖出气孔的大小对其吸热散热都有影响。当然,在电饭煲煮饭的过程中,米量的大小对其吸热散热特性的影响是最大的,米量的大小甚至影响到烹调的工艺过程。换句话说,电饭煲必须对不同的米量采取相应的不同的控制方案和工艺过程,才能达到期望中的效果。所以,在其它因素(如结构、材料、发热盘的形状、顶盖出气孔的大小等)一定的情况下,对米量进行模糊判断是决定控制效果好坏的关键。为了选取合适的输入量进行米量的估算,首先必须确定电饭煲的炊煮工艺。图2.1为最佳米饭炊制底部升温曲线。图中显示出,米饭的炊制过程大致分为吸水、加热、沸腾、焖饭和保温五个阶段。图2.1最佳米饭炊制升温曲线(1)吸水阶段(t0一t1)吸水阶段的作用是在对大米进行加热之前,使大米在一定的温度下充分吸水,使大米含水率从14%上升到25%左右,以保证米粒在加热过程中内外均匀受热,热量透到大米的芯部,从而使之烧成柔软鼓胀状。但是,一旦水温超过60℃,米中含有的β淀粉开始转化为α淀粉,米将变成糊状。所以,一般将水温控制在60℃以下。(2)加热阶段(t1一t2)加热升温阶段把已吸足水份的米采用大功率进行加热。这样,米、水的温度迅速升高,将较快的达到沸点。而且随着水的对流,米被均匀加热。在此阶段,必须完成米量的判别工作,根据投入米量的多少以及温度的变化来调节加热功率。(3)沸腾阶段(t2一t3)沸腾阶段是促成米粒由β淀粉转化为α淀粉的主要阶段,应保持一定的时间。沸腾阶段电饭煲内的温度保持在100℃的水平。大米充分吸水后,锅内的水逐渐减少,锅底趋于干燥,当锅底的水份减少到一定程度后,锅底温度就会迅速上升,这时沸腾过程结束。由图2.1可见,在沸腾阶段的最后部分使锅底温度上冲,升高到125℃左右,一般根据饭量不同,控制沸腾阶段的时间和锅底部上冲温度也不同。(4)焖饭阶段(t3一t4)焖饭阶段是为了让热量透到米饭的芯部,使之充分受热而内外质量趋于一致,也就是使米芯的淀粉α化。焖饭阶段还使大米外部的水份一部分渗透入米芯,促使内部的成熟变化,另一部分蒸发掉,这样就使得整粒米饭内外一致。一般焖饭之后的米饭含水率在69%左右。在焖饭阶段一般可采用间歇加热,目的是使锅内的温度达到焖饭的温度,当达到一定的温度时,停止加热或小功率加热,由饭锅利用余热对米饭进行热焖,焖饭结束后,米饭将完全成熟,无论硬度或黏度都会令人满意。(5)保温阶段(大于t4)保温阶段可使米饭维持在70℃左右等待食用。日常使用的机械式电饭煲,利用磁钢受热后磁性减弱来控制加热丝的通断。电源一旦接通,就持续加热。达到最高温度后,开关自动断开,结束煮饭。这种电饭煲无法实现吸水和保温过程,因而不可能实现图2.1所示的煮饭过程,使得米饭的口感和质量较差,也无法实现和用户之间的交互以完成各种附加功能。普通电脑式电饭煲,一般都能够实现上述工艺曲线。但也存在不少质量问题:例如,在低电压下,煮饭米多时,表面夹生;在高电压下,底部烧焦现象比较严重,且快速煮饭时有米汤溢出情况;煮粥过程中,由于担心沸腾后米汤溢出,普遍保守地采用过小的火力煮粥,在水多时,造成粥始终不沸腾,或沸腾时间极短,煮成清水粥;和用户的交互性差,实现的功能少,使用时不方便;还有就是不能区分米种,由于各个米种在吸水性等指标上的区别,若统一用一个固定的加热火力来进行,同样会造成米饭夹生、烧焦,甚至根本无法煮熟(例如什锦米)。主要解决的方法是增加内锅厚度和采用三维立体加热模式,这都会使米饭的加热更加均匀,避免烧焦和夹生等情况的发生。另外,基于专家经验,采用模糊控制算法准确的判断炊煮的米量,找出在炊煮过程中出现的异常问题的处理对策,针对不同的米种会实施不同的加热火力,都是解决上述问题的关键。图2.2是一种国外三维立体加热式电饭煲的煮饭过程顶底温度曲线,图2.3是它的煲粥、煲汤、蒸煮过程顶底温度曲线。实验中发现,由于它的内锅较厚并且采用三维立体式加热,所以在煮饭和煲粥的过程中火力比较均匀,煮出的米饭和粥口感较好,而且未出现烧焦、夹生等情况。在程序中使用模糊控制算法,即所谓的“模糊控制电饭煲”与普通电脑式电饭煲不同之处在于控制中运用了模糊控制技术。传统控制方式中,控制效果的好坏取决于是否知道受控对象的精确数学模型,而在电饭煲的控制中,随着烹煮的米量和水量的不同,受控对象的数学模型变化是很大的。初始水温、环境温度和电饭煲顶盖的密封程度等参数对控制效果也有较大影响,很难用一个精确的数学模型来描述受控对象。此外,煮饭工艺曲线的各个过程,控制目标也不相同,这是传统控制方法用于煮饭和煮粥等功能的困难之处。尤其是在煮粥的过程中,由于米量和水量的不同和半导体热敏电阻的误差,当锅内水沸腾时,锅底温度的差异可能达到10℃左右。而火力稍大一点,要溢出;火力小一点,水不开锅。要在煮粥的lh~6h之内,保持最短约40min的沸腾状态而不溢出,是一件相当困难的事情。所以,即使是已经采用模糊逻辑控制的电饭煲,如果不对模糊控制策略和规则进行精心调整,也难于达到满意的控制效果。图2.2三维立体加热式电饭煲的煮饭特性图图2.3三维立体加热式电饭煲的煲粥、煲汤、蒸煮特性图电饭煲的炊煮流程和模糊控制策略是密切相关的,在设计炊煮流程的过程中要考虑模糊控制策略。不但如此,由于电饭煲是一个家庭日用品,所以要考虑到各种异常情况的发生,炊煮流程中要有这些异常情况的对策。经过对各种电脑式电饭煲进行测量分析,结合己有的一些经验,本着控制算法易于在程序中实现的原则,针对炊煮模式,确定出炊煮流程如图2.4所示。图2.4电饭煲煮饭流程图在此流程中有以下异常情况的对策:(1)用热水煮饭,即“热水冷锅”(2)做完饭后,又立刻做第二锅饭,即“热锅冷水”(3)加热盘上有米(4)做饭过程中开顶盖(5)水量过多(6)水烧干在本流程中,相对于传统的炊煮流程增加了等待阶段,目的是对开始煮饭时电饭煲的初始状态进行判定。开始煮饭时水和锅的状态并不一定是一致的,有可能是“热锅冷水”,或是“热水冷锅”。这一阶段就是采用计时等待的办法,等待大约3min的时间,使锅和水的状态达到一致,以便对初始的煮饭状态做出准确的判断。若3min后,不满足等待阶段跳转条件,则可断定是“热水冷锅”,直接跳入加热阶段,禁止米量的判定。若是在3min之内,满足跳转条件,则可以认定为“热锅冷水”或是“冷水冷锅”。可以把传统流程的吸水阶段细化为三个阶段。预热阶段1是全速加热,使加热对象快速进入吸水状态,从而缩短总体煮饭时间。预热阶段2是使加热对象进入吸水阶段时的惯性小一些,便于恒定温度控制。在吸水阶段,主要是进行恒温控制。不同的米种在吸水阶段的吸水时间和吸水温度是不同的,这主要取决于米种的吸水特性。一般说来,米种的吸水特性越好,它的所需吸水时间越短,吸水温度越低。不同的煮饭模式在吸水阶段的吸水时间和吸水温度也是不同的,这主要取决于各种功能下加热模式对米种含水量的要求,具体的吸水参数如表2.1所示。表2.1吸水时间和温度特性表在加热阶段要完成米量的判断工作,由于采用到达顶部某一温度所需时间来判断米量,所以在加热阶段前顶部加热器一直是关闭的。当加热盘上有米粒时,内锅的锅底和底部加热盘之间不完全接触,加热盘的热量没有被内锅很好的吸收,造成热量的大量集聚,这就使得底部传感器的温度迅速升高,造成异常。当底部温度大于T3时,进入异常模式,禁止米量的判断,4min后缓和进入沸腾状态。若在煮饭的过程中顶盖处于未关合状态,此时锅内的蒸汽不会影响顶部传感器的温度,顶部永远不会达到T2温度,这样经过21min后,禁止米量判断,进入沸腾状态。沸腾阶段的主要作用是完成锅内剩余水份的吸收。不同的米量,不同的米种以及不同的煮饭模式要采用不同的加热功率。对于加热阶段中禁止米量判断的情况,可以默认为它的米量为“较大”,这样在沸腾中会采取一种比较温和的方式进行加热,来保证米饭的质量。对于什锦米,它的沸腾维持阶段较为复杂一些,因为它是小米、燕麦、黑米、糙米、高粱米、珍珠米、小麦等米种的组合,而以上这些米的吸水特性都很差。如果进入沸腾阶段之后立即开始对其进行加热,由于它的吸水不够充分,锅内温度会升高很快,当锅底温度大于T3时,进入焖饭阶段。它的沸腾维持是不充分的,往往会造成米饭夹生,或者根本未被煮熟。所以,什锦米沸腾维持要分若干个阶段,本着边吸水边沸腾的原则,才能使米饭煮出的效果较好。从什锦米的煮出效果来看,沸腾维持阶段对其的影响是最大的。还有一点需要说明的是,如果在初始煮饭时刻水量添加过多,在沸腾维持阶段有可能很长时间内都无法将锅内剩余水份吸收,这样25min过后,会进入附加沸腾维持阶段,直至锅内的水份被完全的吸收。为了避免这种情况多次发生,要进行米水配比实验,定出最佳水位线。焖饭分3个阶段,根据米量、米种、煮饭模式的不同,各个阶段的时间和加热功率都是不同的,焖饭时间结束后进入保温状态。在沸腾、焖饭及保温阶段,要采用统一的上盖控制,防止锅内的水蒸汽在锅顶盖凝结成水。在所有以上流程中,都有水烧干的防护措施。一旦水烧干,锅底温度迅速升高,电饭煲会进行报警和自动断电,以免发生危险。2.2电饭煲模糊控制器设计模糊控制器的设计方法可以分为两类:试错法(Trial-and-errorApproach)和理论法(TheoreticalApproach)。在试错法中,首要任务是建立一个模糊IF-THEN规则集合,规则可以通过总结经验知识而得到,也可以通过精心组织的问卷向领域内专家请教而得到;然后,基于这些模糊IF-THEN规则建立模糊控制器;最后,在实际系统中检验模糊控制器,如果性能指标不满意,则对上述规则进行细微调整或通过反复用试错法进行再设计,直至效果达到指标要求为止。用理论法进行设计,模糊控制器的结构和参数是以保证某一性能标准为设计原则的。本文所采用的模糊控制器的设计方法为试错法。其设计方法可以概括为以下三步:(1)分析实际系统并选择状态变量和控制变量。状态变量应能描述系统关键特性,控制变量应该能够影响系统的状态.状态变量是模糊系统的输入,控制变量是模糊系统的输出。(2)推演连接状态变量与控制变量的模糊规则。(3)将推演出的模糊IF-THEN规则组合成模糊系统,并检验此模糊系统作为控制器的闭环系统。机试运行带有模糊控制器的闭环系统,如果不满意其性能指标,则对其进行微调或再设计,并重复此过程,直至效果满意为止。2.2.1模糊控制的基本思想模糊控制是一种计算机数字控制,所以其控制系统框架同一般的数字控制系统一样,只不过它的控制器是模糊控制器。模糊控制器的控制规律由程序实现,在实现的过程中要经过以下三个步骤:输入量的模糊化、模糊推理和输出量的解模糊。在模糊控制过程中,将测到的过程精确量转化为模糊量,再经过根据经验总结成的若干模糊规则和必要的模糊处理后,模糊判断系统根据输入的模糊信息按照控制规则和推理法则,做出模糊决策,然后输出解模糊后的控制量并作用于执行系统,完成控制动作,且这种动作是以精确量表现出来的。(1)模糊化模糊化是将模糊控制器输入量的确切值转换为相应模糊语言变量值的过程,此相应语言变量值均由对应的隶属度来定义。在实际应用中,常常选择三角形作为语言变量的隶属度曲线。在模糊化的过程中,一般利用最大隶属度原则,即在语言集中选择该元素对应的隶属度最大的语言变量,作为该项确切值的模糊子集。(2)模糊推理模糊推理包括三个组成部分:大前提、小前提和结论。大前提是多个模糊条件语句,构成规则库;小前提是一个模糊判断句,又称事实。模糊推理就是以已知的规则库和输入变量为依据,基于模糊变换推出新的模糊命题作为结论的过程。(3)解模糊解模糊是将模糊推理后得到的模糊集转换为用作控制的数字值的过程。它的目标是产生确切的控制动作,应该能够最好的反映出推理出的模糊控制动作分配的可能性。常用的方法有最大隶属度法、加权平均法和重心法。目前,实用模糊逻辑控制常用的方法有查表法和软件模糊推理等。查表法是将输入的隶属度函数、模糊控制规则和输出隶属度函数都用表格来表示,从输入量的模糊化、模糊推理和模糊判决都通过查表来实现。软件模糊推理的模糊化、模糊推理和模糊判决三个过程都用软件来实现。对于本文研究的米量和加热功率模糊推理机来说,其推理过程是开环的,模糊推理机只包含输入量的模糊化、利用规则的模糊推理及输出量的解模糊,隶属度函数、模糊控制规则可以用表格来表示,模糊推理机的最终输出量为具体米量的值和加热功率的值。2.2.2炊饭量的模糊推理因为影响炊饭量检测的因素众多,所以不能采用称重传感器或其它直接侧量的方法,而只能用温度传感器测出饭温信号,利用模糊推理,组成测定饭量的软传感器,最后通过模糊决策来判断米量的值。通过实验和分析,发现几种有代表性的电饭煲均在预热段进行米量推理过程。但是,若在预热段对米量进行推理,会受到初始水温和环境温度的严重影响,而难以得到准确的判断。实验表明,当米水经过吸水阶段之后,锅内温度处于60℃左右,在此基础上再进行加热和推理,能排除初始水温不一致的影响,因此,控制器采用在加热阶段来进行米量的推理是更为可行的选择方案。图2.6是在室温20℃下,采用DUT4000温度采集模块测量的电饭煲样品用标准煮饭模式炊煮3杯和10杯大米的温度曲线图,其中3杯、10杯表示米量的大小(每杯大米O.15Kg),a是3杯米底部温度曲线,b是10杯米底部温度曲线,c是3杯米顶部温度曲线,d是10杯米顶部温度曲线。由图2.6可见,不同米量下的底部温度从60℃上升到100℃的时间差别并不是很大;从底部温度60℃加热到顶部温度60℃在不同米量下的时间差别却很显著。当米量少3杯时,底部加热产生的热量很容易从底部渗透到液面的顶部,产生对流,底部温度到达100℃时顶部温度为400C;反之,当米量很大10杯时,热量很难从底部渗透到液面的顶部,底部温度到达100℃时顶部温度仅为300C。从图2.6中还可以发现,当顶部温度在40℃到80℃之间的线性度比较好,而这个阶段对应着加热阶段的主上升期,所以,在加热阶段的主上升期来进行米量判断是一个最为合适的选择。从理论上来说,模糊控制器的维数越高,控制越精细。但是维数过高,模糊控制的规则将变得过于复杂,控制算法的实现相当困难。所以,在电饭煲中普遍采用二维模糊控制器,能较准确的判断出米量。这种控制器的输入变量往往选用锅底部温差、锅底温差变化率或者顶盖温度、顶盖温度增量。在实验中发现,如果等待阶段中,在顶盖温度和初始水温异常时禁止米量判断,那么单纯的选取进入加热阶段开始到顶部温度达到一固定温度T2(400C<T2<8000C)的时间差作为判断量,一样可以取得满意的效果。实验中还发现,在进入加热阶段时,由于吸水阶段温度的波动,可能导致进入加热阶段时底部温度不一致,这会增加米量的判断误差,所以,可以采用当底部温度达到一致时再进行米量判断的计时。米量判断的这种方案,简化了控制算法,易于在程序中实现,经过大量实验证明,推算的米量偏差在0.5杯米之内,同样达到了二维控制器的控制效果,下面将讲述其具体推理过程。(1)输入输出变量的模糊化通过上述对电饭煲炊饭过程的机理分析可知,在加热阶段电饭煲底部温度相同时,取顶部一个适当的固定的温度T2,不同的米量加热到电饭煲顶部达到这个温度T2的时间Trx是不同的。这样,米量模糊控制器就可以看成输入量为时间Trx,输出量为米量的一维模糊控制器。在采用CRI推理方法时,若连续域图2.6实验用样品3,10杯大米温度曲线图的范围是XL表示下限值,XH表示上限值。量化因子可表示为:(2-1)对于X论域的清晰量a,对应离散论域中的元素b为:(2-2)通过这样的量化,就转换成离散论域N={-n,-n+1,…,-1,0,1,…n-1,n}这样,就可以在离散论域中对语言变量进行分档,每一档成为语言变量的语言值,这些语言变量值可以用图或表来表示。输入变量的模糊化,n=9,则N={-9,-8,-7,-6,-5,-4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9},构成含19个整数元素的离散集合。设当锅底温度一致时,达到顶部温度T2所用时间T,}的论域为[420s,840s],则量化因子:(2-3)定义:“非常小(ES)”、“很小(VS)”、“小(S)”、“较小(OS)”、“较大(OB)”、“大(B)”、“很大(VB)”、“非常大(EB)”为Q的语言值。Trx和Q的隶属度u的曲线如图2.7所示:图2.7输入变量大二和输出变量口的隶属度曲线在实验中发现,中间米量(2.5杯一5.0杯)对沸腾阶段的加热功率最为敏感,所以在设定米量Q的语言值时,需要在中间米量划分的较为精细。(2)模糊控制规则构成米量的模糊推理是在加热阶段主上升期进行的。可以在锅底温度达到60℃时开始计时,当锅顶温度达到T2时停止计时,这个时间就是Trx,而后通过应用模糊推理判断出锅内米量。模糊推理的规则,根据专家经验和对系统的观察测量数据生成。由于所设计电饭煲在炊煮时有标准、精煮、少量米、高速、稍硬等9种工作模式,而且操作的米种还有5种不同的选择,模糊规则生成时要考虑不同模式、不同米种、不同水量、不同米量、不同电源电压等因素,编程阶段中程序存在的任何隐患和错误以及电饭煲模具结构上的问题也会造成大量的重复实验,所以,规则的生成所需实验周期很长。在这里,给出4种米(不包含什锦米)标准煮饭模式和大米8种煮饭模式(不包含少量米模式)的米量推理规则,见表2.2。模糊控制规则表可以由模糊控制规则直接导出,这里不再另行列出。2.2.3加热功率的模糊控制模糊控制电饭煲加热控制是逼近最佳加热曲线进行的,在沸腾阶段的加热功率Pw直接影响着米饭的质量。在实际应用中,利用加热时间占空比参数Tp来替代Pw。通过改变Tp,可改变热元件上的有效电压Ue,从而改变热元件的加热功率Pw。这里取32s为一个周期(在小段时间内可以取16s为一个周期),通过调节这32s中主辅加热器的通断来控制电饭煲加热的功率Pw。综上所述,在沸腾阶段,不同的米量要采用不同的底部Pw,这是建立以米量Q为输入,底部Tp为输出,实现对Pw控制的一维模糊推理过程原因所在。表2.2各种米标准煮饭模式及大米各种煮饭模式控制规则在保证可以实现最佳加热曲线的前提下,以简化算法,易于实现为原则,可以设计一个一维的模糊控制器,其输入是米水总量Q,输出为底部加热器的TP。根据Q的模糊化,将输出变量的隶属度函数。定义为单点,底部加热器Tp的单点隶属度函数如图2.8所示。图2.8输出变量的单点隶属度函数曲线第三章电饭煲控制系统的硬件设计前两章给出了电饭煲的炊煮工艺流程和模糊控制器的设计,这一章将重点阐述电饭煲控制系统的的硬件实现。由于电饭煲属于一种家电产品,所以,在硬件实现时要充分考虑到成本、易用性等因素。3.1电饭煲硬件系统构成电饭煲工作原理如图3.1所示。上电后,系统进入待机状态,此时系统可接受用户的功能选择,用户所选功能通过显示电路显示出来,当用户按下相应按键时,MCU可以对温度进行检测,对各种功能进行相应的加热控制。各种功能结束时,会发出相应的报警提示。具体电路原理框图如图3.1所示:过零检测电路过零检测电路时钟与复位电路电源供电电路声音报警电路显示及按键电路加热执行电路MCU测温电路图3.1电饭煲硬件原理图HT46R47/HT46C47是8位高性能、高效益的RISC结构单片机,用于直接处理模拟信号,例如直接连接传感器。该系列单片机包含一个集成的多通道模数转换器,以及一个或多个脉冲宽度调制输出。同时也增强了单片机的其它内部特性,如暂停、唤醒功能、振荡器选择和可编程分频器等,增加了单片机的使用灵活度,而这些特性也同时保证实际应用时只需要最少的外部器件,进而降低了整个产品的成本。有了集成的A/D和PWM功能的优势,再加上低功耗、高性能、灵活控制的输入/输出和低成本等特性,此系列单片机广泛被应用在传感器信号处理、马达驱动、工业控制、消费性产品和子系统控制器等场合。HT46R47属于一次可编程(One-TimeProgrammable,OTP)单片机,当配合使用盛群半导体的程序开发工具时,可简单有效的更新程序,这提供了设计者快速有效的开发途径。3.2HT46R47单片机介绍3.2.1HT46R47引脚配置图HT46R47引脚配置图如图3.2所示:图3.2HT46R47引脚配置图3.2.2HT46R47/HT46C47主要特性(一)技术特性:高性能RISC结构低功率完全静态CMOS设计工作电压:在4MHz下,由2.2V到5.5V在8MHz下,由3.3V到5.5V功率损耗:在5V/4MHz下,典型值为2mA(针对ADC除能时的晶体振荡器)不使用看门狗定时器时,3V下静态(standby)电流小于1μA温度范围:工作温度.40°C到85°C(工业级规格)储存温度.50°C到125°C(二)内核特性程序存储器2K×14OTP/MaskROM数据存储器64×8SRAM表格读取功能多层硬件堆栈6-level直接和间接数据寻址模式位操作指令63条强大的指令大多数指令执行时间只需要一个指令周期(三)周边特性13个具有上拉功能的双向输入输出口9位多通道A/D转换器脉冲宽度调制输出PA端口具有唤醒功能外部中断输入事件计数输入具有预分频器(Prescaler)及中断功能的定时器看门狗定时器(WDT)暂停与唤醒特性可以节省功耗PFD输出芯片内置晶体及电阻电容振荡器具有低电压复位(LVR)特性具有烧录电路接口及程序代码保护功能掩膜版单片机适用于大量生产提供高效的软硬支持工具3.2.3HT46R47/HT46C47引脚说明表3-1HT46R47/HT46C47引脚说明引脚名称I/O掩膜选项说明PA0~PA2PA3/PFDPA4/TMRPA5/PA6~PA7I/OPull-highWake-upPA3orPFD8位双向输入/输出口,每个位可由掩膜选项设置成唤醒输入。软件指令决定引脚是CMOS输出或斯密特触发器输入掩膜选项决定端口上哪个位带上拉电阻。PA3、PA4和PA5分别与PFD、TMR和引脚共用。PB0/AN0PB1/AN1PB2/AN2PB3/AN3I/OPull-high4位双向输入/输出口。软件指令决定引脚是CMOS输出或斯密特触发器输入。掩膜选项决定端口上哪个位带上拉电阻。PB和A/D输入引脚共用。A/D输入通过软件指令选择,一但被选择作为A/D输入,I/O功能和上拉电阻功能将自动无效。PD0/PWMI/OPull-highI/OorPWM1位双向输入/输出口。软件指令决定引脚是CMOS输出或斯密特触发器输入。掩膜选项决定此引脚是否带上拉电阻通过掩膜选项选择PWM输出,PWM输出与PD0引脚共用。OSC1OSC2I/OCrystalorRCOSC1、OSC2连接外部RC电路或晶体振荡器(由掩膜选项决定)作为内部系统时钟。在RC模式下,OSC2的输出端信号是系统时钟四分频。I/O斯密特触发器复位输入。低电平有效。VDD正电源供应VSS负电源供应,接地。3.3电饭煲各部分硬件电路设计(1)电源/电池供电电路电源/电池供电电路如图3.3所示。带中心抽头的变压器和整流二极管D4,D5构成了全波整流电路,C3和C4为滤波电容。当交流电源供电时,通过对分流电阻R2和限流电阻R3的适当取值,使三级管Ql饱和导通,这样使VDD接V1。而VDD通过负载作用于Q2的发射极,通过估算知,Q2处于放大状态,VDD比Q2发射极电压高出约3V,Q2的发射极构成了数字地。二极管D6处于截止状态,电池电路断路。当电源掉电,电池供电时,Q1和Q2都截止,D6导通,VDD对数字地约等于电池电压3.5V,此时V1悬空。图中有两个保险丝,一个是限流保险丝,另一个是热保险丝。当锅底温度过高时,热保险丝会自动熔断,起保护作用。图3.3电源供电原理图(2)时钟与复位电路系统采用4MHz晶振作为系统时钟振荡器,复位电路由C1和C2还有电阻R构成RC电路.图3.4时钟与复位电路图(3)声音报警电路声音报警采用蜂鸣器,报警频率由MCU的PA3输出进行控制,通过设置定时/计数器0中的TMROL,TMROH,TMROC,PFD在PA3以频率f输出,f可由下式得出:(3-1)公式3-1中,fPFD为系统时钟。可以通过调节计数初值而得到不同频率的声音,系统中分为音乐声音和报警声音两类。(4)测温电路测温元件是准确检测温度的关键,采用负温度系数的热敏电阻PXN-51E。电饭煲中有顶部和底部两路温度检测,可以随时监测顶部和底部的温度。温度检测模块将温度变化转换为电压变化,经单片机PB0-PB1引脚输入,经内部的A/D转换器转换成相应的数据,单片机根据锅底温度,采用模糊推理对锅内饭量进行模糊识别,并根据不同的米量选择炊煮选项,执行相应的加热控制程序。电路图如下图所示:图3.5测温电路(5)加热执行电路为了更加均匀的加热,电饭煲中安装了3个加热器:顶部加热器、底部加热器、侧面加热器。其中底部加热器为主加热器,由一个继电器控制。顶部和侧面加热器为辅加热器,由另外两个继电器控制。三个继电器分别由单片机的PA0-PA2来进行控制。图3.6加热执行电路(6)显示/按键电路显示电路:显示电路由R17~R20、LED1~LED10、Q1~Q3、R3~R5、DS1~DDS2等组成。用来指示设定的工作模式(选中时长亮,运行时闪亮),DS1~DDS2运行时显示计时,定时状态显示剩余时间;LED1~LED10用来作为显示电饭煲各种功能的。单片机的输出引脚PD0、PA7通过74LS164芯片用于控制二个7段数码管得显示字型,输出引脚PB3、PA4、PA6用于提供二个数码管的位选信号和控制10个发光二极管的亮/灭。图3.7显示电路按键输入电路:按键输入电路由SW1~SW5及R1~R2、R15、R16等组成。按下不同的键,U1的(6)脚接入的分压电阻不同,输入电压也不同,U1根据(6)脚输入的A/D转换结果,确定所按的键,并执行相应的指令。各键功能如下:SW1(WARM)为保温模式选择;SW2(SELECT)为模式设定键,可进入炊煮菜单及定时时间调整状态,在各种功能之间进行循环;SW3(TIME+)用来增加预置的定时时间;SW4(TIME-)用来减少预置的定时时间;SW5(START)用于启动或终止设置的模式选项。图3.8按键电路(7)过零检测电路过零检测电路:过零检测电路由Q4、R5~R7、C8、C9等组成过零检测信号取自交流降压后的全波整流电路,市电以10ms为周期的过零信号加在Q4的基极,当输入电压高于0.7V时,Q4导通,的脚变低平,输入电压低于0.7V时,Q4截止,的脚为高电平,中断有效,即每10ms单片机产生一次外中断,保证了系统计时的准确性,在用可控硅进行温度控制时,可保证可控过零触发。图3.6过零比较电路

第四章电饭煲控制系统的软件设计4.1模糊电饭煲控制系统软件设计模糊电饭煲控制系统的软件框图如图4.1所示。在程序中,为了节省空间,提高运行效率,编制了大量的子程序,共分为9类,分别是显示子函数、定时器子函数、A/D转换函数、加热器控制输出子函数、LED控制输出/闪烁子函数、键盘检测子函数、蜂鸣器鸣叫子函数、米饭控制子函数、其它子函数。按键检测部分检测用户输入的键值,并分析该键值是否为有效键,如是,则执行相应的按键子程序;A/D采样及分析部分采集温度信号,以备后续程序确定系统当前应该处于何种工作状态,如果采集到的A/D信号有误,则执行相应的报警程序并返回待机状态;接下来程序分析当前正在执行何种功能程序并执行之;输出控制部分受控于功能子程序,显示当前的工作状态并决定当前继电器是否工作等。图4.1模糊电饭煲控制软件流程图4.2模糊电饭煲模糊控制软件设计模糊控制的软件流程如图4.2所示。(a)模糊测米量(b)模糊测沸腾(c)模糊功率控制单元图4.2模糊控制软件流程图在图4.2中,t1,t2,t3,t01,t02是时间参数,要根据电饭锅的不同功率进行设定,其中t01<t02。在典型的750W电饭锅应用中取值如下:t1=2min,t2=30s,t3=5min,

t01=4min,t02=8min主要步骤说明如下:(1)通电加热后,采用全功率加热至60度,进人(a)。(2)(a)阶段:记录加热电饭锅胆从60-70度所需时间t,t是与锅内米和水的质量成正比的;(3)(b)阶段:以t1为时间单位,测量起止温度T1,T2当T1=T2时为沸腾状态;(4)(c)阶段:根据(a)测米量所得到的时间t,和设定的参数t01,t02做比较,选择适当的加热功率进行加热;(5)以t2为时间单位,测量起止温度T1,T2,当T1=T2时为水干状态,停止加热;(6)用余热加热米饭t3,时间,最后饭熟报警提示。由于电饭锅采用了模糊逻辑控制,模仿人的思维方式,又结合准确的条件判断,使这种电饭锅即使在不同的海拨高度(有不同的沸点),也能准确地检测到电饭煲内水的沸腾,能做到永不溢出;由于采用模糊逻辑,能准确检测到电饭煲内的水是否已烧干,准确地切断加热的电源,使得煮出的米饭松软、不烧焦。在模糊逻辑的基础上,再加上时间控制,就使这种模糊控制电饭煲具有的预约定时煮饭、煲汤、煲粥等功能。另外这种电饭锅电路设计精简可靠,所有控制电路硬件成本只需十多元。目前,我们设计的这种控制电路已被许多厂家采用,并进行了大批量的生产。这种单片机模糊控制技术在电饭煲中的广泛应用,对改善人们的生活,将会有深远的影响。

结论本课题在研究了模糊控制系统的设计方法并熟悉了电饭煲这一模糊对象的基础上,详细讨论了一种模糊电饭煲控制系统的实现。由于在此模糊控制系统中,其控制指标同样是模糊的,而实际控制系统效果的好坏,直接取决于在煮饭过程中对其米量判断是否正确。本文建立了一种二维的模糊推理机进行米量的判断,详细论述了该推理机的工作原理及推理过程。同时针对模糊电饭煲控制系统设计过程中参数整定问题的复杂性,设计了一种利用工程师经验进行参数调整的专家系统。1、本文的主要研究成果(1)设计一种二维模糊推理机进行米量的判断,并采用适当的工具计算出其推理结果,实验结果表明,此种二维模糊推理机的判断方法是准确有效的。(2)研究了模糊电饭煲控制系统的硬件结构及其工作原理,在保证系统正常运作的基础上,重点研究了硬件的低成本化设计方法。(3)研究了模糊电饭煲控制系统的软件结构,真正建立了一种适合电饭煲模糊控制系统的程序流程,实现了米量的正确判断。(4)在前述工作的基础上,实现了其硬件设计,软件编程调试。2、本文的创新之处采用二维模糊推理机进行米量的推理,选用底部温度达到100℃时的顶部温度的值Tbot100和底部从50℃上升到100℃的时间长度t100作为模糊推理机的输入变量。实验结果表明,这是一种有效的判断方法,能够进行准确的米量判断。重点研究了硬件的低成本化设计方法,从而增强了产品的竞争力,使产品真正走向市场。在基于试错法设计的模糊电饭煲控制系统中,最后阶段的参数微调是一个复杂的过程,工程师往往在进行微调时花费了大量的宝贵时间。3、课题的应用前景与社会效益目前,随着人们生活水平的提高,用微电脑控制的模糊电饭煲己经逐渐走入人们的日常生活。微电脑电饭煲以其良好的烹调效果,节能的特点,智能化与多功能的设计,越来越受到人们的喜爱。目前,市场上流行的微电脑电饭煲的功能越来越多,但是,无论电饭煲的功能如何的多样化,煮饭功能始终是电饭煲最重要的功能,煮饭效果的好坏始终是评价一个电饭煲性能优劣的最重要的依据。因此,在模糊电饭煲的控制系统设计中,始终应该将实现良好的煮饭功能放在首要位置。而实际的煮饭效果在很大程度上取决于对米量大小的准确判断。这是因为对不同米量,控制器应该采取不同的控制策略,因为控制器在保障烹调效果的同时,同时必须注意节能。因此,米量判断实际上是电饭煲控制系统中的关键一环,准确的米量判断是电饭煲控制程序实现有效的控制的前提条件。在这种情况下,合适的米量判断方法的研究就显得格外重要。正因为如此,本文所提出的一种为实验证明效果良好的二维的模糊米量推理机对实际的电饭煲控制系统设计是具有深远的意义的,可以成为电饭煲开发工程师的参考。此外,作者本人在实习期间曾经进行实际的电饭煲设计开发工作,对其中参数整定的复杂性深有体会,且其调整规则是由经验获得的。这也就意味着,电饭煲的设计开发对一个新手来说是一件困难的工作。4、后续工作展望本论文不足之处在于,由于时间原因,没有完成下位机和上位机通讯的硬件设计和软件设计。后续工作将围绕该系统的设计来完成这项任务。并且还要寻求更好的控制算法,进一步完善本系统,同时需要做大量的实验对系统的实际运行情况进行检验。参考文献[1]胡正.模糊控制技术在家用电器中的应用[J]北京:清华大学学报,2003[2]刘增良编.模糊技术与应用选编(1)[M]北京:北京航空航天大学出版社,1997[3]刘增良编.模糊技术与应用选编(2)[M]北京:北京航空航天大学出版社,1997[4]李士勇.模糊控制神经控制和智能控制论[M].黑龙江:哈尔滨工业大学出版,1998[5]余永权.模糊控制技术与模糊家用电器[M]北京:北京航空航天大学出版社,2000[6]陈梅.浅谈模糊控制[J].上海:上海电机技术高等专科学校学报,2002[7]张德江.智能控制技术现状与展望[J]吉林:长春工业大学学报,2002[8]王立新.模糊系统与模糊控制教程[M]北京:清华大学出版社,2003[9]余永权编著.单片机与家用电器智能化技术[M]北京:电子工业出版社,1995[10]修志宏,任光.模糊控制的近期研究热点与分析[J]北京:计算机测量与控制学报,2002[11]李宝绶,刘志俊.用模糊控制理论集合理论设计.自动化学报,1980,6(1)[12]张玉龙.传感器电路设计手册.[M]北京:中国计量出版社,1991[13]ZhangJ,MorrisAJ.NonlinearProcessModelingUsingDynamicNeuralFuzzyNetworks[J].IEEEAdvancedControlofChemicalProcess,Banff,Canada.1997[14]Ching—ChangWong.Chia.ChongChen.AHybridClusteringandGradientDescentApproachforFuzzyModeling[J].IEEETransonSystems,ManandCyberneticsPARTBCybernetics,l999[15]KevinM.Passino&StephenYurkovich.[M]FuzzyControl.PrenticeHall/Pearson.2001.11致谢本课题是在指导老师刘广文老师的指导下完成的。在项目的实现和论文的撰写过程中,刘老师都给予了精心的指导和无微不至的关怀,特别是刘老师严谨的治学作风、对科学事业执着的追求和宽以待人、严于律己的一贯作风,给我留下了深刻的印象。我非常感谢刘老师给我了这样的实践机会,我从中得到的锻炼将对我以后的工作和学习产生重大的影响。附录一:电路原理图控制电路原理图单片机控制原理图附录二:程序源代码主程序:#include"a2000.h";#definevoice_start01//开始//#definevoice_cool02//煮饭//#definevoice_fcool03//快煮//#definevoice_bz04//煲粥//#definevoice_dt05//炖汤//#definevoice_time06//请设定炖汤时间//#definevoice_bw07//保温//#definevoice_down08//定时减//#definevoice_up09//定时加//#definevoice_off10//返回//#definevoice_alarm11//请放入内锅//unsignedintMODEL;unsignedintWHICH_TIME;unsignedintFLASH_LED_STATUS;unsignedintKey=0;unsignedintannounced=0;//************************************************////****************************************////设置子程序////****************************************//voidSet(){if(MODEL==5)MODEL=1;elseMODEL=MODEL+1;if(MODEL!=0){LED_FLASH_STATUS=1;if(MODEL==1)PlayRespond(voice_cool);elseif(MODEL==2)PlayRespond(voice_fcool);elseif(MODEL==3)PlayRespond(voice_bz);elseif(MODEL==4){PlayRespond(voice_dt);PlayRespond(voice_time);//请设定炖汤时间//WHICH_TIME=1;}elsePlayRespond(voice_bw);}}//************************************************////计时加预置子程序////************************************************//voidTime_up(){PlayRespond(vioce_up);}//*************************************************////计时预置减子程序////*************************************************//voidTime_down(){PlayRespond(voice_down);}//****************************************************////烹调模块子程序////****************************************************//voidStart_cancle(){PlayRespond(voice_start);}//*****************************************************////空锅报警子程序////*****************************************************//voidEmpty(unsignedinta){if(a==0){PlayRespond(voice_alarm);}a=1;}//**************************************////主程序////**************************************//main(){System_Initial();//系统初始化子程序//while(1){Key=KeyScan();//键盘扫描子程序,并返回键值//if(Key==0x0011)Set();//调用功能设定子程序//if(Key==0x0012)Time_up();//调用计时加预置子程序//if(Key==0x0014)Time_down();//调用计时减预置子程序//if(Key==0x0018)Start_cancle();//调用各功能子程序//if((Key&0x0010)==0)Empty(announced);//空锅报警子程序//}}子程序.include hardware.inc.include S480.inc.include Resource.incdefinevoice_start00//开始//.definevoice_cool01//煮饭//.definevoice_fcool02//快煮//.definevoice_bz03//煲粥//.definevoice_dt04//炖汤//.definevoice_time05//请设定炖汤时间//.definevoice_bw06//保温//.definevoice_down07//定时减//.definevoice_up08//定时加//.definevoice_off09//返回//.definevoice_alarm10//请放入内锅//.definevoice_set11//请设定//.definevoice_high12//注意温度过高////*******************************************////系统初始化子程序////*******************************************//.public_System_Initial_System_Initial:.procr1=0x0002[P_SystemClock]=r1//初始化系统时钟//r1=0xFF80[P_IOA_Dir]=r1r1=0xFFE0[P_IOA_Attrib]=r1r1=0xFFE0[P_IOA_Data]=r1//初始化A口//r1=0xFFFB[P_IOB_Dir]=r1r1=0xFFFF[P_IOB_Attrib]=r1r1=0x0004[P_IOB_Data]=r1//初始化B口//r1=0x0004//时基选择//[P_TimeBase_Setup]=r1intoff//关中断//r1=0x0105[P_INT_Ctrl]=r1//初始化中断//intfiq,irq//开中断//retf.endp//*********************************************////段显子程序////*********************************************//.DATAShow_tabble:.dw0x003F,0x0006,0x005B,0x004F,0x0066.dw0x006D,0x007D,0x0007,0x007F,0x006F.code.public_Show_Show:.procBP=Show_tabbler1+=BP//求显示码的地址//r1=[r1]//求出显示码//r1=r1lsl4r1=r1lsl4//移至高8位//r2=[P_IOA_Buffer]r2&=0x8000r1|=r2[P_IOA_Data]=r1//输出显示//retf.endp//***********************************************////中断子程序////***********************************************//.iram.publicT1_1,T1_2,T1_3,T1_4.publicT2_1,T2_2,T2_3,T2_4.public_STATUS.publicloop_count.varT1_1=0,T1_2=0,T1_3=0,T1_4=0.varT2_1=0,T2_2=0,T2_3=0,T2_4=0.var_STATUS=0.varloop_count=0.text.public_IRQ6_IRQ6:pushr1,r5to[sp]r1=0x0001 testr1,[P_INT_Ctrl];jnzIRQ6_Is_TMB2r1=0x0002[P_INT_Clear]=r1popr1,r5from[sp]retiIRQ6_Is_TMB2:[P_INT_Clear]=r1r1=[_WHICH_TIME]cmpr1,1jeShow_T2r1=[loop_count]cmpr1,0x00jeIS_T1_1cmpr1,0x01jeIS_T1_2cmpr1,0x02jeIS_T1_3r1=[T1_4]r4=0x8000jmpStart_ShowIS_T1_1:r1=[T1_1]r4=0x1000jmpStart_ShowIS_T1_2:r1=[T1_2]r4=0x2000jmpStart_ShowIS_T1_3:r1=[T1_3]r4=0x4000jmpStart_ShowShow_T2:r1=[loop_count]cmpr1,0x00jeIS_T2_1cmpr1,0x01jeIS_T2_2cmpr1,0x02jeIS_T2_3r1=[T2_4]r4=0x8000jmpStart_ShowIS_T2_1:r1=[T2_1]r4=0x1000jmpStart_ShowIS_T2_2:r1=[T2_2]r4=0x2000jmpStart_ShowIS_T2_3:r1=[T2_3]r4=0x4000Start_Show:call_Show//把BCD的段码输出显示//r2=[loop_count]r3=[P_IOB_Buffer]//不影响IOB的低12位,高四位选通一位//r3&=0x0FFFr3=r3|r4[P_IOB_Data]=r3//位选通//r2+=1cmpr2,0x0004jneshow_addr2=0x00show_add:[loop_count]=r2r1=[_STATUS]cmpr1,0x01jneNo_Startcall_KeyScancmpr1,0x0018jneNo_Startr1=0x00[_STATUS]=r1r1=voice_off[_Announce_Buff]=r1call_PlayRespondpc=0x0000No_Start:popr1,r5from[sp]reti//***********************************************////功率输出子程序////***********************************************//.iram.publiccool_status//加热标志//.varcool_status=0.code.public_F_Export_F_Export:.procr1=[cool_status]cmpr1,0jeExit_offr1=[_MODEL]cmpr1,5jneExport_Bothr1=[P_IOB_Data]r1&=0xFFFDr1|=0x0001[P_IOB_Data]=r1jmpExitExport_Both:r1=[P_IOB_Data]r1&=0xffFCr1|=0x0003[P_IOB_Data]=r1jmpExitExit_off:r1=[P_IOB_Data]r1&=0xFFFDr1|=0x0000[P_IOB_Data]=r1Exit:retf.endp//*************************************************////中断子程序IRQ3

温馨提示

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

评论

0/150

提交评论