版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于单片机的微波炉控制系统LGGROUPsystemofficeroom【LGA16H-LGYY-LGUA8Q8-LGA162】目设计方案项目负责人:曾光辉专业:电子信息工程所在学院:通信与电子学院指导教师:占华林2012年5月20日西科技师范大学教务处、做饭提醒、模拟定时加热功能。主控部分是由单片机和独立电机构成。实现了秒表和数字电子时钟的功能。工作过程中有2.基于单片机的数字电子钟系统硬件设计ATC51单片机通过编程去控制LCD1602实现的。通过2个开关控制来进行时间的调节以及秒表功能,(key1)口控制按键,当系统处于正常时,可以进入秒表功能和时间功能的切换,此键还可以作为时间和选中键,当系统处于时间显示模式时,按此键可以选中相应的需LCD1602显示电路模块要调整的位。当系统处于时间显示模式时,(key2)口控制按键,按此键对相应的选中LCDC时间3.秒表显示以及启动和暂停以及清零。LCD处于正常显示时间模式下时按下key1模式,前3次按下key2的功能依次为启动停止清零,每按3次key2为理图,在AT89C51芯片内部有一个高增益反相放大器,其输出端为引稳定的自激振荡电路,电路产生的振荡脉冲经过触发器进行十二分图2-1时钟电路原理图图,在单片机的实际应用系统中,除单片机本身需复位以外,外部IO需要一个复位,因此需要一个系统的同步复位信号,即单片机的条件是:必须使RST/VPD或RST引脚加上持续两个机器周期(即24个振荡周期)的高电平。电路为上电复位电路图2-2复位电路原理图LCD路原理图块电路原理图,根据此电子时钟功能要求,需要设置以下两个功能键key,模式辅助键(key2)。按照键盘与CPU的连接方式可分为独立键盘键盘是各个按键相互独立,每个按键占用一个I/O口,外加上拉电IO键不会影响到其他I/O口的按键工作状态。独立式键盘电路配置灵。图,闹铃模式时,设定好闹铃时间,闹铃时间有时和分,当设,一分钟后报警声停止,如果这一分钟内有按键按下则报警图,当系统设定好加热的时长之后启动加热责电机转动,剩余ATC环境KeilKeil细使用手册,关于Keil的详细说明文档请浏览Keil个新工程文件名框中输入工程名字,保存类型选择.uv2,点击添加文件或新建程序文件GroupSourceGroup文件夹,将文件名改为微波炉控制.c后保存到微波炉控制.c添加到当前工程里。完成的结果如下图HEX件ProtuesATC现下面的对话框,找到HEX文件路径选中文件之后点击O点整和下午6点整,默认时间为12点整按下工作模式键(key1)后显示要加热的时间长短,可以通过模式辅助键(key2)来调分钟通过按模式辅助键(key2)后调整为1分钟加热时间当前剩余的加热时间,此时并未倒计时,也没有启动加热热,电机转动,开始到计时,若在加热过程中按下模式辅助将每一部分代码与相关实现的硬件联合到一起进行调试,对部分。这样保证在综合调试的时候,顺利查找错误,找5.系统性能测试试图**************************************************项目:描述:制系统============================================MHzSTCC核心外接lcd1602显示和两个独立按键做饭时间设置(上午11点和下午6点,闹铃的响keykey历以及闹铃设置进行调整以及秒表的启动暂停以及清的模式下前6每次按下key2依次会选中(光标闪烁)pm_alarm_minutepmalarmhour,ammalarmminuteammalarmhourhourminute闪烁的时候每次按下kekey间的模式下,前60次按下key2加1,60次之微波炉加key的时间,再按下key2则启动加热作者:曾光辉*************************************************/edatabus#defineWDATA1#defineWCMD0P/lcd数据总线sWDATAsWCMDeKEYefinekeyshaketimeP/按键端口lcd,高data低cmdlcd读低写lcd降沿有效按下按下ededededednedflagflagflagchangeflag量和键盘消痘时间计时变量unsignedcharstart_t1;{unsignedunsignedunsignedunsignedunsignedunsignedunsignedcharam_alarm_hour;charam_alarm_minute;charpm_alarm_hour;charpm_alarm_minute;nsignedcharsetupcookingtimensignedcharcookingtimeminutensignedcharcookingtimesecond和闹钟以及秒表{***************************s时计数变量分秒=================i**************************/voiddelay_us(unsignedchari){while(--i);}***************************=================lcd602内的内容*****************************/unsignedcharreadlcd(void){unsignedcharreadvaluex0;valuedatabusrnreadvalue****************************=====================lcd数据或者指令***************************/voidwrite_lcd(unsignedcharvalue,bitdata_cmd){databusxff;//置为输出rsdatacmd//数据指令选择rw//写使能}*********************************************====================MCU到有按键按下后TIMER1延时key_shake_time*10ms再次检测是否按键还是取键值,判断按键是否释放,若释放则对键值处理,返回的返回0********************************************/unsignedcharkeyscanvoid){harvaluehardokeygnedcharkeyscanstep识{keyvalue=0;{{}}iftkeyshaketimeKEYxx03)){valueKEYx03;eykey_scan_step=1;}}ifkeyscanstepKEYxx03)){keyscanstep=0;{casexvalue;break;casexvaluebreakcasexvaluebreakdefaultvalue0;break;}rnvalue}urn}*********************************====================系统的要求对返回的键值做处理********************************/eyprocessvoid{yvalue{aluechangeflag{imechangeflag{{0;}write_lcd(0xCE,WCMD);write_lcd10+'0',WDATA);write_lcd(0xCF,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xCF,WCMD);write_lcd(0x0F,WCMD);}eflag{{0;}write_lcd(0xCB,WCMD);write_lcd10+'0',WDATA);write_lcd(0xCC,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xCC,WCMD);write_lcd(0x0F,WCMD);}geflag{{0;}write_lcd(0xC6,WCMD);write_lcd10+'0',WDATA);write_lcd(0xC7,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xC7,WCMD);write_lcd(0x0F,WCMD);}flag{{0;}write_lcd(0xC3,WCMD);write_lcd10+'0',WDATA);write_lcd(0xC4,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xC4,WCMD);write_lcd(0x0F,WCMD);}geflag{{0;}write_lcd(0x85,WCMD);write_lcd10+'0',WDATA);write_lcd(0x86,WCMD);write_lcd%10+'0',WDATA);write_lcd(0x86,WCMD);write_lcd(0x0F,WCMD);}eflag{{0;}write_lcd(0x88,WCMD);write_lcd10+'0',WDATA);write_lcd(0x89,WCMD);write_lcd%10+'0',WDATA);write_lcd(0x89,WCMD);write_lcd(0x0F,WCMD);}}eflag{lflag{}{0;model_flag=0;echangeflagwritelcd(0x01,WCMD);//清屏}}}{alue{TR=0;echangeflagimechangeflag{write_lcd(0xCF,WCMD);write_lcd(0x0F,WCMD);}eflag{write_lcd(0xCC,WCMD);write_lcd(0x0F,WCMD);}geflag{write_lcd(0xC7,WCMD);write_lcd(0x0F,WCMD);}lag{write_lcd(0xC4,WCMD);write_lcd(0x0F,WCMD);}geflag{write_lcd(0x86,WCMD);write_lcd(0x0F,WCMD);}eflag{write_lcd(0x89,WCMD);write_lcd(0x0F,WCMD);}flag{TR0=1;write_lcd(0x0C,WCMD);echangeflag}}delflag{echangeflag{0;}write_lcd(0xC7,WCMD);write_lcd%100/10+'0',WDATA);write_lcd(0xC8,WCMD);write_lcd%10+'0',WDATA);}{echangeflag++start_flag;ag{motor=0;}{motor=1;0;0;0;}{motor=1;}}}**********************************==========================TIMER到的系统时钟进行处理*********************************/dupdatetimevoid{{{{{}{write_lcd(0x85,WCMD);write_lcd10+'0',WDATA);write_lcd(0x86,WCMD);write_lcd%10+'0',WDATA);}}{write_lcd(0x88,WCMD);write_lcd10+'0',WDATA);write_lcd(0x89,WCMD);write_lcd%10+'0',WDATA);}}{write_lcd(0x8B,WCMD);write_lcd10+'0',WDATA);write_lcd(0x8C,WCMD);write_lcd%10+'0',WDATA);}}}*******************************========================TIMER到的秒表计数进行处理******************************/updatestopwatchvoid{/*if(model_flag==1){write_lcd(0xC7,WCMD);write_lcd%100/10+'0',WDATA);write_lcd(0xC8,WCMD);write_lcd%10+'0',WDATA);ifstarttstartflagmodelflag2&&!=0){motor=0;;{;{write_lcd(0xC6,WCMD);write_lcd%100/10+'0',WDATA);write_lcd(0xC7,WCMD);write_lcd%10+'0',WDATA);}}f{0;motor=1;}{write_lcd(0xC9,WCMD);write_lcd10+'0',WDATA);write_lcd(0xCA,WCMD);write_lcd%10+'0',WDATA);}}}*********************************===================间显示和秒表显示之间进行切换********************************/shiftdisplayvoid{ifmodelflagtimechangeflagshiftflag0){hiftflag{writelcd(0x01,WCMD);//清屏write_lcd(0x8B,WCMD);write_lcd10+'0',WDATA);write_lcd(0x8B,WCMD);write_lcd10+'0',WDATA);write_lcd(0x8C,WCMD);write_lcd%10+'0',WDATA);write_lcd(0x8A,WCMD);write_lcd(':',WDATA);write_lcd(0x88,WCMD);write_lcd10+'0',WDATA);write_lcd(0x89,WCMD);write_lcd%10+'0',WDATA);write_lcd(0x87,WCMD);write_lcd(':',WDATA);write_lcd(0x85,WCMD);write_lcd10+'0',WDATA);write_lcd(0x86,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xCF,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xCE,WCMD);write_lcd10+'0',WDATA);write_lcd(0xCD,WCMD);write_lcd(':',WDATA);write_lcd(0xCC,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xCB,WCMD);write_lcd10+'0',WDATA);write_lcd(0xC9,WCMD);write_lcd('&',WDATA);write_lcd(0xC7,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xC6,WCMD);write_lcd+'0',WDATA);write_lcd(0xC5,WCMD);write_lcd(':',WDATA);write_lcd(0xC4,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xC3,WCMD);write_lcd10+'0',WDATA);write_lcd(0xC1,WCMD);write_lcd('T',WDATA);write_lcd(0xC0,WCMD);write_lcd('C',WDATA);}ifmodelflagshiftflag){{writelcd(0x01,WCMD);//清屏write_lcd(0x8C,WCMD);write_lcd('P',WDATA);write_lcd(0x8C,WCMD);write_lcd('P',WDATA);write_lcd(0x8B,WCMD);write_lcd('U',WDATA);write_lcd(0x8A,WCMD);write_lcd('T',WDATA);write_lcd(0x89,WCMD);write_lcd('E',WDATA);write_lcd(0x88,WCMD);write_lcd('S',WDATA);write_lcd(0x86,WCMD);write_lcd('E',WDATA);write_lcd(0x85,WCMD);write_lcd('M',WDATA);write_lcd(0x84,WCMD);write_lcd('I',WDATA);write_lcd(0x83,WCMD);write_lcd('T',WDATA);write_lcd(0xC7,WCMD);write_lcd%100/10+'0',WDATA);write_lcd(0xC8,WCMD);write_lcd%10+'0',WDATA);}odelflagshiftflag{{writelcd(0x01,WCMD);//清屏write_lcd(0x8D,WCMD);write_lcd('N',WDATA);write_lcd(0x8D,WCMD);write_lcd('N',WDATA);write_lcd(0x8C,WCMD);write_lcd('I',WDATA);write_lcd(0x8B,WCMD);write_lcd('A',WDATA);write_lcd(0x8A,WCMD);write_lcd('M',WDATA);write_lcd(0x89,WCMD);write_lcd('E',WDATA);write_lcd(0x88,WCMD);write_lcd('R',WDATA);write_lcd(0x86,WCMD);write_lcd('E',WDATA);write_lcd(0x85,WCMD);write_lcd('M',WDATA);write_lcd(0x84,WCMD);write_lcd('I',WDATA);write_lcd(0x83,WCMD);write_lcd('T',WDATA);write_lcd(0xC6,WCMD);write_lcd10+'0',WDATA);write_lcd(0xC7,WCMD);write_lcd%10+'0',WDATA);write_lcd(0xC8,WCMD);write_lcd(':',WDATA);write_lcd(0xC9,WCMD);write_lcd10+'0',WDATA);write_lcd(0xCA,WCMD);write_lcd%10+'0',WDATA);}
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论