




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国高柔性导热石墨薄膜行业市场分析及投资价值评估前景预测报告
- 2025年新能源汽车市场生物质能燃料应用现状与趋势报告
- 二、一元一次方程和它的解法教学设计初中数学北京版2024七年级上册-北京版2024
- 2025年储能电池在电网储能市场中的储能电站投资分析与决策建议报告
- 2025年新能源汽车充电设施建设与城市规划协同发展报告
- 九年级信息技术第一学期机器人编程(仿真)软件简介说课稿 青岛版
- 2025年中国高仿珠宝首饰行业市场分析及投资价值评估前景预测报告
- 医疗气体安全知识培训课件
- 2025年环保产业技术创新与产业升级技术创新模式创新案例报告
- 口腔前台专业知识培训课件
- 2024年南昌市公安局东湖分局招聘警务辅助人员考试真题
- 4.1 认识厘米 课件 人教版数学二年级上册
- 人身意外险理赔细则手册
- 高三试卷:2025届浙江省新阵地联盟高三10月联考历史试题
- 2025公务员考试时事政治题库(含答案)
- 2025年度云南省成人高考专升本《教育理论》高频考题库汇编及答案
- 保温人员安全培训课件
- 本科教学审核评估汇报
- 《直线方程的两点式》教学设计
- 01 华为采购管理架构(20P)
- 望洞庭教学课件
评论
0/150
提交评论