《微波炉程序清单》word版.doc_第1页
《微波炉程序清单》word版.doc_第2页
《微波炉程序清单》word版.doc_第3页
《微波炉程序清单》word版.doc_第4页
《微波炉程序清单》word版.doc_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

微波炉程序清单:#include /头文件#define uchar unsigned char #define uint unsigned int uchar cyc,cyd;uint value,time_value; uchar num;uchar door;sbit P2_0=P20; /数码管片选口sbit P2_1=P21; /同上sbit P2_2=P22; /同上 sbit K2=P24; /时间百位设置口sbit K3=P25; / 时间十位设置口sbit K4=P26; / 时间个位设置口sbit K5=P27; / 设置确认口sbit P1_0=P10; / 门指示灯口sbit P1_1=P11; / 磁管加热指示口sbit P1_2=P12; / 门开关判断口sbit st=P13; /微波炉运行键口sbit BUZZER=P14; /报警输出口uchar dig=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f; /显示代码uchar LedOut3;voiddelay_250us(void) /250us延迟函数,用于产生2KHZ信号 unsigned char a,b; for(b=19;b0;b-) for(a=5;a0;a-); viod buzz() /报警函数 uint u=0; /定义一变量,用于控制喇叭响的时间 while(u 0; i-) for(j = 200; j 0; j-); void display (unsigned int t ) /动态显示子程序 uchar i; LedOut0=digt%10; /个位 LedOut1=digt%100/10; /十位 LedOut2=digt/100; /百位 for( i=0; i0;c-) for(b=238;b0;b-) for(a=30;a0;a-); key_set() /键值设置子程序 uchar ge, shi, bai; display(0); /键值清零 调用动态显示子程序 ge=0; / 键值个位 shi=0; /键值十位 bai=0; /键值百位 cyc=1; /循环一次 while(cyc) / if(K2=0) /百位键被按下 bai+; /百位加 delay(); /调用延时子程序 if(K3=0) /十位键按下 shi+; / delay(); /调用延时子程序 if(K4=0) /个位键按下 ge+; / delay(); /调用延时子程序 if(ge=10) ge=0; /当个位键的次数为10次,则给0值if(shi=10) shi=0; /当十位键的次数为10次,则给0值if(bai=10) bai=0; /当百位键的次数为10次,则给0值value =bai*100+shi*10+ge; /计算设定值 time_value= value ; / 保留值 display(value); / 调用显示设定值if(K5=0) cyc=0; /退出循环 return value; /返回时间值 /仿真器保留Void main() /主函数 num=0; value=832; /默认初值 time_value=832; /保留时间值 TMOD=0x10; /定时器的工作方式1 TH1 = 0x3c; /装入定时的初值 TL1 = 0xb0; / ET1 = 1; / TR1 = 1; / 开定时器1 ET0=1; /外部中断设置 EX0=1; /开放外部中断0 IT0=1; /设置下降沿触发 EA=1; 开INT0中断 while(1) / display(value); /调用显示时间 void time1(void) interrupt 3/ TH1 = 0x3c; /定时器初值 TL1 = 0xb0; / / if(st=0) door=1; /当运行键按下,门标志位door为1 if(P1_2=0&door=1) /如果运行标志位door为1且门关 / num+; / P1_0=1; /门指示灯灭 P1_1=0; / 磁管加热指示灯亮 if(num=20) / num=0; / value-; /显示值自减 if(P1_2=0) P1_0=1; /当门关时,门指示灭 if(P1_2=1&time_value=value )/&valuetime_value) /运行当中门开 P1_0=0; /门指示灯亮 P1_1=1; /磁管加热指示灯灭 door=0; /运行标0志位为 if(P1_2=1&valuetime_value) / 运行中门开 P1_0=0; / 门指示灯亮 P1_1=1; / 磁管加热指示灯灭 door=0; /运行标0志位为 buzz() ; /报警器报警 if(value=0) /当加热结束 P1_1=1; /磁管加热指示灯灭 door=0; /运行标0志位为 value=0; /加热时间位0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论