单片机应用实践微波炉控制设计.docx
《单片机应用实践微波炉控制设计.docx》由会员分享,可在线阅读,更多相关《单片机应用实践微波炉控制设计.docx(18页珍藏版)》请在冰豆网上搜索。
单片机应用实践微波炉控制设计
第1章概述
本设计除了需要计算机,还会用到三款软件:
作图软件Protel99SE、仿真软件Proteus、编程软件KeiluVision4。
关于这三种软件的简介如表1所示。
Proteus软件是一种低投资的电子设计自动化软件,提供可仿真数字和模拟、交流和直流等数千种元器件和多达30多个元件库。
Proteus软件提供多种现实存在的虚拟仪器仪表。
此外,Proteus还提供图形显示功能,可以将线路上变化的信号,以图形的方式实时地显示出来。
这些虚拟仪器仪表具有理想的参数指标,例如极高的输入阻抗、极低的输出阻抗,尽可能减少仪器对测量结果的影响,Proteus软件提供丰富的测试信号用于电路的测试。
这些测试信号包括模拟信号和数字信号。
提供SchematicDrawing、SPICE仿真与PCB设计功能,同时可以仿真单片机和周边设备,可以仿真51系列、AVR、PIC等常用的MCU,并提供周边设备的仿真,例如373、led、示波器等。
Proteus提供了大量的元件库,有RAM、ROM、键盘、马达、LED、LCD、AD/DA、部分SPI器件、部分IIC器件,编译方面支持Keil和MPLAB等编译器。
一台计算机、一套电子仿真软件,在加上一本虚拟实验教程,就可相当于一个设备先进的实验室。
以虚代实、以软代硬,就建立一个完善的虚拟实验室。
在计算机上学习电工基础,模拟电路、数字电路、单片机应用系统等课程,并进行电路设计、仿真、调试等。
最新的KeiluVision4IDE,旨在提高开发人员的生产力,实现更快,更有效的程序开发。
uVision4引入了灵活的窗口管理系统,能够拖放到视图内的任何地方,包括支持多显示器窗口。
uVision4在μVision3IDE的基础上,增加了更多大众化的功能。
多显示器和灵活的窗口管理系统。
系统浏览器窗口的显示设备外设寄存器信息调试还原视图创建并保存多个调试窗口布局,多项目工作区简化与众多的项目。
第2章设计要求
本设计主要是用STC89C52单片机为核心控制元件,设计一个微波炉控制器电路。
以单片机作为主控核心,与键盘、扬声器等模块组成核心主控制模块,在主控模块上设有8个按键和1个复位按键。
本系统具有三档微波加热功能,分别表示微波加热为大火、中火、小火,模拟仿真中用不同颜色LED模拟。
具有2位时间预置电路,按键启动时间设置,最大预设数为60秒。
设定时间初值后,按档位选择键,启动相应的微波加热;另一方面使计时电路以秒为单位作倒计时。
当计时到0时扬声器输出提示音,直到结束。
具体要求:
1、可设置三种最高温度值,如低温(20°),中温(30°),高温(50°);
2、可设置时间定时(例如设置10秒,30秒,60秒定时);
3、用DS18B20感知温度,当温度达到设置温度值,并持续设定时间长度时,
蜂鸣器报警提示,LED灯闪烁,同时时间归零。
第3章系统设计方案
3.1系统总体设计
本系统采用STC89C52为主控芯片,因其精度较高,操作比较灵活,输入电路和输出电路由芯片来进行处理,电路的系统的稳定性高,功耗小。
其中,输入电路有2个独立按键,通过按键随意按下所要表达的数值,作为电平送给主体电路,中央处理器通过识别,并控制数码管显示相应的操作,这样既节省了成本了,又降低了编程难度。
如图1所示基于单片机STC89C52的微波炉控制电路,它主要由键盘控制电路、时钟复位电路、LED显示电路、音频提示电路所构成。
图1
第4章系统硬件设计
基于单片机AT89C51的微波炉控制电路由键盘控制电路、温度设置、LED显示电路、温度传感电路、音频提示电路、时钟-复位电路所构成。
4.1键盘控制电路
键盘控制电路作为人机联系的输入部分,也是间接控制数码显示的重要组成部分。
键盘按照连接方式可以分为独立式和矩阵式键盘两类。
本按键采用独立式按键。
图2矩阵键盘电路
4.2数码管显示电路
静态显示方式即无论多少位LED数码管,同时处于显示状态。
各位的共阴极(或共阳极)连接在一起并接地(或接+5V);每位的段码线(a~dp)分别与一个8位的I/O口锁存器输出相连。
如果送往各个LED数码管所显示字符的段码一经确定,则相应I/O口锁存器锁存的段码输出将维持不变,直到送入另一个字符的段码为止。
4.2.1LED数码管静态显示
图3数码管显示电路
由此可知:
静态显示方式的显示无闪烁,亮度都较高,软件控制比较容易。
另外,在显示位数较多的情况下,所需的电流比较大,对电源的要求也就随之增高,这时一般都采用动态显示方式。
4.2.2数码管动态显示
静态显示方式就是无论在任何时刻只有一个LED数码管处于显示状态,即单片机采用“扫描”方式控制各个数码管轮流显示。
在多位LED显示时,为简化硬件电路,通常将所有显示位的段码线的相应段并联在一起,由一个8位I/O口控制,而各位的共阳极或共阴极分别由相应的I/O线控制,形成各位的分时选通。
如图3所示为四位七段数码管动态显示电路。
动态显示的优点是硬件电路简单,显示器越多,优势越明显。
缺点是显示亮度不如静态显示的亮度高。
如果“扫描”速率较低,会出现闪烁现象。
4.2.3方案比较
对于以上两种数码管驱动电路的的优缺点比较如表4所示。
由于静态驱动方式的显示无闪烁,亮度较高,编程简单,加上本次设计的数码管显示电路只需要2个数码管,故选择静态驱动方式来显示数码管更为合理。
如图3所示为数码管显示电路,采用静态驱动方式和共阳极接法,满足本次设计要求。
4.3音频提示电路
当计时时间小于10s时,单片机控制扬声器输出提示音,直到微波炉停止加热为止。
如图4所示音频提示电路,单片机控制引脚输出高电平,三极管导通,扬声器发出声音,在断电或单片机控制引脚拉低时,可以保护三极管免受电流过大的影响。
图4音频提示电路
4.4时钟电路
时钟频率直接影响单片机的速度,时钟电路的质量也直接影响单片机系统的稳定性。
常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。
STC89C52内部有一个用于构成振荡器的高增益反相放大器,输入端为芯片引脚XTAL1,输出端为引脚XTAL2。
这两个引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,图5是STC89C52内部时钟方式的电路,C1和C2的典型值通常选择为30pF,石英晶体常选6MHz或12MHz的。
本设计采用内部时钟方式做时钟电路。
图5时钟电路
4.4复位电路
单片机的初始化操作,给复位脚RST加上大于2个机器周期(即24个时钟振荡周期)的高电平就使STC89C52复位。
这些操作都是由复位电路来实现。
在单片机的实用系统中,一般有两种复位操作形式:
上电复位和手动复位。
上电复位在单片机系统每次通电时执行。
上电时,电容C充电加给RST引脚一个短的高电平信号,此信号随着VCC对电容C的充电过程而逐渐回落,即RST引脚上的高电平持续时间取决于电容C充电时间。
为保证系统可靠复位,RST引脚上的高电平必须维持足够长的时间。
手动复位在系统出现操作错误或程序运行出错时使用。
在单片机系统运行过程中,按下复位键,高电平输入RST引脚,单片机被强制执行复位操作,系统可以退出错误运行状态,恢复正常工作。
由于本设计的需要,同时采用这两种复位方式,如图6所示复位电路。
图6复位电路
4.5DS18B20电路
图7测温电路
4.6整体电路
基于单片机STC89C52的微波炉控制电路由键盘控制电路、炉门检测电路、LED显示电路、火力输出控制电路、音频提示电路、时钟-复位电路和电源电路七部分所构成。
音频提示电路会在归零时播放音调进行提示;电源电路为整个电路提供能源。
整体电路图如图8。
图8整体电路
图9工作流程图
第5章单片机程序
5.1变量申明
5.2DS18B20程序
温度传感器感应外界温度,并送数码管显示。
当外界温度达到设置的温度时,开始倒计时。
5.3温度设置程序
用按键设置初始温度默认初始温度为20摄氏度,当检测到按键按下一次时温度门限值变为30摄氏度,当检测到按键按下两次时温度门限值变为50摄氏度。
5.4音频报警程序
当实际温度达到所设置的(加热)的温度时,开始倒计时。
倒计时到0是蜂鸣器报警、发光二极管闪烁。
5.5温度设置程序
用按键设置微波炉的加热时间(本程序为方便实现只设置了加热10秒、30秒、60秒),默认定时时间是10秒,按键按下一次变为定时30秒,检测到按键再一次按下定时变为60秒,待按键第三次按下定时又回到10秒。
5.6归零报警程序
倒计时归零时,音乐芯片播放音乐,LED灯闪烁。
第6章系统调试
由于没有硬件设备,所以无法进行硬件调试,但这并不妨碍软件调试。
利用仿真软件Proteus和编程软件KeiluVision4进行调试程序。
6.1调试工具
Proteus软件是英国LabcenterElectronics公司研发的EDA工具软件。
它是一个集模拟电路、数字电路、模/数混合电路以及多种微控制器系统为一体的系统设计和仿真平台。
是目前同类软件中最先进、最完整的电子类仿真平台之一。
它真正实现了在计算机上完成从原理图、电路分析与仿真、单片机代码调试与仿真、系统测试与功能验证到PCB板生成的完整的电子产品研发过程。
最新的KeiluVision4IDE,旨在提高开发人员的生产力,实现更快,更有效的程序开发。
KeiluVision4引入了灵活的窗口管理系统,能够拖放到视图内的任何地方,包括支持多显示器窗口。
KeiluVision4在KeiluVision3IDE的基础上,增加了更多大众化的功能:
多显示器和灵活的窗口管理系统;系统浏览器窗口的显示设备外设寄存器信息;调试还原视图创建并保存多个调试窗口布局;多项目工作区简化与众多的项目。
6.2设计中的问题及解决方法
微波炉控制的设计并非一帆风顺,在这期间遇到了很多问题,下面谈几个关键的问题。
首先是数码管显示乱码的问题,原本以为是数码管字形码表的代码有错,检查几遍发现代码没错,后来结合硬件图一看,才知道硬件图中数码管是共阳极接法,软件中的数码管字形码表是共阴极的。
其二是按键引入中断检测时遇到的问题,要求8个按键任意键按都触发外部中断0,结果不经思索就选用了一块8输入或门芯片,导致怎么按键盘都无法进入中断函数,于是怀疑是程序有错,浪费了很多时间,最终发现是硬件逻辑错误,应该用与门才对。
其三是扬声器发出的音调不对,甚至没有声音,这个问题主要是功放模块没有与扬声器共地。
第7章实物演示
图10
图11
分析:
采用两个键盘控制系统,按下KEY1,设置温度,按下KEY2确定温度,当DS18B20达到指定稳定以后,LED灯亮,按下KEY1开始设置工作时间,按下KEY2确定时间,数码管开始进行倒计时,当时间归零后,播放天空之城音乐,LED灯开始闪烁,达到报警的效果。
第8章微波炉控制设计总结
微波炉是人类最辉煌发明之一。
传统的微波炉容易产生设定误差,定时不够准确,会造成过快或者过慢,这样会影响食物的美味。
基于单片机的微波炉控制系统设计,改变了传统微波炉时间不明显、定时准、控制零件繁多的局面,所以利用微处理器进行控制,具有很大的应用市场潜力。
本次设计对个人而言,巩固和加深了对单片机的了解,学会将课程中所学的知识应用到实践中,掌握其简单的外围电路设计;通过此次课程设计,从中感悟电子设计的方法,初步掌握简单实用电路的分析方法和工程设计方法;熟悉Proteus、Protel99SE、KeiluVision4这些软件的使用技巧。
基于单片机STC89C52制电路由键盘控制电路、炉门检测电路、LED显示电路、火力输出控制电路、音频提示电路、时钟-复位电路和电源电路七部分所构成。
键盘控制电路采用了独立键盘;而数码管显示电路负责显示当前的火力强度和加热时间;火力输出电路根据预设的参数要求控制磁控管加热;音频提示电路会在倒计时归零时间内播放音调进行提示;电源电路为整个电路提供能源。
微波炉控制的设计并非一帆风顺,在这期间遇到了很多问题,下面谈几个关键的问题。
首先是数码管显示乱码的问题,原本以为是数码管字形码表的代码有错,检查几遍发现代码没错,后来结合硬件图一看,才知道硬件图中数码管是共阳极接法,软件中的数码管字形码表是共阴极的。
其二是扬声器发出的音调不对,甚至没有声音,这个问题主要是功放模块没有与扬声器共地。
通过这次课程设计,感觉收获颇多。
首先硬件方面,基本了解了电子产品的开发流程和所要做的工作,基本掌握了Protel99SE原理图的方法以及怎么利用Proteus进行数字电路仿真。
除此之外,对51系单片机的接口有了更深层次的理解,熟悉了一些单片机常用的外围电路引脚和连接方法,诸如数码管、键盘等等。
在软件方面,通过对外部中断、定时器/计数器、I/O的使用,使得C语言编程能力也有了较大的进步。
参考文献
[1]曾屹,彭楚武.单片机原理与应用(第2版)[M].长沙:
中南大学出版社,2009.
[2]林立.单片机原理及应用——基于Proteus和KeilC[M].北京:
电子工业出版社,2009.
[3]彭伟.单片机C语言程序设计实训100例[M].北京:
电子工业出版社,2009.
[4]顾滨,赵伟军,诸杭.Protel99SE实用教程(第3版)[M].北京:
人民邮电出版社,2013.
[5]王为青,程国刚.单片机KeilCx51应用开发技术.[M].北京:
人民邮电出版社,2007.
[6]袁庆辉,曹卫芳.基于单片机的可编程微波炉控制器系统设计[J].工业控制计算机,2008,(4),93-94.
[7]汪美完.浅谈微波炉工作原理及常见故障的检修技术[J].科技创新与应用,2011,(12),
19.
[8]周润景.Proteus入门实用教程[M].北京:
机械工业出版社,2007.