




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
#include #include #define nop _nop_#define uchar unsigned char#define uint unsigned int/*/定义sbit WEI_LE=P11;/数码管控制sbit DUAN_LE=P10;sbit RS=P20;/LCD端口sbit RW=P21;sbit E=P22;#define DB P0sbit PSB=P23;sbit NC=P24;sbit RST=P25;sbit BEEP=P10;/蜂鸣器sbit KEY1=P34;/按键sbit KEY2=P35;sbit KEY3=P32;sbit KEY4=P33;uchar key_up,key_x;/按键变量uchar fire,min,sec;/火力和时间变量uchar o_hour,o_min,o_sec;/预约时间变量/*/辅助函数/延迟函数void delay50us(uint m)/for双重嵌套型。公式:t=m*(2*n+12)+偏差值。m比较小时,偏差为+13;m=0时,t=14。uchar n;for(;m0;m-)for(n=19;n0;n-);void delay500us(uint m)/for双重嵌套型。公式:t=m*(2*n+12)+偏差值。m比较小时,偏差为+13;m=0时,t=14。uchar n;for(;m0;m-)for(n=244;n0;n-);/*/底层驱动/LCD驱动void lcd_wcom(uchar com)/写指令函数delay50us(1);RS=0;RW=0;DB=com;E=1;delay50us(1);E=0;void lcd_wdat(uchar dat)/写数据函数delay50us(1);RS=1;RW=0;DB=dat;E=1;delay50us(1);E=0;void lcd_init()/初始化lcd_wcom(0x30);delay50us(2);lcd_wcom(0x30);delay50us(1);lcd_wcom(0x0c);delay50us(2);lcd_wcom(0x01);delay500us(20);lcd_wcom(0x06);delay50us(2);void lcd_wstr(uchar *s)/写字符串while(*s!=0)lcd_wdat(*s+);void lcd_clr()/清屏lcd_wcom(0x01);delay500us(3);/按键驱动void key_get()/按键录入if(KEY1=1 & KEY2=1 & KEY3=1 & KEY4=1)key_up=1;else if(KEY1=0 & key_up=1)key_up=0;key_x=1;else if(KEY2=0 & key_up=1)key_up=0;key_x=2;else if(KEY3=0 & key_up=1)key_up=0;key_x=3;else if(KEY4=0 & key_up=1)key_up=0;key_x=4;delay500us(100);/防抖/*/应用层函数/显示相关信息void dis_author()/作者lcd_clr();lcd_wcom(0x80);lcd_wstr(作者:);lcd_wstr(黄志辉);lcd_wcom(0x93); lcd_wstr(董晓敏);lcd_wcom(0x8b); lcd_wstr(蔡定材);while(key_up=0)key_get();key_x=0;/预约时间void order_mark(uchar sel)/预约光标switch(sel)case 1:lcd_wcom(0x89);lcd_wcom(0x0e);break;case 2:lcd_wcom(0x8b);lcd_wcom(0x0e);break;case 3:lcd_wcom(0x8d);lcd_wcom(0x0e);break;case 4:lcd_wcom(0x9a);lcd_wcom(0x0c);lcd_wdat(0x10);break;void order_shift(uchar sel)/预约调整uchar quit=0;char a;dolcd_wcom(0x89);lcd_wdat(o_hour/10+0x30);lcd_wdat(o_hour%10+0x30);lcd_wstr(时);lcd_wdat(o_min/10+0x30);lcd_wdat(o_min%10+0x30);lcd_wstr(分);lcd_wdat(o_sec/10+0x30);lcd_wdat(o_sec%10+0x30);lcd_wstr(秒);order_mark(sel);lcd_wcom(0x0f);while(key_up=0)key_get();while(key_up=1)key_get();switch(key_x)case 4:quit=1;break;case 3:quit=1;break;case 2:a=1;break;case 1:a=-1;if(key_x=2 | key_x=1)switch(sel)case 1:o_hour=o_hour+a;if(o_hour=24)o_hour=0;if(o_hour=-1)o_hour=23;break;case 2:o_min=o_min+a;if(o_min=60)o_min=0;if(o_min=-1)o_min=59;break;case 3:o_sec=o_sec+a;if(o_sec=60)o_sec=0;if(o_sec=-1)o_sec=59;while(quit!=1);key_x=0;void order()/预约界面static uchar sel=1;uchar quit=0;dolcd_clr();lcd_wcom(0x82);lcd_wstr( 预约);lcd_wcom(0x92);lcd_wstr(倒计时:);lcd_wcom(0x89);lcd_wdat(o_hour/10+0x30);lcd_wdat(o_hour%10+0x30);lcd_wstr(时);lcd_wdat(o_min/10+0x30);lcd_wdat(o_min%10+0x30);lcd_wstr(分);lcd_wdat(o_sec/10+0x30);lcd_wdat(o_sec%10+0x30);lcd_wstr(秒);lcd_wcom(0x9b);lcd_wstr(开始);order_mark(sel);while(key_up=0)key_get();while(key_up=1)key_get();switch(key_x)case 4:switch(sel)case 1:case 2:case 3:order_shift(sel);break;case 4:break;break;case 3:quit=1;break;case 2:sel-;if(sel4)sel=1;while(quit!=1);lcd_wcom(0x0c);key_x=0;/调整火力和时间void shift_mark(uchar sel)/调整光标switch(sel)case 1:lcd_wcom(0x92);lcd_wcom(0x0c);lcd_wdat(0x10);break;case 2:lcd_wcom(0x8b);lcd_wcom(0x0e);break;case 3:lcd_wcom(0x8d);lcd_wcom(0x0e);break;case 4:lcd_wcom(0x98);lcd_wcom(0x0c);lcd_wdat(0x10);break;case 5:lcd_wcom(0x9c);lcd_wcom(0x0c);lcd_wdat(0x10);void dis_fire_time()/显示火力和时间uchar f;lcd_wcom(0x90);lcd_wstr(火力 );f=fire;while(f-)lcd_wdat(0x04);f=8-fire;while(f-)lcd_wdat(0x20);lcd_wcom(0x88);lcd_wstr(时间 );lcd_wdat(min/10+0x30);lcd_wdat(min%10+0x30);lcd_wstr(:);lcd_wdat(sec/10+0x30);lcd_wdat(sec%10+0x30);void shift_fire_time(uchar custom_sel)/进行调整uchar quit=0;char a;dodis_fire_time();shift_mark(custom_sel);lcd_wcom(0x0f);while(key_up=0)key_get();while(key_up=1)key_get();switch(key_x)case 4:quit=1;break;case 3:quit=1;break;case 2:a=1;break;case 1:a=-1;if(key_x=2 | key_x=1)switch(custom_sel)case 1:fire=fire+a;if(fire=0)fire=1;if(fire=9)fire=8;break;case 2:min=min+a;if(min=60)min=0;if(min=-1)min=59;break;case 3:sec=sec+a;if(sec=60)sec=0;if(sec=-1)sec=59;while(quit!=1);key_x=0;void custom_heat()/自定义uchar quit=0;static uchar sel=1;static uchar custom_fire=1,custom_min=00,custom_sec=00;fire=custom_fire;min=custom_min;sec=custom_sec;dolcd_clr();lcd_wcom(0x82);lcd_wstr( 自定义);dis_fire_time();lcd_wcom(0x99);lcd_wstr(预约);lcd_wcom(0x9d);lcd_wstr(开始);shift_mark(sel);while(key_up=0)key_get();while(key_up=1)key_get();switch(key_x)case 4:switch(sel)case 1:case 2:case 3:shift_fire_time(sel);custom_fire=fire;custom_min=min;custom_sec=sec;break;case 4:order();break;case 5:break;break;case 3:quit=1;break;case 2:sel-;if(sel5)sel=1;while(quit!=1);lcd_wcom(0x0c);key_x=0;void fast_heat(uchar menu_sel)/快速加热uchar quit=0;static uchar sel=5;dolcd_clr();switch(menu_sel)case 1:lcd_wcom(0x82);lcd_wstr( 烧烤);fire=6;min=10;sec=0;break;case 2:lcd_wcom(0x82);lcd_wstr( 汤类);fire=7;min=1;sec=30;dis_fire_time();lcd_wcom(0x99);lcd_wstr(预约);lcd_wcom(0x9d);lcd_wstr(开始);shift_mark(sel);while(key_up=0)key_get();while(key_up=1)key_get();switch(key_x)case 4:switch(sel)case 4:order();break;case 5:break;break;case 3:quit=1;break;case 2:sel-;if(sel5)sel=4;while(quit!=1);key_x=0;/菜单void menu_mark(uchar sel)/菜单光标switch(sel)case 1:lcd_wcom(0x90);break;case 2:lcd_wcom(0x88);break;case 3:lcd_wcom(0x98);break;lcd_wdat(0x10);void menu()/进入菜单static uchar sel=1;dolcd_clr();lcd_wcom(0x82);lcd_wstr( 菜单);lcd_wcom(0x91);lcd_wstr(烧烤);lcd_wcom(0x95);lcd_wstr(解冻);lcd_wcom(0x89);lcd_wstr(汤类);lcd_wcom(0x8d);lcd_wstr(蒸菜);lcd_wcom(0x99);lcd_wstr(自定义);menu_mark(sel);while(key_up=0)key_get();while(key_up=1)key_get();switch(key_x)case 4:switch(sel)case 1:case 2:fast_heat(sel);break;case 3:custom_heat();break;case 3:dis_author
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 昆明工业职业技术学院《汇编语言程序设计》2024-2025学年第一学期期末试卷
- 江西农业大学南昌商学院《水工建筑物(上)》2024-2025学年第一学期期末试卷
- 郑州医药健康职业学院《抽样设计与推断》2024-2025学年第一学期期末试卷
- 沧州医学高等专科学校《JAVA语言程序设计》2024-2025学年第一学期期末试卷
- 血液透析技术管理规范实施指南
- 安徽城市管理职业学院《数据采集》2024-2025学年第一学期期末试卷
- 2025年远红外涤纶项目立项申请报告
- 生产车间安全操作规范与记录表
- 西北师范大学《模拟系统集成一》2024-2025学年第一学期期末试卷
- 山东职业学院《转型经济学》2024-2025学年第一学期期末试卷
- 新学期-启航出发-2025-2026学年初一上学期新生开学第一课主题班会
- 2025年新版《食品安全法》知识竞赛试题(附答案)
- 2025至2030中国保护器行业发展趋势分析与未来投资战略咨询研究报告
- 学堂在线 高职实综合英语 章节测试答案
- 劳动教育主题活动课说课稿
- 八年级英语备课组教学工作计划范文
- 2025年电商行业直播带货研究报告:直播电商产业链分析
- 企业工程管理办法
- 小学生美术国画课件
- 2025年秋数学(新)人教版三年级上课件:第1课时 观察物体
- 医疗反歧视培训
评论
0/150
提交评论