




如果您无法下载资料,请参考说明:
1、部分资料下载需要金币,请确保您的账户上有足够的金币
2、已购买过的文档,再次下载不重复扣费
3、资料包下载后请先用软件解压,在使用对应软件打开
全自动洗衣机课程设计 基于51单片机,C语言实现。 基本要求 模拟全自动洗衣机工作过程。以电机替代洗衣机电机。显示洗衣机工作的状态(进水、浸泡、洗衣、脱水、结束)。显示工作剩余时间(洗衣程序可自定义,时间精度:秒)。 洗衣时交替正、反转。 扩展要求 洗衣和脱水时电机转速不同。增加水位传感器输入。故障报警。增加声音提示。其它自定义功能。 设计用Preteus仿真: 仿真图如下: C文件函数代码: #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(fl

王子****青蛙
实名认证
内容提供者


最近下载