332 基于单片机智能洗衣机控制系统【毕设课设】

功能描述:

通过按键设定洗衣机的工作时间并用数码管显示工作时间,然后控制2个继电器循环工作状态,模拟洗衣机间歇正反转,一般正转3s,停止2s,然后反转3s,停止2s,循环上述动作。

完整版 电路图和程序代码 下载地址

https://pan.baidu.com/s/1MOzGqoG2fjgmNMRIK_OoDw?pwd=8888

部分代码展示

#include<reg51.h>
//****************************//
#define uchar unsigned char
#define uint unsigned int


//***************************//
sbit mo_r = P3^2;	  //电机右控制线
sbit mo_l = P3^3;		//电机左控制线

//****************************//
sbit key_menu = P3^4; // 菜单按键
sbit key_on = P3^5;	  // 开始按键
sbit key_off = P3^6; //	 结束按键
sbit key_se = P3^7;	 //	 菜单选择按键

//***************************//
sbit led_in = P0^0;		//	进水指示灯
sbit led_xi = P0^1;	   //  洗衣指示灯
sbit led_pao = P0^2;	//	泡洗指示灯
sbit led_xx = P0^3;	   //  脱水指示灯
sbit led_out = P0^4;  //   出水指示灯
sbit led_over = P0^5;  // 洗衣结束指示灯
sbit led_work = P0^6;  // 电机工作指示灯
sbit led_wring = P0^7;	 //	报警指示灯

sbit other = P3^1;	 //	 脱水盖子保护开关
sbit anther = P3^0;	 //	洗衣电源控制开关

//******************************//
uchar code num[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
								   //
//*****************************//
char sec = 0;		  //  时间秒
char min = 0;		   // 时间分
uchar count=0;		  //  中断计数
uchar flag0=0;		  //  洗衣机工作状态标志
uchar flaga=0;		  //  洗衣机工作状态标志
uchar flagb=0;		  //  洗衣机工作状态标志
uchar flag1=0;		  //  进水次数标志
uchar flag2=0;		  //  出水次数标志
uchar flag3=0;		 //	  泡洗次数标志
uchar err =0;	   //	报警标志
uchar quan = 0;//正反转计数  
//**********************************//
//	 函数声明
//*************************************//
void delay();//	延时函数
void in();	//	  进水子程序
void out();	 //	  出水子程序
void over();  //  结束子程序
void xi();	 //	  洗衣子程序
void pao();	//	 泡衣子程序
void xx(); //	脱水子程序
void on(); //  工作on处理子程序
void se(); //  显示菜单选择
void SEG_display();	 //显示时间子程序
void key_scan();   //  按键扫描子程序

//*****************************//
//     延时函数
//****************************//
void delay(uint i)
{
	uint x,y;
	for(x=i;x>0;x--)
	 for(y=50;y>0;y--);
}

//******************************//
//	   工作on处理子程序
//********************************//
void on()
{
	TMOD=0x01;
	TH0=(65536-50000)/256;
	TL0=(65536-50000)%256;
	EA=1;
	ET0=1;
	TR0=1;

	P0 = 0xff;
	if(flag0 == 0)
	    in();
		flag0=flagb;
	
	if(flag0 == 1)
	    xi();
	flag0=flagb;
	if(flag0 == 2)
	    pao();
	flag0=flagb;
	if(flag0 == 3)
	    xx();
	flag0=flagb;
   
	if(flag0 == 4)
	    out();
	flag0=flagb;
		
}

//*******************************//
//		 结束子程序
//*********************************//
void over()
{	other=0;
	anther=0;
	P0 = 0xff;
	mo_r=0;
	mo_l=0;
	led_over = 0;
	led_wring=0;
	EA=0;

}

//*********************************//
//	   进水子程序
//*********************************//
void in()
{	anther=0;
	other=1;
	P0 = 0xff;
	led_in = 0;
	flag1++;
	mo_r = 0;
	mo_l = 0  ;
	min = 0;
	sec = 5;
}
//*********************************//
//		洗衣子程序
//*********************************//
void xi()
{	 anther=1;
	 other=1;
     P0 = 0xff;
	 led_work = 0;
	 led_xi = 0;
	 mo_r = 1;
	 mo_l = 0;
	 min = 0;
	 sec = 30;
	 quan = 0;
}
//*********************************//
//	   泡衣(漂洗)子程序
//*********************************//
void pao()
{	
    anther=1;
	other=1;
	P0 = 0xff;
	led_pao = 0;
	led_work = 0;
	flag3++;
	mo_r = 1;
	mo_l = 0;
	min = 0;
	sec = 20;
	quan = 0;
}
//*********************************//
//		脱水子程序
//*********************************//
void xx()
{
//other=0;
//	anther=0;
//	P0 = 0xff;
//	led_xx = 0;
//	led_out=0;
//	mo_r = 0;
//	mo_l = 1;
//	min = 0;
//	sec = 30;
	
	 anther=1;
	 other=1;
     P0 = 0xff;
	led_xx = 0;
	led_out=0;
	 mo_r = 1;
	 mo_l = 0;
	 min = 0;
	 sec = 30;
	 quan = 0;
}
//*********************************//
//		 出水子程序
//*********************************//
void out()
{	anther=0;
	other=0;
	P0 = 0xff;
	led_out = 0;
	flag2++;
	mo_r = 0;
	mo_l = 0;
	min = 0;
	sec = 5;
}
//*********************************//
//	   显示菜单选择
//*********************************//

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值