基于单片机的微波炉控制系统方案

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

word专业整理学习资料整理分享江西科技师范大学大学生科研、创新性实验项目设计方案第一稿项目名称:微波炉控制系统的设计与制作项目负责人:曾光辉专业:电子信息工程所在学院:通信与电子学院指导教师:占华林2012年5月20日word专业整理学习资料整理分享江西科技师范大学教务处1.总体方案本系统由核心元件AT89C51单片机、LCD1602、独立按键、蜂鸣器构成、电机,用来实现数字电子钟、做饭提醒、模拟定时加热功能。主控部分是由单片机和独立按键两部分构成,显示部分是LCD1602显示模块构成,闹铃部分是外接蜂鸣器构成,模拟加热部分是直流电机构成。实现了秒表和数字电子时钟的功能。工作过程中有各种工作状,显示时分秒以及上午和下午的做饭时刻,这些参数都可以校正。P1.0/T21P1.1/T2EX2P1.2/ECI3P1.3/CEX04P1.4/CEX15P1.5/CEX26P1.6/CEX37P1.7/CEX48RST9P3.0/RxD10P3.1/TxD11P3.2/INT012P3.3/INT113P3.4/T014P3.5/T115P3.6/WR16P3.7/RD17XTAL218XTAL119VSS20P2.0/A821P2.1/A922P2.2/A1023P2.3/A1124P2.4/A1225P2.5/A1326P2.6/A1427P2.7/A1528PSEN29ALE/PROG30EA/VPP31P0.7/AD732P0.6/AD633P0.5/AD534P0.4/AD435P0.3/AD336P0.2/AD237P0.1/AD138P0.0/AD039VCC40U1STC89C52VCCVCC12Y110KR233pFC1VCC1KR410uFC333pFC2123456789DB07DB18DB29DB310DB411DB512DB613DB714RS4R/W5EN6Vss1Vdd2Vo3A15K16LCD1LCD1602VCCVCC8R310KR1Q11122Speaker1KR6VCC+1-2BT1Battery12PowerHeader工作模式模式辅助123654PowerSWVCC+5VCC10KR5VCCKEY1KEY2KEY1KEY2RSR/WENRSR/WENRestSWRestSWRestSW10KR5VCCQ21KR7MB1MotorVCC图1微波炉控制系统的整个电路2.基于单片机的数字电子钟系统硬件设计该数字钟工作原理是用一片AT89C51单片机通过编程去控制LCD1602实现的。通过2个开关控制来进行时间的调节以及秒表功能,P2.0(key1)口控制按word专业整理学习资料整理分享键,当系统处于正常时间显示并且按下此键时,可以进入秒表功能和时间功能的切换,此键还可以作为时间和日期以及闹铃的调整位选中键,当系统处于时间显示模式时,按此键可以选中相应的需要调整的位。当系统处于时间显示模式时,P2.1(key2)口控制按键,按此键对相应的选中位进行加,当系统处于处于秒表工作模式时按此键可以控制秒表计时的启动和暂停。其工作流程:1.年月日时分秒显示。通电后LCD自动显示C语言程序设置好的默认时间2.闹钟显示和设定。通电后,A的右边显示的是默认的闹钟时间,通过key1和key2可以设置闹铃时间。3.秒表显示以及启动和暂停以及清零。LCD处于正常显示时间模式下时按下key1释放后可以进入秒表模式,前3次按下key2的功能依次为启动停止清零,每按3次key2为一个轮回。2.1时钟电路模块下图2-1所示为时钟电路原理图,在AT89C51芯片内部有一个高增益反相放大器,其输出端为引脚XTAL2,输入为芯片引脚XTAL1。而在芯片外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容,构成一个稳定的自激振荡电路,电路产生的振荡脉冲经过触发器进行十二分频之后,便成为单片机的时钟信号。图2-1时钟电路原理图word专业整理学习资料整理分享2.2复位电路模块下图2-2所示为复位电路原理图,在单片机的实际应用系统中,除单片机本身需复位以外,外部扩展的I/O接口电路等也需要一个复位,因此需要一个系统的同步复位信号,即单片机复位后,CPU开始工作,外部的电路一定要复位好,以保证CPU有效地对外部电路进行初始化编程。单片机复位的条件是:必须使RST/VPD或RST引脚加上持续两个机器周期(即24个振荡周期)的高电平。电路为上电复位电路,它是利用电容充电来实现的。在接电瞬间,RST端的电位与VCC相同,随着充电电流的减少,RST的电位逐渐降低。只要保证RST为高电平时间大于两个机器周期,就能正常复位。图2-2复位电路原理图2.3LCD1602显示电路模块下图2-3所示为LCD1602显示模块电路原理图word专业整理学习资料整理分享图4-3显示模块电路原理图2.4按键电路模块下图4-4所示为独立按键模块电路原理图,根据此电子时钟功能要求,需要设置以下两个功能键:工作模式键(key1),模式辅助键(key2)。按照键盘与CPU的连接方式可分为独立键盘和矩阵键盘。独立式键盘是各个按键相互独立,每个按键占用一个I/O口,外加上拉电阻,每个I/O口上的按键不会影响到其他I/O口的按键工作状态。独立式键盘电路配置灵活,软件结构简单,所以本设计采用独立式键盘。图2-4独立按键模块电路原理图word专业整理学习资料整理分享2.5闹铃模块下图4-5所示为闹铃模块电路原理图,闹铃模式时,设定好闹铃时间,闹铃时间有时和分,当设定好的闹铃时间跟系统的当前时间的时和分相等时,系统给P2.2端口送低交替的高低电平,蜂鸣器发出一定频率报警声,一分钟后报警声停止,如果这一分钟内有按键按下则报警声也停止。图2-5闹铃模块电路原理图2.6电机驱动模块下图2-6所示为电机驱动电路原理图,当系统设定好加热的时长之后启动加热责电机转动,剩余的加热时间变为零之后电机停止转动。word专业整理学习资料整理分享图2-6电机驱动电路原理图3软件模块设计介绍AT89C51软件开发环境KeiluVision2,怎样新建一个工程以完成自己的设计和调试。这里不是Keil开发环境的详细使用手册,关于Keil的详细说明文档请浏览Keil软件的帮助文档。3.1建立一个新工程点击Project菜单,选择GreateNewProject...如图11图5建立一个新工程弹出图12建立新工程对话框,文件名框中输入工程名字,保存类型选择.uv2,点击保存。word专业整理学习资料整理分享图6选择工程类型点击保存之后便出现芯片的选择框。图7选择芯片型号点击确定之后出现下面的对话框。图8汇编启动代码word专业整理学习资料整理分享本系统采用C语言编程,所以选择否,出现窗口中的工程。图8工作区窗口中的工程图9保存工作区3.2添加文件或新建程序文件选中SourceGroup1后出现下面选项。word专业整理学习资料整理分享图10添加源文件点击AddFilestoGroup“SourceGroup1”。图11向工程中添加源文件新建一个微波炉控制文件夹,将文件名改为微波炉控制.c后保存到微波炉控制文件夹下。按照前面添加文件的方法将微波炉控制.c添加到当前工程里。完成的结果如下图图12添加程序文件后的工程word专业整理学习资料整理分享4系统调试4.1硬件调试用万用表检测电路板各线路是否导通,用示波器检测信号是否正常。4.2软件调试4.2.1进入软件调试打开用Protues7.8画好的仿真图图13画好仿真图4.2.2加载HEX文件在Protues中双击AT89C51出现下面的对话框,找到HEX文件路径选中文件之后点击OK键回到之前的界面。word专业整理学习资料整理分享图14加载HEX文件点击左下方的按钮则启动仿真图15启动仿真默认做饭提醒时间为上午11点整和下午6点整,默认时间为12点整word专业整理学习资料整理分享图16启动仿真后按下工作模式键(key1)后显示要加热的时间长短,可以通过模式辅助键(key2)来调整,最长可以调整到60分钟word专业整理学习资料整理分享图17默认的加热时间通过按模式辅助键(key2)后调整为1分钟加热时间word专业整理学习资料整理分享图18调整后的加热时间再次按工作模式按键后显示当前剩余的加热时间,此时并未倒计时,也没有启动加热word专业整理学习资料整理分享图19显示启动加热前剩余的加热时间按下模式辅助键之后启动加热,电机转动,开始到计时,若在加热过程中按下模式辅助键则可以停止加热。图20启动加热后的当前剩余加热时间4.2系统联调对整个系统联调时,将每一部分代码与相关实现的硬件联合到一起进行调试,对于哪一部分出了问题就修改哪一部分。这样保证在综合调试的时候,顺利查找错误,找到问题点。5.系统性能测试一个工作的开发系统下图所示:word专业整理学习资料整理分享在此处添加实物调试图附录:源代码:/**********************************************************项目:基于单片机微波炉控制系统============================================word专业整理学习资料整理分享描述:系统采用12MHz晶振,以STC89C52为核心外接lcd1602显示和两个独立按键以及蜂鸣器响铃、电机驱动。实现时钟功能以做饭提醒功能(系统时钟采用24小时制),系统上电后显示默认的时分秒以及做饭时间设置(上午11点和下午6点,闹铃的响铃时间为1分钟),通过key1和key2可以对万年历以及闹铃设置进行调整以及秒表的启动暂停以及清零,在没有光标显示时间的模式下前6每次按下key2依次会选中(光标闪烁)pm_alarm_minute,pm_alarm_hour,amm_alarm_minute,amm_alarm_hour,hour,minute,在光标闪烁的时候每次按下key2可以对相应选中位进行校正。按下key1在设置微波炉加热时间的模式下,前60次按下key2加1,60次之微波炉加热时间清零按下key1后系统显示当前定好的时间,再按下key2则启动加热作者:曾光辉日期:2012年5月7号**********************************************************/#includereg52.h//系统头文件#definedata_busP0//lcd数据总线word专业整理学习资料整理分享#defineWDATA1//rs=WDATA时写入数据#defineWCMD0//rs=WCMD时写入命令#defineKEYP2//按键端口#definekey_shake_time2//键盘消抖时间sbitrs=P2^5;//lcd数据指令选择端,高data低cmdsbitrw=P2^6;//lcd读写选择端,高读低写sbiten=P2^7;//lcd信号加载端,下降沿有效sbitkey1=P2^0;//被拉低说明有键按下sbitkey2=P2^1;//被拉低说明有键按下sbitfm=P2^2;//蜂鸣器sbitmotor=P2^3;//电机端口unsignedcharshift_flag;//切换显示标志unsignedcharmodel_flag;//模式转换标志unsignedcharstart_flag;//做饭启停标志unsignedchartime_change_flag;//时间调整标志位unsignedcharkey_value;//键值unsignedchart0,t1;//系统时间计时变量和键盘消痘时间计时变量word专业整理学习资料整理分享unsignedcharstart_t1;//做饭启动后倒计时计数变量structTIM{unsignedcharhour;//时unsignedcharminute;//分unsignedcharsecond;//秒unsignedcharam_alarm_hour;//上午做饭闹铃时unsigne

1 / 49
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功