版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
单片机原理及系统课程设计报告-7-附录1源程序#include<reg51.h>#defineucharunsignedchar#defineuintunsignedint//***************************//sbitmo_r=P3^2; //电机右控制线sbitmo_l=P3^3; //电机左控制线//****************************//sbitkey_menu=P3^4;//菜单按键sbitkey_on=P3^5; //开始按键sbitkey_off=P3^6;//结束按键sbitkey_se=P3^7; //菜单选择按键//***************************//sbitled_in=P0^0; // 进水指示灯sbitled_xi=P0^1; //洗衣指示灯sbitled_pao=P0^2; // 泡洗指示灯sbitled_xx=P0^3; //脱水指示灯sbitled_out=P0^4;//出水指示灯sbitled_over=P0^5;//洗衣结束指示灯sbitled_work=P0^6;//电机工作指示灯sbitled_wring=P0^7; // 报警指示灯sbitother=P3^1; // 脱水电源控制开关sbitanther=P3^0; // 洗衣电源控制开关//******************************//ucharcodenum[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//*****************************//charsec=0; //时间秒charmin=0; //时间分ucharcount=0; //中断计数ucharflag0=0; //洗衣机工作状态标志ucharflag1=0; //进水次数标志ucharflag2=0; //出水次数标志ucharflag3=0; //泡洗次数标志ucharerr=0; //报警标志ucharquan=0;//正反转计数//**********************************//voiddelay();//延时函数voidin(); //进水子程序voidout(); //出水子程序voidover();//结束子程序voidxi(); //洗衣子程序voidpao(); //泡衣子程序voidxx();//脱水子程序voidon();//工作on处理子程序voidse();//显示菜单选择voidSEG_display(); //显示时间子程序voidkey_scan();//按键扫描子程序voiddelay(uinti){ uintx,y; for(x=i;x>0;x--) for(y=120;y>0;y--);}//*********工作on处理子程序**********//voidon(){ TMOD=0x01; TH0=(65536-50000)/256; TL0=(65536-50000)%256; EA=1; ET0=1; TR0=1;P0=0xff; if(flag0==0) in(); if(flag0==1) xi(); if(flag0==2) pao(); if(flag0==3) xx(); if(flag0==4) out();}//********结束子程序*********//voidover(){ other=0; anther=0; P0=0xff; mo_r=0; mo_l=0; led_over=0; EA=0;}//**********进水子程序**********//voidin(){ anther=0; other=0; P0=0xff; led_in=0; flag1++; mo_r=0; mo_l=0; min=0; sec=8;}//**********洗衣子程序**********//voidxi(){ anther=1; other=0;P0=0xff; led_work=0; led_xi=0; mo_r=1; mo_l=0; min=1; sec=36; quan=0;}// //********泡衣子程序********//voidpao(){ anther=1; other=0; P0=0xff; led_pao=0; led_work=0; flag3++; mo_r=1; mo_l=0; min=1; sec=35; quan=0;}//*********脱水子程序********//voidxx(){ other=1; anther=0; P0=0xff; led_xx=0; mo_r=0; mo_l=1; min=0; sec=50;} //********出水子程序********//voidout(){ anther=0; other=0; P0=0xff; led_out=0; flag2++; mo_r=0; mo_l=0; min=0; sec=5;} //**********显示菜单选择********//voidse(){ P0=0xff; if(flag0>=5) flag0=0; if(flag0==0) { led_in=0; } if(flag0==1) { led_xi=0; } if(flag0==2) { led_pao=0; } if(flag0==3) { led_xx=0; } if(flag0==4) { led_out=0; }}//*********菜单处理子程序**********//voidmenu(){ min=0; sec=0; mo_r=0; mo_l=0; SEG_display(); while(1) { if(key_on==0) { delay(5); if(key_on==0) { while(!key_on); on(); break; } }//**************************// if(key_off==0) { delay(5); if(key_off==0) { while(!key_off); over(); break; } }//****************************// if(key_se==0) { delay(5); if(key_se==0) { while(!key_se); flag0++; se(); } } }}//*********按键扫描子程序*********//voidkey_scan(){ if(key_menu==0) { delay(5); if(key_menu==0) { while(!key_menu); menu(); } }//********************************// if(key_on==0) { delay(5); if(key_on==0) { while(!key_on); on(); } }//*********************************// if(key_off==0) { delay(5); if(key_off==0) { while(!key_off); over(); } }}//*********显示子程序**********//voidSEG_display(){ P1=0x01; P2=num[min/10]; delay(10); P1=0x02; P2=num[min%10]; delay(10); P1=0x04; P2=num[sec/10]; delay(10); P1=0x08; P2=num[sec%10]; delay(10);}//*********主函数**********//voidmain(){ led_in=0; anther=0; other=0; while(1) { SEG_display(); key_scan(); }}//*****定时器0中断处理程序*****//voidtimer0()interrupt1{ TH0=(65536-50000)/256; TL0=(65536-50000)%256; count++;if(count==20) { count=0; sec--; if((flag0==1)||(flag0==2)) { quan++; switch(quan) { case1:mo_r=1;mo_l=0;break; case10:mo_r=0;mo_l=0;break; case15:mo_r=0;mo_l=1;break; case25:mo_r=0;mo_l=0;break; default:; } if(quan==30) { quan=0; } } //**********************************// if((sec==0)&&(min!=0)) { min--; sec=59; } //**********************************// if((sec<0)&&(min==0)&&(flag0==0)) //进水结束 { switch(flag1) { case1:flag0=1;xi();break; case2:flag0=2;pao();break; case3:flag0=2;pao();break; case4:flag0=2;pao();break; default:err=1;led_wring=0; } } //**********************************// if((sec<0)&&(min==0)&&(flag0==1))//洗衣结束 { flag0=4; out(); } //**********************************// if((sec<0)&&(min==0)&&(flag0==2))//泡衣结束 { switch(flag3) { case1:flag0=4;out();break; case2:flag0=4;out();break; case3:flag0=4;out();break; default:err=1;led_wring=0; } } //**********************************// if((sec<0)&&(min==0)&&(flag0==4)) //出水结束 { switch(flag2) {
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 工程监理劳务分包协议
- 车站附近人行道改造合同
- 游泳池电工招聘合同模板
- 家电销售经纪人合作协议
- 政府宣传片编剧招聘协议
- 清洁能源高速公路合同管理办法
- 社区活动中心球场施工合同
- 纺织生产电动工具租赁协议
- 污水处理厂改造围挡施工合同
- 皮肤病医院聘用协议样本
- 绿色水彩小清新工作汇报ppt模板
- 北京市高校教师岗前培训复习资料
- 案例上课代码fs210-manual
- PLC自动门课程设计
- HP1003磨煤机技术介绍[1]
- GB_T 37515-2019 再生资源回收体系建设规范(高清版)
- 商品条码管理办法条文释义
- 郑百文案例简要探析
- [推荐]:校园歌手大赛show安全应急预案(正式)
- 黄金矿充填系统设计说明
- 合成长历通书doc1
评论
0/150
提交评论