资源描述:
《基于的51单片机全自动洗衣机设计》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、全自动洗衣机课程设计基于51单片机,C语言实现。基本要求模拟全自动洗衣机工作过程。以电机替代洗衣机电机。显示洗衣机工作的状态(进水、浸泡、洗衣、脱水、结束)。显示工作剩余时间(洗衣程序可自定义,时间精度:秒)。洗衣时交替正、反转。扩展要求洗衣和脱水时电机转速不同。增加水位传感器输入。故障报警。增加声音提示。其它自定义功能。设计用Preteus仿真:仿真图如下:精选范本,供参考!精选范本,供参考!精选范本,供参考!C文件函数代码:#include//****************************//#defin
2、eucharunsignedchar#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;//菜单
3、选择按键//***************************//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;//脱水电源控制开关sbita
4、nther=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;//出水次
5、数标志ucharflag3=0;//泡洗次数标志ucharerr=0;//报警标志ucharquan=0;//正反转计数精选范本,供参考!//**********************************////函数声明//*************************************//voiddelay();//延时函数voidin();//进水子程序voidout();//出水子程序voidover();//结束子程序voidxi();//洗衣子程序voidpao();//泡衣子程序voidxx();//脱水子程
6、序voidon();//工作on处理子程序voidse();//显示菜单选择voidSEG_display();//显示时间子程序voidkey_scan();//按键扫描子程序//*****************************////延时函数//****************************//voiddelay(uinti){uintx,y;for(x=i;x>0;x--)精选范本,供参考!for(y=120;y>0;y--);}//******************************////工作on处
7、理子程序//********************************//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();}//*******************************////结束子程序//**
8、*******************************//voidover(){other=0;anther=0;P0=0xff;mo_r=0;mo_l=0;led_over=0;EA=0;}//*