电气与电子信息工程学院《单片机》课程设计报告题目:微波炉控制系统专业班级:学号:201姓名:指导教师:胡蔷、汤立刚设计时间:2013年12月23日—2013年12月27日设计地点:K2-407单片机、微机原理实验室2013年11月20日单片机课程设计成绩评定表答辩或质疑记录:记录:1、微波炉控制系统的火力档位在仿真过程中,是有三个不同的发光二极管来控制,并没有热传感器来连接,因为是仿真所以无法做出效果来。2、开关键控制显示屏,使其启动至用户状态。可以关闭显示屏以及工作灯,但是并不能控制加热中的微波炉停止。问题:1、为什么使用矩阵式键盘?答:本次设计采用了多个按钮,如果使用独立式键盘,将占用大量的I/O口资源,所以我们采用4×4矩阵式键盘,这样可以节省大量的I/O口资源。2、为什么要使用MAX7221这个芯片?答:可以很方便地和单片机相连,未经扩展最多可用于8位数码显示或64段码显示。经实际使用发现,该芯片具有占用单片机I/O口少(仅三线)。成绩评定依据:课程设计考勤情况(5%):课程设计仿真测试情况(15%)课程设计答辩情况(30%):完成设计任务及报告规范性(50%):最终评定成绩(以优、良、中、及格、不及格评定)指导教师签字:2013年12月日课程设计任务书2013~2014学年第1学期专业班级:指导教师:胡蔷汤立刚工作部门:电气与电子信息工程学院电气自动化教研室一、课程设计题目单片机课程设计二、课程设计内容(含技术指标)1.设计目的及要求(1)根据具体设计课题的技术指标和给定条件,以单片机为核心器件,能独立而正确地进行方案论证和电路设计,完成仿真操作。要求概念清楚、方案合理、方法正确、步骤完整;(2)熟悉、掌握各种外围接口电路芯片的工作原理和控制方法;(3)熟练使用单片机汇编语言或C51进行软件设计;(4)熟练使用Proteus、Keil软件进行仿真电路测试;(5)熟练使用Protel软件设计印刷电路板;(6)学会查阅有关参考资料和手册,并能正确选择有关元器件和参数;(7)编写设计说明书,参考毕业设计论文格式撰写设计报告。2.设计内容(题目名称:微波炉控制系统)本课题主要是对家用微波炉控制系统的研究,确定系统的整体方案,编写程序来实现微波炉控制的基本功能。微波炉控制系统设计是以AT89C51单片机为核心的。系统具体包含显示电路,键盘电路,计时控制电路,火力输出电路,响铃提示电路等多个部分。设计制作一个微波炉控制器电路,具有三档微波加热功能,分别表示微波加热为大火、中火、小火,模拟仿真中用不同颜色发光二极管模拟。实现工作步骤:复位待机——〉检测显示电路——〉设置输出功能和定时器初值——〉启动定时和工作开始——〉结束加热、音响提示。按键启动时间设置,最大预设数为23小时59分59秒。设定时间初值后,按档位选择键,启动相应的微波加热;另一方面使计时电路以秒为单位作倒计时。当计时到时间小于20s,给出声音提示,即扬声器输出提示音。三、课程设计考核办法与成绩评定根据过程、报告、答辩等确定设计成绩,成绩分优、良、中、及格、不及格五等。2013年月日第一章控制系统总述一.工作原理1.系统框图一般的家用微波炉操作流程都包括定时、档位选择、启动等。所以微波炉工作大致可以四个步骤:系统待机——用户时间、档位、火力设置——系统工作——完成、提示。系统框图2.系统功能实现系统启动时,8位数码管显示零时、零分、零秒,即00-00-01。火力输出档位通过三个不同颜色的发光二极管显示(分别表示大火、小火、中火)。键盘分按键K0,K1,K2,K3,K4,K5,K6,RESET八个按键(RESET复位键采用独立式键盘)。K0键为微波炉的启动与关闭。K1、K2、K3键为档位选择键,分别代表大火、中火、小火,选择后相应的发光二极管会发亮。K4键为时、分、秒设定选择键。K5、K6键分别为时间的加减设定。RESET为复位键。每次按下按键后系统都会启动音响发生模块发出“嘀”的声音。选择合适的档位,微波炉启动数码管开始倒计时,当倒计时到软件程序设定的固定时间(20s)会进行倒计时提醒,此时会发出提示声音。工作状态档位设置用户设置系统待机系统上电时间设定系统复位按K0启动初始时间为00-00-01K1、K2、K3分别代表大、中、小Reset复位K4、K5(+)K6(-)系统待机用户设定开始加热完成、提示3.控制电路设计微波炉控制系统以AT89C51单片机为核心,通过外接设备进行微波炉的显示、火力输出、定时设计,来完成系统设计的要求。系统的总体框图控制电路设计部分以AT89C51单片机控制电路为核心,由定时器电路,显示电路,键盘电路,门电路,电源电路,音响发声电路,火力输出电路,档位显示电路共同组成微波炉控制系统电路,在本设计中,我们对火力输出电路原理只作解释,不作硬件电路的设计。第二章方案论证1.档位输出方案方案一:我们可以通过扩展芯片对单片机的I/O口进行扩展,将单片机的一个I/O端口扩展成三个输出端口以便节省单片机的I/O口资源。方案二:直接利用单片机的三个I/O口进行档位控制。I/OI/OI/O方案一方案二结论:鉴于单片机含有丰富的I/O口资源,所以我们采用方案二,无须扩展。2.计时控制方案方案一:使用专门的时钟芯片控制,我们可以采用专门的时钟控制芯片能够保证高精度、操作简单等,能够实现单片机的准点定时控制。内部定时器矩阵键盘电路音响发生电路电源电路8位数码管显示电路火力输出电路门电路设计档位显示电路单片机单片机扩展芯片单片机方案二:AT89C51单片机内部就含有定时器,我们可以使用一个定时器和计数器结合,加上12M晶振的驱动,实现定时、计数控制。结论:我们采用方案二,单片机灵活性高,方案二节省器件,使电路简化,有很高的性价比,对于计时的精度我们可以通过软件设计来弥补调整。3.键盘设计方案方案一:独立式键盘,每个独立按键单独占有一根I/O接口线,每个I/O口的工作状态互不影响,此类键盘采用端口直接扫描方式。缺点是当按键较多时占用单片机的I/O数目较多,优点是电路设计简单,且编程极其容易。在按键不多的情况下我们可以采用独立式键盘。独立式键盘如图3.3.1。方案二:4×4矩阵式键盘,此类键盘是采用行列扫描方式,优点是当按键较多时可以降低占用单片机的I/O口数目,节省单片机的I/O口资源。结论:我们采用方案二,因为本次设计采用了多个按钮,如果使用独立式键盘,将占用大量的I/O口资源,所以我们采用4×4矩阵式键盘,这样可以节省大量的I/O口资源。矩阵式键盘。独立式键盘矩阵式键盘4.显示设计方案方案一:采用数码管显示,数码经济适用,只需简单的驱动芯片,即可驱动显示,但是信息量少。方案二:采用液晶显示,某些液晶显示器具有汉字显示功能,用液晶来实现显示功能,不仅可以实现基本的显示信息,而且可以显示丰富的符号指示信息以及文字指示信息,如AM/PM,闹钟符号等,信息量丰富且直观易懂。而且液晶显示有功耗低,体积小,重量轻,寿命长,绿色环保等优点。结论:根据设计要求,我们只需实现定时显示,只要能显示时间即可,信息量少,只需显示时、分、秒。所以我们采用8位数码管进行显示,完全能够达到设计要求。5.火力输出方案根据设计要求,只需设计高、中、低三档功能,无需多档位控制。只需输出大火、中火、小火三档火力。因此,我们只需模拟出三档火力即可。我们通过三种不同颜色的发光二极管即可达到设计要求。6.响铃提示方案我们可以使用单片机的一个I/O端口,然后接上扬声器,通过软件方式,修改延时、周期,来达到响铃提示的效果。7.方案确定经过比较和分析,得出了较理想的方案:(1)计时单元由软件编程来实现。定时采用单片机内部定时器来实现,即通过单片机内部定时器产生中断,再通过软件编程实现进行计数,从而实现时、分、秒的倒计时。(2)时间显示采用8位LED数码管显示时、分和秒。档位显示采用3个不同颜色的发光二极管显示,分别表示大火、中火、小火三档火力。(3)键盘采用单片机4×4矩阵式键盘,端口输入电平,通过单片机扫描相应端口电平来判断按键的抬起与按下。(4)响铃提示直接由单片机控制输出,连接在扬声器在电阻上叠加推动扬声器发声。第三章硬件设计1.微波炉控制系统仿真硬件原理图时钟电路:AT89C51系列单片机的内部振荡器,由一个单极反相器组成。我们一般采用12M的晶振,因为一个机器周期为1/12时钟周期,所以这样用12M的话,一个时钟周期为12us那么定时器计一次数就是1us。时钟电路内部结构图复位电路:复位电路的基本功能是:系统上电时提供复位信号,直至系统电源稳定后,撤销复位信号。为可靠起见,电源稳定后还要经一定的延时才撤销复位信号,以防电源开关或电源插头分-合过程中引起的抖动而影响复位。2.键盘电路设计在按键设计中,为了满足设计的要求,需要使用的按键较多所以我们采用4×4矩阵式键盘,矩阵式键盘比较节省单片机的I/O的资源。键盘的接口分别连入单片机I/O接口的P0.0,P0.1,P0.2,P0.3,P0.4,P0.5,P0.6,P0.7。通过单片机内部判断这些I/O接口来确定按键是否被按下。Key05、Key06、Key07、Key08通过一个与门接到P3.2接口,这样可以通过P3.2口来判断有没有按键被按下。通过特定的扫描程序对键盘进行扫描。P3.2接口为中断0接口,也可用此端口进行中断操作。为了防止电路出现异常而无法控制特设计了一个复位按键。矩阵式键盘电路3.档位显示电路设计档位显示模块是由三个发光二极管显示,分别代表“大火”、“中火”、“小火”三个火力档位,直接将发光二极管通过三极管接至单片机I/O接口通过单片机发送低电平使发光二极管发光,用来模拟三个档位输出。具体电路设计如图。档位显示电路设计注:以上火力输出电路LED1、LED2、LED3分别代表大火、中火、小火,在研究中我们将采用不同颜色的发光二极管分别代表大火、中火、小火进行模拟仿真。4.显示电路设计根据前面章节的分析与方案选择,我们只需实现定时显示,只要能显示时间即可,信息量少,只需显示时、分、秒。所以我们采用8位数码管进行显示,完全能够达到设计要求,我们选择MAX7221作为8位LED驱动芯片。5.数码管我们采用数码管动态驱动。动态驱动是将所有数码管的8个显示笔划a,b,c,d,e,f,g,dp的同名端连在一起,另外为每个数码管的公共极COM增加位选通控制电路,位选通由各自独立的I/O线控制,当单片机输出字形码时,所有数码管都接收到相同的字形码,但究竟是那个数码管会显示出字形,取决于单片机对位选通COM端电路的控制,所以我们只要将需要显示的数码管的选通控制打开,该位就显示出字形,没有选通的数码管就不会亮。通过分时轮流控制各个数码管的COM端,就使各个数码管轮流受控显示,这就是动态驱动。在轮流显示过程中,每位数码管的点亮时间为1~2ms,由于人的视觉暂留现象及发光二极管的余辉效应,尽管实际上各位数码管并非同时点亮,但只要扫描的速度足够快,给人的印象就是一组稳定的显示数据,不会有闪烁感,动态显示的效果和静态显示是一样的,能节省大量的I/O端口,而且功耗更低。AT89C51单片机的P2.0、P2.1、P2.2分别接MAX7221的DIN、CS、CLK引脚。显示电路6.响铃、提示电路设计在微处理器的发声装置成为蜂鸣器(buzzer)。一般来说,蜂鸣器就是小型喇叭(speaker),也是一种电感性负载。单片机驱动蜂鸣器的信号为各频率的脉冲。7.蜂鸣器发声原理蜂鸣器的声音是由蜂鸣器的振动产生的。蜂鸣器就像一个电磁铁,电流经过它即可产生磁性,这样蜂鸣器里发生的膜片将被吸住;电流消失时,膜片将被放开。若要产生频率为f的脉冲,则需要在T时间内进行吸放各一次,换言之,产生磁性、消除此磁性的时间各位T/2,称为半周期。响铃、提示电路8.火力大小输出设计微波炉的火力大小是由内部功率调节器设定的。功率调节器也由定时器所用的同一电机驱动。实际工作时,当设定好功率值后,功率调节器便控制磁控管工作一段时间再休止一段时间,并按一定周期不断循环这个过程,直至微波炉工作结束