基于51单片机多功能洗衣机控制(强洗弱洗漂洗)设计( proteus仿真+程序+设计报告+原理图+讲解视频)
基于51单片机多功能洗衣机控制(强洗弱洗漂洗)设计( proteus仿真+程序+设计报告+原理图+讲解视频)
多功能洗衣机控制-强洗弱洗漂洗
- 1. 主要功能:
- 2. 讲解视频:
- 3. 仿真设计
- 4. 程序代码
- 5. 设计报告
- 6. 原理图
- 7. 设计资料内容清单
- 资料下载链接:
仿真图proteus7.8及以上
程序编译器:keil 4/keil 5
编程语言:C语言
设计编号:S0077
1. 主要功能:
基于51单片机的洗衣机多功能控制面板proteus仿真设计。
1、通过直流电机的转速体现三种不同洗衣方式,弱洗、强洗、漂洗;
2、用三个独立按键设置待洗衣物的不同洗涤方式:
丝质衣服:漂洗定时3分钟
棉质衣服:弱洗2分钟;强洗5分钟;漂洗3分钟;
化纤衣服:强洗4分钟;漂洗2分钟;
3、定时时间到,或者中途按下停止键,蜂鸣器报警提示;
4、数码管显示定时时间;
需注意仿真中51单片机芯片是兼容的,AT89C51,AT89C52是51单片机的具体型号,内核是一样的。相同的原理图里,无论stc还是at都一样,引脚功能都是一样的,程序是兼容的,芯片可以替换为STC89C52/STC89C51/AT89C52/AT89C51等51单片机芯片。
2. 讲解视频:
讲解视频包含仿真运行讲解和代码讲解
3. 仿真设计
打开仿真工程,双击proteus中的单片机,选择hex文件路径,然后开始仿真。通过按键选择模式,化纤模式下启动开始六分钟倒计时,化纤衣服下强洗4分钟;漂洗2分钟。
通过按键选择棉质模式,开始十分钟倒计时。棉质衣服:弱洗2分钟;强洗5分钟;漂洗3分钟;
通过按键选择丝质模式,开始十分钟倒计时。丝质模式漂洗定时3分钟;
定时时间到,或者中途按下停止键,蜂鸣器报警提示;数码管显示定时时间。
4. 程序代码
使用keil4或者keil5编译,代码有注释,可以结合视频理解代码含义。
#include "reg51.h"#define uchar unsigned char
#define uint unsigned int
sbit k1=P3^0;//按钮
sbit k2=P3^1;
sbit k3=P3^2;
sbit k4=P3^3;
sbit k5=P3^4;
sbit out=P1^0;
sbit beep=P2^4;//蜂鸣器
sbit led1=P3^5;//洗涤强度指示
sbit led2=P3^6;
sbit led3=P3^7;
sbit led4=P2^5;//洗涤模式
sbit led5=P2^6;
sbit led6=P2^7;
sbit led7=P1^7;//启停
sbit smg1=P2^0;//数码管
sbit smg2=P2^1;
sbit smg3=P2^2;
sbit smg4=P2^3;uchar code smgduan0[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//显示0~9,无小数点
uchar code smgduan1[10]={0xbf,0x86,0xdb,0xcf,0xe6,0xed,0xfd,0x87,0xff,0xef};//显示0~9,有小数点
//丝质silk,棉质Cotton,化纤Chemical fiber
uchar time=0,miao=0,fen=0;//时间
uchar start=0,mode=0,sec=0;void disp();//函数声明
// 定义输出PWM信号的函数,参数k用于区分弱洗、强洗和漂洗模式
void pwm(uchar k)//弱洗、强洗、漂洗;
{uchar i;// 循环99次,模拟不同阶段的电机转速控制for(i = 0; i < 99; i++){// 根据k值判断当前处于哪种洗涤模式,并相应设置电机输出(out)if(k == 1) // 若为弱洗模式{if(i < 30) // 当计数i小于30时,电机低速运行(out=0)out = 0;else // 否则电机高速运行(out=1)out = 1;}else if(k == 2) // 若为强洗模式{if(i < 50) // 当计数i小于50时,电机低速运行(out=0)out = 0;else // 否则电机高速运行(out=1)out = 1;}else if(k == 3) // 若为漂洗模式{if(i < 10) // 当计数i小于10时,电机低速运行(out=0)out = 0;else // 否则电机高速运行(out=1)out = 1;}// 调用disp()函数显示当前时间disp();}
}
//延时
void delay(uint i)
{while(i--);
}
//显示
void disp()
{P0 = smgduan0[fen / 10]; // 显示分钟的十位数字smg1 = 0; // 清除数码管段选信号delay(10); // 延迟一段时间以实现分段显示效果smg1 = 1; // 设置数码管段选信号P0 = smgduan1[fen % 10]; // 显示分钟的个位数字smg2 = 0; // 清除数码管段选信号delay(10);smg2 = 1; // 设置数码管段选信号P0 = smgduan0[miao / 10]; // 显示秒的十位数字smg3 = 0; // 清除数码管段选信号delay(10);smg3 = 1; // 设置数码管段选信号P0 = smgduan0[miao % 10]; // 显示秒的个位数字smg4 = 0; // 清除数码管段选信号delay(10);smg4 = 1; // 设置数码管段选信号
}
//主函数
void main()
{ TMOD|=0X01;//初始化定时器TH0=0X3C;TL0=0XB0; ET0=1;//打开定时器0中断允许EA=1;//打开总中断TR0=1;//打开定时器while(1)完整代码见文章末尾压缩包{disp();//显示时间if(!k1)//丝质{mode=0;} if(!k2)//棉质{mode=1;}if(!k3)//化纤{mode=2;}if(!k4)//启动{start=1;beep = 1; }if(!k5)//停止{start=0;fen=0;miao=0;beep = 1;sec = 0;}if(start==1)//如果启动标志start为1,则执行相应的洗涤操作{if(mode==0)//丝质,漂洗定时3分钟{fen=3;miao=0;led1=1;led2=1;led3=0;while((fen>0)||(miao>0)){pwm(3);if(!k5)//停止{start=0;break;} }sec=30;start=0;}}
}// 定义定时器0的中断服务程序,当定时器0产生中断时,该函数会被调用
void Timer0() interrupt 1
{// 检查时间计数变量time是否小于10(这里设置的是每过约10个计数值表示1秒)if(time < 10){// 如果time未满1秒,则将其加1,继续累计时间time++;}else{// 当累积到1秒后,重置time为0,并开始处理倒计时逻辑time = 0;// 检查当前秒数miao是否大于0,如果是,则进行倒计时操作,减去1秒if(miao > 0)miao--;// 当miao减至0时,检查分钟数fen是否大于0else{// 若fen大于0,则分钟数减少1,并将miao重新设定为59秒miao = 59;if(fen > 0)fen--;// 若fen也已减至0,则清零miaoelse{miao = 0;}}// 根据start标志判断是否正在启动状态if(start == 1) {// 若处于启动状态,关闭led7(可能表示某种运行指示灯)led7 = 0;}else{// 若不在启动状态,则打开led7led7 = 1;}// 显示当前工作模式// mode=0时显示对应LED组合if(mode == 0){led4 = 0; // 设置led4的状态led5 = 1; // 设置led5的状态led6 = 1; // 设置led6的状态}// mode=1时显示另一组LED组合if(mode == 1){led4 = 1; // 设置led4的状态led5 = 0; // 设置led5的状态led6 = 1; // 设置led6的状态}// mode=2时显示最后一组LED组合if(mode == 2){led4 = 1; // 设置led4的状态led5 = 1; // 设置led5的状态led6 = 0; // 设置led6的状态}// 蜂鸣器控制部分// 检查蜂鸣器延时计数器sec是否大于0if(sec > 1){// 如果sec大于0,则减1并关闭蜂鸣器(beep=0)sec--;beep = 0;} else if(sec==1) {// 若sec已经减至1,则开启蜂鸣器(beep=1)beep = 1;}// 重新加载定时器0的初值,以维持固定的中断频率(这里是设置成大约1秒的周期)TH0 = 0X3C;TL0 = 0XB0;}
}
5. 设计报告
6098字设计报告,内容包括硬件设计、软件设计、软硬件框图、调试、结论等
通过Proteus仿真平台的强大功能,我们能够进行全方位的功能验证与性能测试,使学生能够在虚拟环境中实现对整个系统的硬件电路设计、软件编程及系统集成的全过程演练。此过程不仅能帮助学生深入理解单片机系统在实际家电产品中的具体应用方式和工作原理,还为他们提供了宝贵的实践机会,可以锻炼并提升硬件电路设计、信号处理、嵌入式编程、实时控制算法开发等方面的专业技能。
同时,本设计项目强调理论与实践相结合的教学方法,鼓励学生自主探究,激发创新思维,通过解决实际问题来积累工程实践经验。因此,完成此项目后,学生们不仅能掌握单片机系统在智能家电领域的具体应用,还能全面提升自身的综合设计能力和实际动手能力,为未来从事相关领域的工作或研究奠定坚实的基础。
6. 原理图
原理图使用AD绘制,可供实物参考,仿真不同于实物,需要调试经验才能做出来。
Proteus仿真和实物作品的区别:
1.运行环境:Proteus仿真是在计算机上运行的,而实物则是在硬件电路板上运行。
2.调试方式:在Proteus仿真中,可以方便地进行单步调试和观察变量值的变化,而在实物中则需要通过调试器或者串口输出等方式进行调试。
电路连接方式:在Proteus仿真中,可以通过软件设置进行电路连接的修改,而在实物中则需要通过硬件电路板和连接线进行修改。
3.运行速度:Proteus仿真通常比实物运行速度快,因为仿真是基于计算机运行的,而实物则需要考虑电路板上的物理限制和器件的响应时间等因素。
4.功能实现:在Proteus仿真中,可以通过软件设置实现不同的功能,而在实物中则需要根据电路设计和器件的性能进行实现。
7. 设计资料内容清单
资料设计资料包括仿真,程序代码、讲解视频、功能要求、设计报告、软硬件设计框图等。
0、常见使用问题及解决方法–必读!!!!
1、程序代码注释
2、proteus仿真
3、功能要求
4、软硬件流程图
5、开题报告
6、设计报告
7、原理图
8、讲解视频
Altium Designer 安装破解
KEIL+proteus 单片机仿真设计教程
KEIL安装破解
Proteus元器件查找
Proteus安装
Proteus简易使用教程
单片机学习资料
相关数据手册
答辩技巧
设计报告常用描述
鼠标双击打开查找嘉盛单片机51 STM32单片机课程毕业设计.url
资料下载链接:
https://docs.qq.com/doc/DS29EdFdqUVVHWWFJ
相关文章:
基于51单片机多功能洗衣机控制(强洗弱洗漂洗)设计( proteus仿真+程序+设计报告+原理图+讲解视频)
基于51单片机多功能洗衣机控制(强洗弱洗漂洗)设计( proteus仿真程序设计报告原理图讲解视频) 多功能洗衣机控制-强洗弱洗漂洗 1. 主要功能:2. 讲解视频:3. 仿真设计4. 程序代码5. 设计报告6. 原理图7. 设计资料内容清单资料下载链接…...
CVP(ChatGPT、Vector Database和Prompt)
CVP实际上指的是ChatGPT、Vector Database和Prompt的结合,这是一种新型的技术栈,用于构建智能应用。 首先,我们来看这三个组成部分: ChatGPT:这是一个强大的语言模型,它能够理解并生成自然语言文本。Chat…...
c语言-----数组知识汇总
前言 本文为我学习数组知识点之后,对c语言的数组部分进行的知识点汇总。 简单数组介绍 简单来说,数组就是一个数据组,像一个箱子,里面放有多个数据。 [1,2,3,4,5] 数组的定义 基础定义 语法: 数据类型 数组名[数组…...
【游戏开发之热更新技术】
游戏开发之热更新技术 热更新技术是指在不重新发布和安装应用的情况下,对已部署的应用程序进行更新和修补的技术。这种技术在现代软件开发中变得越来越重要,因为它能够为用户提供更加及时的服务和更好的体验。以下是一篇关于热更新技术的文章࿰…...
小红的白色字符串
题目描述 小红拿到了一个字符串,她准备将一些字母变成白色,变成白色的字母看上去就和空格一样,这样字符串就变成了一些单词。 现在小红希望,每个单词都满足以下两种情况中的一种: 1.开头第一个大写,其余为…...
Python+Django+Html网页版人脸识别考勤打卡系统
程序示例精选 PythonDjangoHtml人脸识别考勤打卡系统 如需安装运行环境或远程调试,见文章底部个人QQ名片,由专业技术人员远程协助! 前言 这篇博客针对《PythonDjangoHtml网页版人脸识别考勤打卡系统》编写代码,代码整洁…...
第1章、react基础知识;
一、react学习前期准备; 1、基本概念; 前期的知识准备: 1.javascript、html、css; 2.构建工具:Webpack:https://yunp.top/init/p/v/1 3.安装node:npm:https://yunp.top/init/p/v/1 …...
物联网会用到哪些数据开发
物联网(IoT)涉及大量的设备和传感器,产生的数据种类繁多,因此在物联网领域进行数据开发时,可能涉及以下几个方面: 数据采集与存储: 设备数据采集:从各种传感器和设备中采集数据&…...
[Linux]一篇文章带你搞定软硬连接
阅读导览: 先在windows中先见见软硬连接从名字、inode等方面分析软硬连接如何实现软硬连接硬链接注意事项软硬链接都用来干什么如何在windows中实现硬链接 文章目录 概念简述文件系统windows下的快捷方式--软硬链接的直观体现角度1:文件名角度2ÿ…...
AI常见关键术语
哈喽,大家好,我是小码哥,人工智能技术的快速发展带来了许多专业术语,这些词汇对于理解AI的工作原理和应用至关重要。以下是一些关键的AI术语,以及它们的专业解释和通俗总结。 一、核心概念 人工智能 (AI) 专业解释&am…...
DataX案例,MongoDB数据导入HDFS与MySQL
【尚硅谷】Alibaba开源数据同步工具DataX技术教程_哔哩哔哩_bilibili 目录 1、MongoDB 1.1、MongoDB介绍 1.2、MongoDB基本概念解析 1.3、MongoDB中的数据存储结构 1.4、MongoDB启动服务 1.5、MongoDB小案例 2、DataX导入导出案例 2.1、读取MongoDB的数据导入到HDFS 2…...
HarmonyOS鸿蒙端云一体化开发--适合小白体制
端云一体化 什么是“端”,什么是“云”? 答:“端“:手机APP端 “云”:后端服务端 什么是端云一体化? 端云一体化开发支持开发者在 DevEco Studio 内使用一种语言同时完成 HarmonyOS 应用的端侧与云侧开发。 …...
Quanto: PyTorch 量化工具包
量化技术通过用低精度数据类型 (如 8 位整型 (int8)) 来表示深度学习模型的权重和激活,以减少传统深度学习模型使用 32 位浮点 (float32) 表示权重和激活所带来的计算和内存开销。 减少位宽意味着模型的内存占用更低,这对在消费设备上部署大语言模型至关…...
宝塔面板Docker+Uwsgi+Nginx+SSL部署Django项目
这次为大家带来的是从零开始搭建一个django项目并将它部署到linux服务器上。大家可以按照我的步骤一步步操作,最终可以完成部署。 步骤1:在某个文件夹中创建一个django项目 安装django pip install django创建一个django项目将其命名为djangoProject …...
Android 无线调试 adb connect ip:port 失败
1. 在手机打开 无线调试 使用 adb connect 连接 adb connect 192.168.14.164:39511如果连接成功, 查看连接的设备, 忽略 配对下面的步骤. adb devices如果连接失败: failed to connect to 192.168.14.164:39511如果失败了, 可以杀死一下进程, 然后执行后面的操作 adb kill…...
年龄与疾病c++
题目描述 某医院想统计一下某项疾病的获得与否与年龄是否有关,需要对以前的诊断记录进行整理,按照0-18岁、19-35岁、36-60岁、61以上(含61)四个年龄段统计的患病人数以及占总患病人数的比例。 输入 共2行,第一行为过…...
neo4j-01
Neo4j是: 开源的(社区版开源免费)无模式(不用预设数据的格式,数据更加灵活)noSQL(非关系型数据库,数据更易拓展)图数据库(使用图这种数据结构作为数据存储方…...
正则表达式 速成
正则表达式的作用 正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE),是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字…...
21、Lua 面向对象
Lua 面向对象 Lua 面向对象面向对象特征Lua 中面向对象一个简单实例创建对象访问属性访问成员函数完整实例 Lua 继承完整实例 函数重写 Lua 面向对象 面向对象编程(Object Oriented Programming,OOP)是一种非常流行的计算机编程架构。 以下…...
openssl3.2 - exp - class warp for sha3-512
文章目录 openssl3.2 - exp - class warp for sha3-512概述笔记调用方代码子类 - cipher_sha3_512.h子类 - cipher_sha3_512.cpp基类 - cipher_md_base.h基类 - cipher_md_base.cpp备注END openssl3.2 - exp - class warp for sha3-512 概述 前面实验整了一个对buffer进行sha…...
cog predict docker unknown flag: --file
如图: 使用cog predict -i image“link-to-image” 出现docker unknown flag: --file的问题。 解决方法(对我可行):切换cog版本。 这个是我一开始的cog安装命令(大概是下的最新版?)࿱…...
SpringMVC接收参数方式讲解
PathVariable 该注解用于接收具有Restful风格的参数,如/api/v1/1001,最终userId的值为1001。 如下代码中,使用name属性可以指定GetMapping中的id名称与之对应,从而可以自定义参数名称userId,而不是使用默认名称id G…...
JavaScript 中arguments 对象详细解析与案例
在JavaScript中,每个函数都有一个内部对象arguments,它包含了函数调用时传递的所有参数。arguments对象类似一个数组,但是它并不是真正的数组,它没有数组的方法,只有length属性和索引访问元素的能力。 以下是对argume…...
消除 BEV 空间中的跨模态冲突,实现 LiDAR 相机 3D 目标检测
Eliminating Cross-modal Conflicts in BEV Space for LiDAR-Camera 3D Object Detection 消除 BEV 空间中的跨模态冲突,实现 LiDAR 相机 3D 目标检测 摘要Introduction本文方法Single-Modal BEV Feature ExtractionSemantic-guided Flow-based AlignmentDissolved…...
【免安装的MATLAB--MATLAB online】
目录: 前言账号的注册图片处理的示例准备图片脚本函数 总结 前言 在计算机、数学等相关专业中,或多或少都会与MATLAB产生藕断丝连的联系,如果你需要使用MATLAB,但是又不想要安装到自己的电脑上(它实在是太大了啊&#…...
Flyway 数据库版本管理
一、Flyway简介 Flyway是一款开源的数据库迁移工具,可以管理和版本化数据库架构。通过Flyway,可以跟踪数据库的变化,并将这些变化作为版本控制的一部分。Flyway支持SQL和NoSQL数据库,并且可以与现有的开发流程无缝集成࿰…...
lua学习笔记19(面相对象学习的一点总结)
print("*****************************面相对象总结*******************************") object{} --实例化方法 function object:new()local obj{}self.__indexselfsetmetatable(obj,self)return obj end-------------------------如何new一个对象 function object:…...
视觉SLAM学习打卡【10】-后端·滑动窗口法位姿图
本节是对上一节BA的进一步简化,旨在提高优化实时性.难点在于位姿图部分的雅可比矩阵求解(涉及李代数扰动模型求导),书中的相关推导存在跳步(可能数学功底强的人认为过渡的理所当然),笔者参考了知…...
【动态规划 区间dp 位运算】100259. 划分数组得到最小的值之和
本文涉及知识点 动态规划 区间dp 位运算 LeetCode100259. 划分数组得到最小的值之和 给你两个数组 nums 和 andValues,长度分别为 n 和 m。 数组的 值 等于该数组的 最后一个 元素。 你需要将 nums 划分为 m 个 不相交的连续 子数组,对于第 ith 个子数…...
CSS核心样式-02-盒模型属性及扩展应用
目录 三、盒模型属性 常见盒模型区域 盒模型图 盒模型五大属性 1. 宽度 width 2. 高度 height 3. 内边距 padding 四值法 三值法 二值法 单值法 案例 4. 边框 border 按照属性值的类型划分为三个单一属性 ①线宽 border-width ②线型 border-style ③边框颜色 bo…...
傲派电子商务网站建设总结/男生和女生在一起探讨人生软件
现在的网游无论是手游还是端游,邮件系统几乎是必备的功能。游戏的邮件系统类似日常使用的邮件,可以是玩家发给玩家的邮件消息,也可以是系统发给玩家的消息,当然更重要的功能是附件(可以发放道具)和群发(可以用于定期活动奖励发放)…...
大兴黄村网站建设公司/网站seo排名优化方法
下面,根据上面范例提供的内容,举几个例子:例1 RAM READ_WRITE DATA_NEAR 0x2000 TO 0x3FFF;上面这句话的意思是:分配0x2000-0x3FFF的区域的块名为“RAM”(当然可以定义别的名称),由上一…...
食品品牌推广方案/广东网站se0优化公司
IBM全球服务中心最近发布的一份白皮书描述了IBM技术研究院(Academy of Technology)为取得SOA实施的成功所运用的经验。具体地讲,他们关注于以下五个优先考虑事项: 以面向未来的眼光进行架构开发——对SOA实施来说,最需…...
网上申请注册公司应该怎么办理/佛山市seo推广联系方式
linux下php增加openssl.so模块切换到php安装目录的etx/openssl目录cd /home/tao/soft/php-5.2.13/ext/opensslopenssl目录下有个config.w32和config0.m4,把config0.m4改名为config.m4(原因不解释)mv config0.m4 config.m4$PHP_PREFIX/bin/phpize或直接/usr/local/ph…...
网络用户提要求找人帮忙做的网站/百度搜索官网
📢前言🌲原题样例:旋转字符串🌻C#方法:判断子串🌻Java 方法:判断子串💬总结📢前言 🚀 算法题 🚀 🌲 每天打卡一道算法题,…...
平台流量排名/重庆百度快照优化
平台:VC 2005 测试通过!.vcproj这是使用应用程序向导生成的 VC 项目的主项目文件。 它包含生成该文件的 Visual C 的版本信息,以及有关使用应用程序向导选择的平台、配置和项目功能的信息。StdAfx.h, StdAfx.cpp这些文件用于生成名为 twod.pc…...