收藏 分享(赏)

单片机在电饭锅上的应用课程设计.doc

上传人:HR专家 文档编号:11407719 上传时间:2020-04-17 格式:DOC 页数:20 大小:338.50KB
下载 相关 举报
单片机在电饭锅上的应用课程设计.doc_第1页
第1页 / 共20页
单片机在电饭锅上的应用课程设计.doc_第2页
第2页 / 共20页
单片机在电饭锅上的应用课程设计.doc_第3页
第3页 / 共20页
单片机在电饭锅上的应用课程设计.doc_第4页
第4页 / 共20页
单片机在电饭锅上的应用课程设计.doc_第5页
第5页 / 共20页
点击查看更多>>
资源描述

1、目 录引言21 电饭锅的原理与结构32 MCS51单片机在电饭锅上的应用63 程序设计126 结束语20参考文献20附录:电路原理接线图21 引言 电饭锅是一种能够进行蒸、煮、炖、煨、焖等多种加工的现代化炊具。它不但能够把食物做熟,而且能够保温,使用起来清洁卫生,没有污染,省时省力,是家务劳动现代化不可缺少的用具之一。 随着科技、经济的发展,人们生活水平的不断提高,工作生活节奏亦加快,延时预制食品也成了人们日常工作生活中的需要。目前,己有的智能电子电饭锅在做饭/粥时,是将米和水同时放入锅中,接通电饭锅的电源后,电饭锅即自动进入做饭/粥程序,当做饭/粥完成后,电饭锅即进入保温状态。这就需要我们用

2、智能程序控制电饭锅的煮饭保温时间,本设计主要介绍MSC-51系列单片机在电饭锅的应用及程序。本次设计过程中借鉴的一些智能家电书和设计手册,吸收书中自己本没掌握的知识,并得到徐祖华、肖金凤老师的悉心帮助。对此深表谢忱。1、 电饭锅的原理及结构 1.1电饭锅的原理电饭锅是利用发热板,在铝质锅的底部煮饭。发热板内藏电热线,这电热线是由自动开关控制,发热板的中央有一圆孔,孔内有一感温软磁,它借着弹簧向上顶贴着锅底。这是一种纯铁氧体。它在100或以下时,可以被永久磁铁吸引。但当升至103时,则失去磁性,不再受永久磁铁吸引。 当按下开关按键,开关横杆把磁铁向上顶贴着感温软磁;这时,发热线接通,开始加热。当

3、锅内的饭沸腾后,锅内的水就渐渐减少,当水开始蒸干,锅内的温度就由100上升。当升至103时,感温软磁就不受磁铁吸引,开关的杠杆因弹簧的弹力及本身的重力而下降,压使接触点分开,发热线就断电,同时,接通另一保温电路,保持饭的温度在70左右。智能电饭煲主要由电源部分和控制电路组成,主控电路与热敏电阻形成反馈回路,主控电路实现两种功能,一是采集热敏电阻反馈回来的温度值,二是依据用户选用的工作方式,对继电器的工作方式的改变来对电热盘加热的控制。控制方法大至为:当电热盘温度达到当前的要求后,继电器的开关打开,以切断电热盘的电源,当下降到一定的温度范围后通电加热,闭合继电器,以使电热盘始终保持在适合的温度之

4、内。 电饭锅的主要由顶盖温度传感器、底盘温度传感器、驱动电路、加热盘、继电器和数码管等组成。通过控制温度传感器来控制煮饭时间,利用这些资源完成的电饭煲具有以下功能:1、精煮,2、超快煮,3、冷饭加热,4、小米量,5、45分稀饭,6、2小时粥,7、1小时汤,8、2小时汤。并且具有人性化的操作界面,使用者很容易掌握。电饭煲的功能不再只是简简单单的煮饭了,它可以完成许许多多的功能,它是人们日常生活中不可缺少的家庭好帮手,正是由于智能的控制,人们的生活才变得越来越简单。1.2电饭煲煮饭过程介绍要想煮出高质量的米饭,就要掌握各种大米的吸水量,加温时间,控温过程,维持沸腾时间,停止升温过程,焖饭过程等规律

5、。煮饭的过程实质上就是使大米由难以为人体所消化吸收的淀粉转化成为人体较易吸收的淀粉的过程,经过大量的实践和探索,一次理想的煮饭过程可以抽象成以下几个过程:吸水过程在适合的温度下,让大米尽可能的吸收水分,这样煮出来的米饭的更加的饱满,口感更好。让大米的含水量达到25%左右,温度越高,吸水越快。但是温度一旦超过60度,大米中含有的淀粉就会转化成淀粉,会变成糊状,所以控制温度在60度以下是非常有必要的,一般控制在35度左右为最佳温度。升温过程这一个过程必须使锅内的热量充分对流,以至于不会造成夹生饭。一般说来,加热值沸腾的时间最佳是10分钟。维持沸腾为了使淀粉充分转化成为淀粉,需要在沸腾的状态下,温度

6、大约控制在98度左右,维持20分钟左右,可以通过控制继电器的开与闭来实现温度的控制。补炊过程断电之后,温度会慢慢下降,当温度降到100度左右的时候,在通电一段时间,将锅内的多余的水分蒸发掉,补炊的时间根据个人而定。焖饭过程在补炊过程结束后,锅内基本上没有太多的水分,应停止加热,利用余热来进行焖饭,促进大米淀粉的生成。一般的焖饭时间大约控制在12分钟左右。保温过程整个煮饭过程结束后,自动进入保温模式,温度低于65度左右,加热盘就会对锅体进行加热。使用者在此种状态下就可以享用美食了。3功能介绍利用凌阳8位单片机开发的智能电饭煲具有以下的两大功能:3.1 煲煮功能1) 精煮选择精煮功能,按下开始键,

7、电饭煲开始加热,大约45分钟后电饭煲进入焖饭状态,此时数码显示n,10分钟后,电饭煲进入保温状态,数码显示b ,这表明饭已经煮好。2) 超快煮选择超快煮功能,按下开始键,电饭煲开始加热,大约30分钟后电饭煲进入焖饭状态,此时数码显示n,8分钟后饭煮好,电饭煲进入保温状态,数码显示b,这表明饭已经煮好。3) 冷饭加热选择冷饭加热功能,按下开始键,电饭煲开始加热,大约15分钟后电饭煲进入保温状态,数码显示b ,这表示冷饭加热完成。4) 小米量煮选择小米量煮功能,按下开始键,电饭煲开始加热,大约40分钟后电饭煲进入焖饭状态,此时数码显示n,10分钟后饭煮好,电饭煲进入保温状态,这表明小米量的饭已经煮

8、好。5)45分钟稀饭选择45分钟稀饭功能,按下开始键,电饭煲开始加热,此时数码显示-,45分钟后粥已煮好。6)2小时粥选择2小时粥功能,按下开始键,电饭煲开始加热,此时数码显示2,2小时后粥已经煮好。7)1小时汤选择1小时汤功能,按下开始键,电饭煲开始加热,此时数码显示1,1小时后汤已经熬好。8)2小时汤选择2小时汤功能,按下开始键,电饭煲开始加热,此时数码显示2, 2小时后汤已经熬好。注:以上4种功能模式中,每一种功能结束之后都自动进入保温模式,数码显示b。1.3 定时功能选择相应功能后设置相应的定时时间,按下开始键,定时开始,每过1小时显示时间数减1。在定时时间内,根据定时的时间和所需过程

9、的时间差电饭锅就能自动启动,自动加热,自动保温,完成选择的功能,例如如果45分钟稀饭定时2小时的话,电饭煲会在1小时15分钟的时候开时启动加热工作,并进入45分钟稀饭功能模式。2、 MSC-51单片机在电饭锅上的应用 美国INTEL公司生产的MCS一51系列单片机具有很强的功能,它被广泛的应用于各种自动化的控制系统上。我们应用其中8051单片机微机电脑控制器控制的电饭锅。 用微电脑控制电饭锅可根据煮制各种不同食品的需要,编制各种不同的程序,实现不同的控制,提高煮制食品的质量,使其更可口,味道更美。另外还可以实现各种状态的显示和定时等功能,使用者可直观地看到煮制食品的进展情况,在操作上也能有一种

10、轻松,新奇的感觉。相当于分立元件电路来讲,用电脑控制的电路简单,可靠性高,成本低。所以。利用微电脑实现各种家电产品控制的自动化,智能化是一个发展方向。2.1 控制要求 我们参照了国外几种不同的先进产品,并结合我国的实际情况,制定了如下控制要求:一、煮制食品的控制曲线我们制定了六种煮制食品的控制曲线.它们分别如图l所示: 这六种控制曲线被定义为六种菜单,使用者可根据煮制食品的需要任意选择。二、显示采用4位LFD数码管显示时间,显示精度为l分钟。用LED发光管指示定时、预煮、煮炯、保温五种工作状态和白米饭、糯米饭、什锦饭、糙米饭、粥五种菜单程序。三、鸣响提示当触动按键和饭煮熟时都由蜂鸣器发出鸣响提

11、示。四、定时 最大定时时间为12小时50分钟,所设定的定时时间为饭煮熟时的时间,采用倒计时的计时方式,设定精度为10分钟,直接用轻触按键输入,时间设定可递增和递减,也可进行单步和快速设定。五、自动保护具有内锅不在锅体内时不能加电的自动保护功能,具有软件和硬件的超保护功能。2.2 硬件设计 硬件电路原理图如图2所示,采用内部带R(M的8051单片机做微处理器,它具有丰富的指令系统和很强的功能,可使控制电路结构简单体积小,可靠性高。8051芯片有四个八位输入/输出口PO,P1,P2,P3.选P1,P2口为时间、状态和菜单的显示输出口,采用动态扫描的显示方式,P1口的输出通过三极管送到数码管的段和显

12、示状态、菜单的发光二极管,P2口的输出通过三极管分时选通数码管的位和对应的状态、菜单发光二极管o PO口为操作按键输入口,低电平有效。P3. 0和P3. 1分别通过反向器G1:B,G1:F和三极管T17,T18驱动主加热盘和副加热元件的可控硅TM1,TM2,接入反向器G1:B.G1:F可防止单片机复位时可控硅瞬间导通现象.P3. 2口经三极管T16驱动蜂鸣器BEo 由干被控温度是一个连续变化的模拟量信号,而单片机只能处理数字量信号,这就需要模/数转换电路,现采用具有负温度系数的测温型热敏电阻RT为温度传感器,它和电位器W1、电容C2,施密特触发器G1:A组成多谐振荡器,RT的阻值随被测温度的变

13、化而变化,因而振荡器的输出频率也随RT阻值的变化而变化,这样就实现了把模拟量信号转变成频率变化的方波信号,单片机记录在单位时间内的周期数就可得到被测的温度值。这一信号经过反向器G1:B输入到P3. S口,单片机利用该信号进行多点闭环温度控制。电位器W1起温度微调作用。温度传感器RT装在锅体底部,间接反映锅内的温度。 T FUSE是热保险管,起超温保护作用。 SW为机电连锁微动开关,当内锅在锅体内时,开关sw受压闭合,电路接通,控制器正常工作,否则不能工作,这样可避免发热盘空载加热的现象。 H C()()K为主发热盘。 H一WARM为副发热元件,装在锅体侧面和顶部,主要起保温作用。电路可分别安装

14、在两块电路板上,一块为显示操作板,装在温度较低的锅体顶部或侧面。另一块为可控硅和电源板,可装在锅体底部。3、 程序设计 主程序框图如下图3所示主程序判断确有按键输入时,开启蜂鸣器,鸣响0.25后由计时中断服务程序来关闭蜂鸣器。由按键输入执行保温程序时,必须是没有菜单和定时输入的情况下,且先执行慢速加热至73C的程序后才进入保温程序。保温时间限制为10小时。 温度采样子程序在保温和加热时调用,进行温度控制。CTI为采样计数器,其流程图见图4。为提高测量的准确性,应用多次间隔时间采样取其平均值的方法来减小测量误差,在间隔采样过程中如连续出现20次超出正常范围的温度值,则判断为测温电路故障,停止执行

15、正常程序,并做出相应的显示和蜂鸣报警。 CTO设置为计时器,每隔。.15发出一次中断申请,入口地址为。ooBH,中断服务程序做相应的各种计时操作处理,中断服务流程图见图4。选用定时程序的判断,如果没有进行过时间的设定,74H位为零,就判断为没有设置定时,否则74H位由1,执行定时煮制程序。3.2 操作说明接通电源后时间显示器闪烁显示“o:00”为正常。程序选择键:按该键可循环选择五种设定的程序,分别由发光二极管进行显示。保温键:如果没有按过其它键,按该键可直接进入保温状态,保温指示灯亮,否则无效。时间设定键:可设定定时煮制的时间,最大定时时间为12小时50分钟。启动键:1) 按动该键就确认了所

16、选择的程序和定时时间,并开始执行程序,相应的工作状态指示灯亮;2)如按动该键前没有选择程序和设定时间,按动该键后直接执行白米饭程序;3)按动该键并保持约2秒钟则跳过预煮直接进入煮制过程;4)当选择煮粥程序时,第一次按动该键后,时间显示器闪烁显示煮制的时间,该时间可在1:30一4:00时间范围内设定,第二次按动该键后,就确认了所设定的输入并开始执行程序;5)执行定时程序过程中,按该键则暂停正常的时间显示,所显示的是选择程序的煮制时间,释放该键后恢复正常的时间显示。3.3 程序includehardware.inc.includeS480.inc.includeResource.incdefine

17、 voice_start 00 /开始/define voice_cool 01 /煮饭/define voice_fcool 02 /快煮/define voice_bw 06 /保温/define voice_down 07 /定时减/define voice_up 08 /定时加/define voice_off 09 /返回/define voice_alarm 10 /请放入内锅/.define voice_ok 11 /请享用/.define voice_set 12 /请设定/.define voice_high 13 /注意温度过高/*/ 系统初始化子程序 /*/.public

18、 _System_Initial_System_Initial:.proc r1=0x0002 P_SystemClock=r1 /初始化系统时钟/ r1=0xFF80 P_IOA_Dir=r1 r1=0xFFE0 P_IOA_Attrib=r1 r1=0xFFE0 P_IOA_Data=r1 /初始化A口/ r1=0xFFFB P_IOB_Dir=r1 r1=0xFFFF P_IOB_Attrib=r1 r1=0x0004 P_IOB_Data=r1 /初始化B口/ r1=0x0004 /时基选择/ P_TimeBase_Setup=r1 int off /关中断/ r1=0x0105 P_

19、INT_Ctrl=r1 /初始化中断/ int fiq,irq /开中断/ retf.endp/*/ 段显子程序 /*/.DATAShow_tabble: .dw 0x003F,0x0006,0x005B,0x004F,0x0066 .dw 0x006D,0x007D,0x0007,0x007F,0x006F.code.public _Show_Show:.proc BP=Show_tabble r1+=BP /求显示码的地址/ r1=r1 /求出显示码/ r1=r1 lsl 4 r1=r1 lsl 4 /移至高8位/ r2=P_IOA_Buffer r2&=0x8000 r1|=r2 P_I

20、OA_Data=r1 /输出显示/ retf.endp/*/ 计时子程序 /*/.iram.public _end_120.var _end_120=0.code.public _Time_Count_Time_Count: .proc r1=_STATUS cmp r1,0 je Count_end r1=T1_1 /取第一个数据/ r1+=T1_2 /第一个数据和第二个数据相加/ r1+=T1_3 /前三个数据相加/ r1+=T1_4 /前四个数据相加/ cmp r1,0 /和与0相比较/ je Time2_Count /等于0转到定时2的计数/ r1=_end_120 cmp r1,12

21、0 /是否到了120次/ jne ADD_1 /不到转向ADD_1继续相加/ r1=0x00 _end_120=r1 /到了清0为下次中断作准备/ call _Time_count_down1 /调用预置减子程序/ jmp Time_Count_OverADD_1: r1=r1+1 _end_120=r1Time_Count_Over: r1=P_IOA_Buffer /一次中断计时后秒点反相/ r2=0x8000 r1=r2 P_IOA_Data=r1 jmp Count_endTime2_Count:r1=T2_1 /取第一个数据/ r1+=T2_2 /第一个数据和第二个数据相加/ r1+

22、=T2_3 /前三个数据相加/ r1+=T2_4 /前四个数据相加/ cmp r1,0 je Count_end r1=_end_120 cmp r1,120 jne ADD_2 r1=0x00 _end_120=r1 call _Time_count_down2 jmp Count_endADD_2: r1+=1 _end_120=r1Count_end: retf.endp/ 过温检测子程序 /*/.public _Over_Temp_Over_Temp:.proc r1=_STATUS cmp r1,1 jne t_exit r1=_Tempreature_value cmp r1,36

23、 jnb t_exit /与36即150度比较,温度超过150度时报警并跳到程序的开始/ r1=voice_high _Announce_Buff=r1 call _PlayRespond r1=0 _STATUS=r1 pc=0x0000t_exit: retf.endp/ 温度采集子程序 /*/.ram.public _Tempreature_value.var _Tempreature_value.code.public _ReadAD_ReadAD:.proc r3=900 _Tempreature_value=r3 retf.endp/ 计时加预置子程序 /*/.public _Ti

24、me_up_Time_up:.proc r1=_WHICH_TIME cmp r1,0x01 je timeup2 call _Time_up1_sub jmp time_exit_uptimeup2: call _Time_up2_subtime_exit_up: r1=voice_up _Announce_Buff=r1 call _PlayRespond retf.endp/ 计时减预置子程序 /*/.public _Time_down_Time_down:.proc r1=_WHICH_TIME cmp r1,0x01 je timedown2 call _Time_down1_sub

25、 jmp time_exit_downtimedown2: call _Time_down2_subtime_exit_down: r1=voice_down _Announce_Buff=r1 call _PlayRespond retf.endp/ 预置1设定减子程序 /*/.public _Time_down1_sub_Time_down1_sub: .proc r1=T1_1 /取第一个数据/ r1+=T1_2 /第一个数据和第二个数据相加/ r1+=T1_3 /前三个数据相加/ cmp r1,0 je sub1_exit_down r1=T1_3 /取第三个数据/ cmp r1,0

26、/判断是否到了0/ jne sub1_exit_05 /不到0跳转/ r2=5 /到5后写0/ T1_3=r2 r1=T1_2 /取第二个数据/ cmp r1,0 /比较是否到了0/ jne sub1_exit_09 /不到0跳转减1/ r2=9 /到0后写9/ T1_2=r2 r2=T1_1 r2-=1 T1_1=r2 jmp sub1_exit_downsub1_exit_09: r2=T1_2 r2-=1 T1_2=r2 /减1操作/ jmp sub1_exit_downsub1_exit_05: r2=T1_3 r2-=1 T1_3=r2 /减1操作/sub1_exit_down: r

27、etf.endp/ 煮饭子程序 /*/.public _COOL_COOL:.proc r1=1 cool_status=r1cool_test1: r1=_Tempreature_value cmp r1,537 /是否到了50度/ ja cool_test1 /大于537即小于50度时循环/ r1=0 cool_status=r1cool_test2: r1=_Tempreature_value cmp r1,687 /是否到了40度/ jbe cool_test2 /小于等于687即大于40度时循环/cool_test5: r1=1 cool_status=r1cool_test3: r

28、1=_Tempreature_value cmp r1,140 jae cool_test3 /大于140即小于98度时循环等待/ r1=0 cool_status=r1cool_test4: r1=_Tempreature_value cmp r1,68 /小于68即大于等于125度时跳出/ jbe cool_exit cmp r1,144 /大于97度时停止加热等待,小于时循环加热/ jb cool_test4 jmp cool_test5cool_exit: r1=_Tempreature_value cmp r1,132 /大于100度时停止加热等待,否则继续加热/ jbe cool_

29、exit r1=1 cool_status=r1cool_test6: r1=_Tempreature_value cmp r1,77 /大于120度时加热结束/ ja cool_test6 r1=0 cool_status=r1 r1=voice_ok _Announce_Buff=r1 call _PlayRespond r1=0x0105 P_INT_Ctrl=r1 /初始化中断/ int fiq,irq /开中断/ retf.endp/ 快煮子程序 /*/.public _FCOOL_FCOOL:.procfcool_test3: r1=1 cool_status=r1fcool_te

30、st1: r1=_Tempreature_value cmp r1,140 ja fcool_test1 r1=0 cool_status=r1fcool_test2: r1=_Tempreature_value cmp r1,68 jbe fcool_exit jmp fcool_test3fcool_exit: r1=0 cool_status=r1 r1=voice_ok _Announce_Buff=r1 call _PlayRespond r1=0x0105 P_INT_Ctrl=r1 /初始化中断/ int fiq,irq /开中断/ retf.endp/ 保温子程序 /*/.pu

31、blic _BW_BW:.PROC r1=P_IOB_Buffer r1&=0xF083 r1|=0x0080 P_IOB_Data=r1 /保温功能指示灯常亮/bw_test1: r1=_Tempreature_value cmp r1,370 jbe bw_test1 r1=1 cool_status=r1bw_test2: r1=_Tempreature_value cmp r1,340 jae bw_test2 r1=0 cool_status=r1 jmp bw_test1 retf.endp/ 主程序 /*/.code.public _main_main: call _System

32、_Initialloop: r1=0x0105 P_INT_Ctrl=r1 /初始化中断/ int fiq,irq /开中断/ call _KeyScan cmp r1,0x0011 je exit1 cmp r1,0x0012 je exit2 cmp r1,0x0014 je exit3 cmp r1,0x0018 je exit4 test r1,0x0010 jz exit5 jmp exit exit1:call _Set jmp exitexit2:call _Time_up jmp exitexit3:call _Time_down jmp exitexit4:call _Sta

33、rt_cancle jmp exitexit5:call _Emptyexit: jmp loopEnd结束语课程设计过程是知识与实践相结合的过程,是学习深化和提高的重要过程,是运用学过的知识进行一次全面总结和综合训练,是素质与工程实践能力培养的全面检验。 通过这次设计,使我对单片机知识有了更进一步的了解。在这次设计中我翻阅了大量的资料,了解许多关于单片机设计的知识,进一步的提高了我对单片机设计的思维方式。同时我也体会到要想设计好一个单片机必须要有求实的态度和丰富的专业知识。这次设计能够顺利完成,与指导老师徐祖华、肖金凤的大力帮助是分不开的,同时也吸取了同学们的宝贵经验,在此向他们表示衷心的感谢。 最后,感谢老师在百忙之中对我们进行细心的辅导,我们的设计才能顺利的完成。参考文献:1MCS-51系列单片机在电饭锅上的应用 李继明2INTEL单片机应用技术,陕西科学技术出版社3电子技术基础,华中工学院工业电子教研室4智能家电的原理及维修,机械工业出版社谢辞 在这几周的课程设计中,在徐祖华、肖金凤老师的悉心指导和同学们的热心帮助,我终于完成了这次设计,所以很感谢老师对我的帮助和关心。在设计中,我学习了解了单片机的应用和控制编程,锻炼了我的自己设计能力,并学到很多在课堂上不能学到的东西,巩固了上课的学习。在设计中,我实践能

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报