微波炉课程设计汇总.docx

上传人:b****3 文档编号:5450628 上传时间:2022-12-16 格式:DOCX 页数:27 大小:149.01KB
下载 相关 举报
微波炉课程设计汇总.docx_第1页
第1页 / 共27页
微波炉课程设计汇总.docx_第2页
第2页 / 共27页
微波炉课程设计汇总.docx_第3页
第3页 / 共27页
微波炉课程设计汇总.docx_第4页
第4页 / 共27页
微波炉课程设计汇总.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

微波炉课程设计汇总.docx

《微波炉课程设计汇总.docx》由会员分享,可在线阅读,更多相关《微波炉课程设计汇总.docx(27页珍藏版)》请在冰豆网上搜索。

微波炉课程设计汇总.docx

微波炉课程设计汇总

摘要.....................................................1

目录..................................................................2

第1章前言...........................................................3

1.1概述..............................................................3

1.2具体要求..........................................................3

第2章总体方案设计....................................................5

2.1系统总体框图......................................................5

2.2定时模块..........................................................5

2.3按键输入模块......................................................6

2.3.1方案选择......................................................6

2.3.2按键输入设计..................................................6

2.4显示模块..........................................................7

2.4.1档位显示......................................................7

2.4.2计时显示......................................................8

2.5音响发声模块......................................................8

2.6电源模块..........................................................9

2.7功率输入模块......................................................9

第3章系统软件设计和仿真.............................................11

3.1keil和protues软件................................................11

3.2系统软件编辑流程图................................................12

3.3系统程序调试......................................................12

3.3.1显示模块调试..................................................12

3.3.2定时模块调试..................................................15

3.3.3按键扫描模块..................................................17

第4章总结...........................................................22

附录..................................................................23

第1章前言

1.1概述

近年来,微波炉已经走进了千家万户的厨房,成为现代家庭的必备产品。

随着控制技术和智能技术的发展,微波炉也向着智能化、信息化发展。

我们希望微波炉能够按既有程序进行烹调,又不需要使用者根据食物的类型、数量、温度等因素去设定微波炉的工作时间,因为人为设定的工作时间过长,含水分较多的食物可能会产生过热碳化的现象,若时间过短则达不到预期的烹调效果。

这不仅在节能方面未做过多考虑,使用者还需要经常翻看使用说明书才能完成操作过程。

针对这些问题,我觉得有必要研制一种操作简单且烹调效果好的微波炉,根据一些家常菜按固定程序烹调的现象,可采取分时、分档火力加热,节时又节能。

本可编程微波炉控制器系统,以AT89C51单片机为核心,由计时系统、手动键盘、温度测量、状态显示等功能模块组成。

基于题目基本要求,本系统可实现微波炉的启动、停止、功率设定、加热时间设定、加热时间显示等功能。

此外,还扩展了液晶显示工作状态、时间显示、微波炉火力档位设定、火力指示等功能。

其中常规基础部分可以选择火力并设定加热时间,系统通过发光二极管显示选择的火力档。

系统启动后开始倒计时,此外还能通过LED显示。

计时结束即工作完毕时,系统发出警报。

1.2具体要求

(1)制定一个在不同功能时火力的控制时序表。

具有三档微波加热功能,分别表示微波炉工作状态为烹调、烘烤、解冻,试验使用LED模拟。

(2)实现工作步骤:

复位待机——〉检测显示电路——〉设置输出功能和定时器初值——〉启动定时和工作开始——〉结束烹调、音响提示。

(3)在上电或手动按复位键时,控制器输出的微波功率控制信号为0,微波加热处于待机状态,时间显示电路显示为00.00。

(4)具有4位时间预置电路,按键启动时间设置,最大预设数为99分99秒。

(5)设定初值后,按开启键,一方面按选择的挡位启动相应的微波加热;另一方面使计时电路以秒为单位作倒计时。

当计时到时间为0则断开微波加热器,并给出声音提示,即扬声器输出2~3s的双音频提示音。

(6)若在待机状态时按测试键,则4位数码管交替显示全亮和全灭两种状态,以检测数码管各发光段的好坏。

 

 

第2章总体方案设计

2.1系统的总体框图

系统以AT89C51单片机为核心,连接各外部电路完成人机交互等各功能的控制。

系统的总体框图如下图2.1所示。

2.2定时模块

方案一:

采用传统的机械式定时,定时时间通过机械旋钮来控制。

该方法操作简单,对设定时间只要旋转到相应的位置即可。

但由于机械式定时容易磨损,定时精度低,也不能实现一些复杂的功能。

特别是一些人性化的界面设计无法实现。

方案二:

采用小规模集成元件定时,比如用计数器/分频器,该方法价格便宜,但是接线复杂,设计也比较困难,对时序要求比较高。

该方案功能单一,也无法实现复杂功能,扩展麻烦。

也不能实现一些人性化的界面设计。

方案三:

采用单片机的定时器定时。

由于当前市场上的单片机都内含定时器计数器,所以用单片机定时比较方便。

另外,单片机能够实现复杂功能,能够设计出友好的人机界面接口,价格也比较便宜,单片机定时比较准确,性价比很高。

综上所述,定时部分我们采用单片机的定时器来实现。

2.3按键输入模块

2.3.1方案选择

由于该微波炉控制系统用到的按键比较多,所以对按键的设计非常重要。

单片机按键显示系统设计一般有如下几种方案:

方案一:

采用并行口扩展芯片扩展并行口的方法来设计键显系统。

用来做键显系统的传统的芯片有8155、8255、8279等。

这种方式的优点是速度快,显示数据简单,缺点是,占用单片机口线多。

由于本系统的“火力”加热由多个发光二极管来模拟,所以,占用口线较多。

显然,在本系统中不宜采用。

方案二:

采用直接接I/O口方法。

利用对I/O口的编辑可以实现相应的功能,用这种方法用的I/0口占用的比较多,但是用程序编程比较简单。

由于本系统用到程序复杂,故使用方案二,直接使用I/O口来实现。

2.3.2按键输入设计

输入模块采用9个按键作为输入设备,实现数据输入控制。

按键是一种常见的输入装置,在日常生活中,按键在计算机、电话、手机、微波炉等格式电子产品上已经被广泛应用,按键通常采用行列扫描法来确定所按下键的行列位置。

由于按键是一种机械开关,所以设计其控制电路时,需要涉及到按键扫描、键盘译码,光靠按键是无法完成按键输入工作的。

其中按键扫描又涉及到时序产生、按键扫描和消除抖动。

这些按钮分别与P1口相连,分别是:

30s、1MIN、5MIN、清零、档+、档-、启动、停止和检测数码管。

连接电路图如下图2-1所示:

图2-1按键电路

2.4显示模块

2.4.1档位显示

档位显示电路有一个共阴极LED显示,有1,2,3档,分别代表“烹调”、“烘烤”、“解冻”三个档位,直接将LED接至单片机P3口通过单片机发送低电平使LED发光,电路图如图2-2所示:

 

图2-2档位显示电路

2.4.2计时显示

显示部分采用八段数码管实现。

本次设计总共设计了1~3档共计3个火力档,考虑到用LED指示工作火力档,将会占据大量控制芯片的I/O口,所以采用LED数码管显示当前工作的火力档位的倒计时。

具体设计时,采用4位LED数码管显示加热倒时,烹饪计时为减法计数,最大计时时间为99:

99。

采用四位八段数码管一个,格式为(分_十位、分_个位、秒_十位、秒_个位)。

时间显示用到两个锁存器,共用一个输出口P0,分时复用,一个锁存器用来锁存“位”,一个锁存器用来锁存“段码”,数码管就可以稳定显示。

档位显示单独用P3口输出数据。

数码管均采用共阴数码管。

显示模块设计图如图2-3所示:

 

图2-3计时显示电路

2.5音响发声模块

本系统要求扬声器能够给出声音提示,输出2—3秒的双音频提示音。

我们采用蜂鸣器来实现实现双音频输出。

将蜂鸣器的借口与P2.3连接,原理图如下图2-4所示:

图2-4蜂鸣器报警电路

2.6电源模块

本系统要给单片机提供一个5V的直流电源,所以设计一个220V转换为5V的电源电路,电路如下图2-5所示:

图2-5由220V输出5V的电源电路

2.7功率输出模块

磁控管是微波电子管的一种,通常作为微波能发生器。

它的阴极电压可达到3KV以上,工作频率2KMHz,阳极电流为300mA-1200mA,它的工作状态,不能直接控制,而高压是通过变压器得到,所以由此可以得出,要控制磁控管的工作状态,可以间接控制变压器初级绕组的供电状态。

为使单片机可以控制磁控管,通过单片机的一个引脚输出信号,去控制继电器的导通与关断,但是需要一个驱动电路,所以用到了三极管PNP,为防止继电器由导通到关断时产生的过电流对电路造成危害,所以和继电器并联一个反向二极管。

由于磁控管需要的电压很高,这里不予画出,只是通过继电器控制电路的开通与关断。

实际仿真中,用灯泡代替,可以看到电路通断的切换状态,如果应用到实际中,灯泡就可以用变压器替换。

电路原理图如下图2-6所示:

图2-6功率输出电路

 

第三章系统软件设计和仿真

3.1keil和proteus软件

KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。

Keil提供了包括C编译器、宏汇编、链接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(μVision)将这些部分组合在一起。

运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。

如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍。

Proteus软件是英国LabCenterElectronics公司出版的EDA工具软件(该软件中国总代理为广州风标电子技术有限公司)。

它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。

它是目前比较好的仿真单片机及外围器件的工具。

虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。

Proteus是英国著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。

是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、AVR、ARM、8086和MSP430等,2010年又增加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。

在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。

 

3.2系统软件编辑流程图

图3-1程序流程

3.3系统程序调试

3.3.1显示模块调试

烹饪计时为减法计数,最大计时时间为99:

99。

显示部分采用四位八段数码管一个和一位八段数码管一个。

四位七段数码管用来显示工作时间,格式为(分_十位、分_个位、秒_十位、秒_个位)。

一位七段数码管用来显示火力档位,档位分为(1-3)档,时间显示用到两个锁存器,共用一个输出口P0,分时复用,一个锁存器用来锁存“位”,一个锁存器用来锁存“段码”,数码管就可以稳定显示。

档位显示单独用P3口输出数据。

数码管均采用共阴数码管,设计一个数组dis[]来表示分的十位,分的个位,秒的十位,秒的个位,在通过循环程序显示,其程序如下:

/*------------------------

时间变换为每个显示位

--------------------------*/

voidtime_converter()

{

dis[0]=count_s/600;//取分的十位

dis[1]=(count_s/60)%10;//取分的个位

dis[2]=(count_s%60)/10;//取秒的十位

dis[3]=(count_s%60)%10;//取秒的个位

}

/*------------------------

显示函数

--------------------------*/

voiddisplay()

{

uchart;

uchark;

for(k=0;k<4;k++)//LED显示

{

wei=1;

P0=codecho[k];

wei=0;

P0=0xff;

delay_ms

(1);

duan=1;

P0=codevalue[dis[k]];

duan=0;

P0=0xff;

delay_ms

(1);

}

P3=codevalue[pv];//显示档位*/

while(!

P24)//按键测试

{

for(t=0;t<4;t++)

{

wei=1;

P0=codecho[t];

wei=0;

P0=0xff;

delay_ms

(1);

duan=1;

P0=codevalue[10];

duan=0;

P0=0xff;

delay_ms

(1);

P3=codevalue[10];

}

}

}

仿真图如下图3-2所示:

图3-2显示模块仿真

3.3.2定时模块

采用单片机内部定时器,用两个定时器T0,T1,T0用来倒计时微波炉的时间,用方式一定时50ms,用一个循环20次,就是定时1s,设定此致为TH0=0x3c,TL0=0xaf。

T1用来定时火力的大小,用方式一,用来定时加热和冷却,初值TH0=0x3c,TL0=0xaf。

程序如下所示:

/*------------------------

定时器初始化

--------------------------*/

voidt_clr()

{

EA=1;//CPU开中断

ET0=1;

ET1=1;//定时器中断允许

TMOD=0X11;//定时器T1、T0定时方式一

TH0=0X3c;

TL0=0Xaf;

//6M晶振,65536-155367=50000,50000*20=1000000us=1s

TH1=0X3c;

TL1=0X0af;

}

/*------------------------

定时器T1中断

--------------------------*/

voidt1()interrupt3

{

TR1=0;

TH1=0X3c;

TL1=0X0af;

TR1=1;

if(pv_j!

=0)//需要加热

{cyc1--;

if(cyc1==0)

{cyc1=20;

pv_j--;

if(pv_j==0)//加热时间到

{

P22=1;//否则,停止加热,进入冷却阶段

}

}

}

elseif(pv_l!

=0)//是否需要冷却

{cyc1--;

if(cyc1==0)

{cyc1=20;

pv_l--;

if(pv_l==0)//冷却时间到

{

P22=0;//进行加热

pv_j=pv*6+6;}//再次设定加热时间

}

}

}

3.3.3按键扫描模块

通常的按键所用开关为机械弹性开关。

由于机械触电的弹性作用,按键在闭合及断开的瞬间均伴随有一连串的抖动。

键抖动会引起一次按键被误读多次。

为了确保CPU对键的一次闭合仅作一次处理,必须去除抖动。

消除抖动的方法有硬件和软件两种方法。

硬件方法常用RS触发器电路。

软件方法是当检测出键闭合后执行一个10ms~20ms的延时程序,再一次检测键的状态,如仍保持闭合状态,则确认真正有键按下。

这里用程序延时的方法消除抖动,并对按键进行编辑,程序如下:

/*------------------------

键盘扫描函数

--------------------------*/

voidkey_scan()

{

if(!

P10)

{

delay_ms(70);

if(!

P10)

count_s+=30;//时间+30秒

if(count_s>6000)

count_s=0;

}

if(!

P11)

{

delay_ms(70);

if(!

P11)

count_s+=60;//时间+1分

if(count_s>6000)

count_s=0;

}

if(!

P12)

{

delay_ms(70);

if(!

P12)

count_s+=300;//时间+5分

if(count_s>6000)

count_s=0;

}

if(!

P13)

{

delay_ms(70);

if(!

P13)

count_s=0;//时间清零

}

if(!

P14)

{

delay_ms(70);

if(!

P14)

{if(pv<3)

pv++;//档位+1

pv_j=pv*6+6;//加热时间

pv_l=30-pv_j;//冷却时间

}

}

if(!

P15)

{

delay_ms(70);

if(!

P15)

{if(pv>0)

pv--;//档位-1

pv_j=pv*6+6;

pv_l=30-pv_j;

}

}

if(!

P16)

{

delay_ms(70);

if(!

P16)

{

P22=1;

if(count_s==0)//如果没有设定时间,不加热,定时器不工作

{TR0=0;

TR1=0;}

else//如果已经设定时间,则开始计时,开始加热

{

pv_j=6*pv+6;

pv_l=30-pv_j;

t_clr();

TR0=1;

TR1=1;

P22=0;}

}

}

if(!

P17)//停止加热,终止定时器

{

delay_ms(70);

if(!

P17)

{P22=1;

P23=0;

TR0=0;

TR1=0;

}

}

}

仿真图形如下图3-3所示:

图3-3按键仿真电路

 

第4章总结

在调试过程中,主要的问题不是电路的问题,而是程序的问题。

问题主要在微波炉驱动和显示模块和按键模块方面。

驱动问题:

在驱动的时候,软件中,只需要给相应端口一个电平,驱动继电器的时候,需要考虑电压和电流,驱动电压为5V,电流为100mA左右。

显示问题:

显示的时候,先要确定位,通过锁存器确定。

然后确定输出的具体数值,由另一个锁存器锁存。

开始的时候,由于程序的问题,显示会不完整,并且出现显示错位的问题。

后来,通过在显示程序里加入一定的延时,让七段数码管有一定时间来调整,避免了锁存混乱的情况,最终显示趋于稳定和正确。

按键问题:

按键是人机交互的关键,主要涉及识别和去抖动。

如果没有加入延时去抖动,会出现按一下动作多次的问题。

这次课程设计让我感受颇深,首先在刚拿到这个设计要求时,很是束手无策,但是通过老师悉心指导后,一次一次的翻阅参考资料,一次一次的捉摸,终于在和搭档的努力下,完成了这次课程设计。

在设计的过程中,同学提出好的建议是我意识到学习贵在交流,只有在交流中才能提升自己,才能丰富自己的只是,只有在交流的过程中,才能产生多心的火花新的思想。

要完成设计,必须做到一丝不苟,对各个部位的电路图都要检查,无比达到完美,因为电子方面只要出现一点小错误都会导致整体的瘫痪,因此不能粗心大意。

在设计的过程中,我知道了做任何事情都要以严谨的态度对待,找个课程设计我有了能够综合运用所学知识的机会,让我的动手能力,逻辑思维能力得到了相应的锻炼。

也让我学习有了新的理解。

作为当代大学生,我明白了,我们应该多多加强动手能力的训练,正所谓:

实践出真知。

理论和实践是不可分的整体!

 

附录

参考文献

[1]张毅刚、彭喜元、董继成.单片机原理及应用[M].北京:

高等教育出版社,2003年12月

[2]袁庆辉曹卫芳.基于单片机的可编程微波炉控制器系统设计[J].工业控制计机,2008(4)

[3]王小利.可编程微波炉控制器系统设计[J].实验室研究与探索,2009

(1)

[4]李亚.微波炉控制器的设计与分析[J].中国科技博览,2010(30)

[5]公茂法、马宝甫编著单片机人机接口实例集北京航空航天出版社1998

[6]李广弟等单片机原理机应用北京航空航天大学出版社,2003

[7]李华MCS-51系列单片机使用接口技术。

北京航空航天大学出版社,1990

[8]何立民单片机应用系统设计。

北京航空航天大学出版社,1993

 

原理图:

 

 

仿真图:

程序:

#include

#defineuintunsignedint

#defineucharunsignedchar

uintdis[]={0x00,0x00,0

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1