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

news2024/11/28 2:42:24

标题目录

  • 💫51单片机全自动洗衣机proteus仿真设计
    • 💫设计介绍
    • 💫仿真图
      • 电动机驱动模块电路设计
      • 电源模块电路设计
      • 控制按键
      • 进水阀和排水阀控制继电器
    • 💫程序设计
      • main函数
    • 💫设计报告
    • 💫资料清单&&下载链接
      • 网盘下载链接

💫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时对应的阀关闭。

img

💫程序设计

img

img

main函数

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

💫设计报告

在这里插入图片描述

💫资料清单&&下载链接

在这里插入图片描述

网盘下载链接

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1256986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【古诗生成AI实战】之三——任务加载器与预处理器

本章内容属于数据处理阶段,将分别介绍任务加载器task和预处理器processor。 [1] 数据集 在深入探讨数据处理的具体步骤之前,让我们先了解一下我们将要使用的数据集的形式。 本项目采用的是七绝数据集,总计83072条古诗,其形式如下&…

Linux系统编写C语言程序并执行(图文详解)

目录 前言 Linux如何编写C语言 1.打开编辑器,写代码 2.编译运行文件 相关拓展 前言 LINUX中包含了很多软件开发工具。它们中的很多是用于C和C应用程序开发的。 C是一种能在UNIX的早期就被广泛使用的通用编程语言。它最早是由Bell实验室的Dennis Ritchie为了UN…

中年人怎么发展?持续发展?

现在ai这么火,就像当年的xxx,如果没有抓住,会xxx吗? 为了ai,多学学python也是也是好的啊。 在学习之余,还是想做做自媒体的。不求马上赚到钱。我的想法是,现在每天下班回家都是刷刷抖音&#…

Jmeter工具学习三——CSV文件、关联、断言

Jmeter学习三——CSV文件和关联 jmeter做功能测试和做性能测试的区别CSV数据文件设置(读取外部文件,进行分数据驱动)文件设置字段介绍:文件名文件编码如果出现编码问题导致的乱码,如何解决? 变量名忽略首行…

基于深度学习的图像超分辨率应用

引言 在使用图片浏览软件显示图片时,为了凸显某个部位,你会放大图片,为了显示整体,你会缩小图片。 你的原始图片大小是固定的,但图像浏览软件既可以最大化到整个屏幕,也可以只占一个区域,这些…

【云平台】STM32微信小程序阿里云平台学习板

【云平台】STM32微信小程序阿里云平台学习板 文章目录 前言一、立创EDA(硬件设计)1.主控STM32F103C8T62.ESP8266模块3.温湿度模块4.光照强度模块5.OLED显示模块6.PCB正面7.PCB反面8.3D视角正面9.3D视角反面 二、【云平台】STM32微信小程序阿里云平台学习…

Linux7设置ssh秘钥登录并关闭密码登录

说明:场景为windows使用WinScp远程登录linux服务 winscp安装教程:winscp安装及关联putty使用_putty.exe没有找到_cherishSpring的博客-CSDN博客 1.在window上生成公钥和秘钥,操作方式参考以下文章第3点: git关联云效使用教程_云…

爬取极简壁纸

js反编译的代码需要解密之类的,直接给我干蒙圈了,借助selenium可以直接获取到调式工具中的源码,可以获取渲染后的链接,然后将链接交给下载函数(使用异步提高效率)即可。 后续学习完js反编译的话&#xff0…

项目实战——苍穹外卖(DAY10)

如果之前有改过端口号造成WebSocket无法连接的,可以看本篇文章“来单提醒”前的内容进行解决。 课程内容 Spring Task 订单状态定时处理 WebSocket 来单提醒 客户催单 功能实现:订单状态定时处理、来单提醒和客户催单 订单状态定时处理&#xff1a…

Spring Boot 项目配置文件出现乱码的解决方法

如下图,我们 Spring Boot 项目的配置文件 application.properties 可能会出现如下的乱码问题: 我们写注解的时候是正常的,但是下次启动项目就出现了乱码,这个是字符集设置的问题 解决方法 1.点击 File 选择 Settings 2.搜索 enco…

C#学习-8课时

P10 输入输出程序编写 相同类型的可以直接相加; cwtabtabconsole.Writeline(); using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace C_8_1 { class Program { s…

基于xml配置的AOP

目录 xml方式AOP快速入门 xml方式AOP配置详解 xml方式AOP快速入门 xml方式配置AOP的步骤 导入AOP相关坐标 <dependency><groupId>org.aspectj</groupId><artifactId>aspectjweaver</artifactId><version>1.8.13</version></de…

树状数组专题

折叠 区间修改&#xff0c;区间查询&#xff0c;这一类题通常都可以使用线段树解决&#xff0c;但对于此题&#xff0c;树状数组同样可以&#xff0c;而且常数较小&#xff0c;代码简单。 思路&#xff1a; 考虑使用树状数组去维护差分数组&#xff0c;即对于 a i a_i ai​,我们…

C语言WFC实现矩形旋转

前言&#xff1a;结合上一篇的博客进行对矩形的创建和旋转操作 代码实现&#xff1a; //旋转矩阵 void CCGDrawingView::RotateRectangle(int x1, int y1, int x2, int y2, int x3, int y3, int x4, int y4, double angle, CDC* pDC) {//绘制旋转前的矩形Rectangle(x1, y1, x…

阿里云MQTT: 子设备上线流程

0. 背景 阿里云网关子设备上平台的资料很少。有些厂家直接配置每个子设备的DeviceSecret到网关里&#xff0c;显然太麻烦了&#xff01;我经过阅读阿里文档&#xff0c;发现有些简化的方法&#xff0c;更便于客户使用&#xff0c;因此分享给大家。 1. 主要信息片段 子设备 $…

Java之API(上):Boolean

一、前言&#xff1a; 上次我们将到了 java.lang.* 下的包装类&#xff1a;Integer。这次我讲一下基本数据类型中的&#xff1a;布尔型&#xff08;boolean&#xff09;对应的包装类&#xff08;Boolean&#xff09;。注意&#xff1a;还有对包装类&#xff1a;Integer进行一些…

爬楼梯(力扣LeetCode)动态规划

爬楼梯 题目描述 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢&#xff1f; 示例 1&#xff1a; 输入&#xff1a;n 2 输出&#xff1a;2 解释&#xff1a;有两种方法可以爬到楼顶。 1 阶 1 阶2 阶 示…

kubernetes架构及核心组件简单介绍

目录 整体架构控制面kube-apiserver访问控制通知 kube-scheduler概述默认调度策略 kube-controller-manageretcd架构Raft协议日志复制 数据面kubeletkube-proxy 整体架构 集群架构图 控制面 控制面是kubernetes的核心组件&#xff0c;负责管理和控制集群的整体行为&#xf…

java: nio之DirectByteBuffer

package nio;import java.nio.ByteBuffer; import java.nio.IntBuffer;public class DirectTest {public static void main(String[] args) {ByteBuffer byteBuffer ByteBuffer.allocateDirect(1024);} }

【计算机视觉】【图像处理综合应用】路沿检测

实验内容&#xff1a;针对给定的视频&#xff0c;利用图像处理基本方法实现道路路沿的检测&#xff1b; 提示&#xff1a;可利用Hough变换进行线检测&#xff0c;融合路沿的结构信息实现路沿边界定位&#xff08;图中红色的点位置&#xff09;。 处理视频文件 处理视频文件的主…