基于51单片机的全自动洗衣机proteus仿真设计

标题目录

💫51单片机全自动洗衣机proteus仿真设计

(程序+仿真+设计报告+讲解视频)

仿真原版本:proteus 7.8

程序编译器:keil 4/keil 5

编程语言:C语言

设计编号:S0025

💫设计介绍

1、按键功能:

(1)通过"K1"键步进改变"标准、经济、单独、排水"四种方式,执行相应的程序。对应指示灯亮。

(2)通过"K2"键步进改变"强洗、弱洗"两种方式,执行相应的程序,对应指示灯亮。

(3)通过"K3"键控制洗衣机运行、暂停和解除报警功能。

2、方式功能选择:

一般洗衣机的步骤为:洗涤,漂洗,脱水,当处于某种状态时,对应的指示灯以0.7S周期闪烁,当洗衣机在洗涤过程中,洗涤指示灯闪烁。

可以通过方式选择设定具体的运行过程。

(1)标准方式:进水---> 洗涤 ---> 排水 ---> 进水 ---> 漂洗 ---> 排水 --->进水 ---> 漂洗---> 排水 ---> 脱水。

(2)经济方式:进水 ---> 洗涤 ---> 排水 ---> 进水 ---> 漂洗 ---> 排水 ---> 脱水。

(3)单独方式:进水 ---> 洗涤。

(4)排水方式:排水 ---> 脱水。

(5)强洗即电动机转速快,弱洗即电动机转速慢。

3、整机功能:

(1)开机默认状态为标准方式、强洗。

(2)在洗涤和漂洗过程中,电动机正转一次,反转一次,连续运行。

(3)在进水和脱水过程中,相应的指示灯亮,继电器吸合。

(4)当执行某个步骤时,只有"K3"键有效,按下暂停,再按恢复运行。

💫仿真图

电动机驱动模块电路设计

电动机驱动采用LD298电动机驱动芯片,单片机P25、P24与L298的IN1、IN2分别对应相连,ENA直接接VCC,后面所加4个二极管VD3到VD6起连续作用。电动机驱动电路原理图如图二所示。

电源模块电路设计

电动机驱动芯片的电源VCC和VS之间通过0欧的电阻R20进行隔离后,对LD298进行供电。

控制按键

如图二所示,K3键接到单片机的外部中断0,通过中断实现运行、暂停、继续运行的控制功能,当K3键第一次按下时(num2=1)正常运行,当K3键第二次按下时(num2=2)暂停运行。

进水阀和排水阀控制继电器

如图二所示,单片机的P23用来控制排水阀继电器,P22用来控制进水阀继电器,P22和P23对应输出为0时对应的阀打开,输出为1时对应的阀关闭。

💫程序设计

main函数

c 复制代码
void main()
{
	init();
	while(1)
	{
		key();		   //键扫描
		if((num1==0&&num==0)&&circle==1)	//标准 强洗 
		{
			ledruoxi=1;   //关闭弱洗LED
			ledpaishui=1; //关闭排水LED
			ledbiaozhun=0;//强标准LED亮	
			ledqiangxi=0; //强洗LED亮
			if(num2==1)
			{
				qbiaozhun(); //强标准洗
			}
			if(num2>1)		 //K3键按下次数为2,暂停洗涤
			{
				;	   
			}
			circle=0;
		}
		if(num1==0&&num==1)	 //经济 强洗
		{
			ledruoxi=1;	   
			ledbiaozhun=1;
			ledqiangxi=0;
			ledjingji=0;
			if(num2==1)
			{
				qjingji();	//强经济洗
				ledjingji=1;
			}
			circle=0;
		}
		if(num1==0&&num==2)	 //单独 强洗 
		{
			ledruoxi=1;
			ledjingji=1;
			ledqiangxi=0;
			leddandu=0;
			if(num2==1)
			{
				qdandu(); //强单独洗
				leddandu=1;
			}
			circle=0;
		}
		if(num1==0&&num==3)
		{
			ledruoxi=1;	  //排水 强洗
			leddandu=1;
			ledqiangxi=0;
			ledpaishui=0;
			if(num2==1)
			{
				dpaishui();	//单排水
				ledpaishui=1;
			}
			circle=0;
		}
		if(num1==1&&num==0)	  //弱 标准
		{
			ledqiangxi=1;
			ledpaishui=1;
			ledruoxi=0;
			ledbiaozhun=0;
			if(num2==1)
			{
				rbiaozhun(); //弱标准洗
				ledruoxi=1;
			}
			circle=0;
		}
		if(num1==1&&num==1)	 //弱经济
		{
			ledqiangxi=1;
			ledbiaozhun=1;
			ledruoxi=0;
			ledjingji=0;
			if(num2==1)
			{
				rjingji();	//弱经济洗
				ledruoxi=1;
				ledjingji=1;
			}
			circle=0;
		}
		if(num1==1&&num==2)
		{
			ledqiangxi=1;
			ledjingji=1;
			ledruoxi=0;
			leddandu=0;
			if(num2==1)
			{
				rdandu();	//弱单独洗
				ledruoxi=1;
				leddandu=1;
			}
			circle=0;
		}
		if(num1==1&&num==3)
		{
			ledqiangxi=1;
			leddandu=1;
			ledruoxi=0;
			ledpaishui=0;
			if(num2==1)	//K3键
			{
				dpaishui();	 //单排水
				ledpaishui=1;
			}
			circle=0;
		}
		num2=0;
	}
}

💫设计报告

💫资料清单&&下载链接

网盘下载链接

相关推荐
郭京京7 小时前
mongodb基础
mongodb·go
鼠鼠我捏,要死了捏9 小时前
生产环境MongoDB分片策略优化与故障排查实战经验分享
数据库·mongodb·分片
STC_USB_CAN_80511 天前
所有普通I/O口都支持中断的51单片机@Ai8051U, AiCube 图形化配置
单片机·嵌入式硬件·51单片机
清风6666661 天前
基于51单片机自动浇花1602液晶显示设计
单片机·嵌入式硬件·mongodb·毕业设计·51单片机·课程设计
大新屋1 天前
MongoDB 分片集群修改管理员密码
数据库·mongodb
foundbug9991 天前
Node.js导入MongoDB具体操作
数据库·mongodb·node.js
大新屋1 天前
MongoDB 分片集群复制数据库副本
数据库·mongodb
小莞尔2 天前
【Proteus仿真】【51单片机】基于51单片机密码锁
stm32·单片机·嵌入式硬件·51单片机·proteus
anghost1502 天前
基于单片机的智能声控窗帘
单片机·嵌入式硬件·mongodb
脚后跟2 天前
51单片机拼接板(开发板积木)
51单片机