基于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;
	}
}

💫设计报告

💫资料清单&&下载链接

网盘下载链接

相关推荐
列御寇8 小时前
MongoDB分片集群分片模式——哈希分片(Hashed Sharding)
数据库·mongodb·哈希算法
列御寇9 小时前
MongoDB分片集群——分片键(Shard Keys)概述
数据库·mongodb
Arciab1 天前
51单片机_蜂鸣器
单片机·嵌入式硬件·51单片机
尼喃1 天前
24V过压过流保护电路芯片PW1605,60V耐压5A大电流,硬件设计选型优选
单片机·51单片机·芯片
电子工程师成长日记-C511 天前
基于51单片机的乒乓球计分器
单片机·嵌入式硬件·51单片机
深耕AI2 天前
【时钟周期 vs 指令】为什么51单片机需要12个时钟周期?
单片机·嵌入式硬件·51单片机
Arciab2 天前
51单片机_LCD1602液晶显示
网络·嵌入式硬件·51单片机
尼喃2 天前
汽车摩托车LED车灯驱动芯片IC,精准调光抗干扰,为车灯性能提升赋能
单片机·汽车·51单片机·芯片
橘橙黄又青2 天前
mongodb的基本命令
数据库·mongodb
DBA小马哥2 天前
MongoDB迁移全解析:国产多模融合下的平滑替代实践
数据库·mongodb·dba