单片机全自动洗衣机控制系统

2020-12-01来源: 51hei关键字:单片机  全自动洗衣机  控制系统

本实践以单片机为基础,实现了全自动洗衣机控制系统设计。系统包含单片机、LCD显示屏、水位传感器、温度传感器等。全自动洗衣机包含的功能有:标准洗衣、经济洗衣、单独洗衣以及排水四种洗衣方式,有强洗、弱洗及运行/暂停、显示及报警功能,有自动烘干功能等。


仿真原理图如下


单片机源程序如下:

#include                                  //定义头文件

#define uint unsigned int                  //定义字符uint

#define uchar unsigned char                  //定义字符uchar

#define TIME0H 0xff                                  //定时器0计数器高位

#define TIME0L 0x9c                                  //定时器0计数器低位

#define TIME1H 0x3c                                  //定时器1计数器高位

#define TIME1L 0xb0                                  //定时器1计数器低位

#define MOTOR_COUNT 100                          //PWM波输出周期计数

                                                                               

#define sol 0x6c                                 //将"so"宏定义为低音"5"的频率 784Hz

#define Dol 0x44                                 //将"Do"宏定义为中音"1"的频率 523Hz

#define Rel 0xac                                 //将"Re"宏定义为中音"2"的频率 587Hz

#define Mil 0x09                                 //将"Mi"宏定义为中音"3"的频率 659Hz

#define Fal 0x34                                 //将"Fa"宏定义为中音"4"的频率 698Hz

#define Sol 0x82                                 //将"So"宏定义为中音"5"的频率 784Hz

#define Lal 0xc8                                 //将"La"宏定义为中音"6"的频率 880Hz

#define Sil 0x05                                 //将"Si"宏定义为中音"7"的频率 523H


#define soh 0xfc                                 //将"so"宏定义为低音"5"的频率 784Hz

#define Doh 0xfc                                 //将"Do"宏定义为中音"1"的频率 523Hz

#define Reh 0xfc                                 //将"Re"宏定义为中音"2"的频率 587Hz

#define Mih 0xfd                                 //将"Mi"宏定义为中音"3"的频率 659Hz

#define Fah 0xfd                                 //将"Fa"宏定义为中音"4"的频率 698Hz

#define Soh 0xfd                                 //将"So"宏定义为中音"5"的频率 784Hz

#define Lah 0xfd                                 //将"La"宏定义为中音"6"的频率 880Hz

#define Sih 0xfe                                 //将"Si"宏定义为中音"7"的频率 523H

                                                                  //定义宏变量

sbit speaker =P2^6;                            //蜂鸣器控制引脚

sbit RS=P1^5;                                    //LCD RS引脚

sbit R_W=P1^6;                                    //LCD 读写信号

sbit EN=P1^7;                                    //LCD 使能引脚

sbit motor_high=P1^0;                    //PWM输出高电平引脚

sbit motor_low=P1^1;                    //PWM输出低电平引脚

sbit motor_1_en=P1^2;                    //进水阀门引脚

sbit motor_2_en=P1^3;                    //出水阀门引脚

sbit motor_3_en=P1^4;                    //洗衣机电动使能引脚

sbit EOC=P2^4;                                    //AD EOC

sbit START=P2^5;                            //AD START

sbit con=P3^5;                                    //AD CON

sbit add_A=P3^0;                            //位选信号A

sbit lock_OE=P3^1;                            //74ls373锁存控制引脚


                                                            //定义全局变量

uchar process;                                    //当前洗衣机运行状态全局变量

uchar method;                                    //当前洗衣机运行方式全局变量

uchar speed;                                    //当前电动机速度全局变量

uchar flag;                                                //标志位

uchar state;                                        //洗衣机运行状态选择

uint ad_level;                                    //水位采样全局变量

uint ad_voltage;                            //电压采样全局变量

uint time_count;                            //定时器0中断次数全局变量

uint time_count1;                            //定时器1中断次数全局变量

uint MOTOR_ON,MOTOR_NOW;            //电动机pwm控制计数,高电平脉冲数和当前脉冲数

uchar st_pau;                                    //当前洗衣机运行全局变量

uchar step;                                            //当前洗衣机运行步骤全局变量


uint Cl=0;                                                //

uint Ch=0;                                                //

uchar close=0;

//声明子函数

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10] ..[16]
关键字:单片机  全自动洗衣机  控制系统 编辑:什么鱼 引用地址:http://news.eeworld.com.cn/mcu/ic518266.html

上一篇:51单片机LCD12864显示屏图片中文英文显示
下一篇:C51单片机全自动洗衣机

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

SPCE061A单片机采集脉搏数据
这里所用的脉搏传感器是HK-2000B,模拟信号,可以采集脉搏波形,建议采用500HZ定时器来定时采集,因为市面上一些心电模块也是500HZ,因此,在一个定时器中断服务程序程序中,可以同时处理两组数据!!!以下代码有点乱,因为是在我现有项目中复制过来的。以下为ADConvert.c//============================================================//传感器数据采集源代码//============================================================#include "SPCE 061A .h"#define AD
发表于 2021-01-17
MSP430单片机对片内FLASH的读写操作程序范例
MSP430单片机对片内FLASH的读写操作程序范例//参数:wAddr为地址,范围0x1000~0xFFFFvoid ReadFlash(U16 wAddr,U8 *bBuf,U8 bLen){while (bLen--)*bBuf++=*(U8 *)wAddr++;return;}void WriteFlash(U16 wAddr,U8 *bBuf,U8 bLen){U8 reg1,reg2;reg1=_BIC_SR(GIE);reg2=IE1;IE1=0;//保护原来中断标志,并关闭有关中断。//写一个字节数据到指定
发表于 2021-01-17
MSP430单片机实践篇---内部FALSH的操作
//******************************************************************************// 测试MSP430单片机向FLASH中写入操作//// 描述; 每次掉电或复位后都能看到数码管上显示的数值增1,说明对flash的写入与读取成功//// 注意:修改flash中的内容必须首先执行擦除操作,// 因为对FLASH的操作只能将1写成0,而不能将0写成1只有擦除才能将0写回1// 擦除操作至少将擦除1个段//// 如果使用其它型号的单片机,只需将头文件改为相应的<msp430xx.h>;// 并在Option的Target中的device改为相应
发表于 2021-01-17
51单片机总线时序概述
一、总线概述计算机系统是以微处理器为核心的,各器件要与微处理器相连,且必须协调工作,所以在微处理机中引入了总线的概念,各器件共同享用总线,任何时候只能有一个器件发送数据(可以有多个器件同时接收数据) 。计算机的总线分为控制总线、地址总线和数据总线等三种。而数据总线用于传送数据,控制总线用于传送控制信号, 地址总线则用于选择存储单元或外设。二、单片机的三总线结构51系列单片机具有完善的总线接口时序,可以扩展控制对象,其直接寻址能力达到64k( 2的16次方) 。在总线模式下,不同的对象共享总线,独立编址、分时复用总线,CPU 通过地址选择访问的对象,完成与各对象之间的信息传递。单片机三总线扩展示意如图1 所示。1、数据总线51
发表于 2021-01-17
51<font color='red'>单片机</font>总线时序概述
基于51单片机的LED旋转显示器制作
由于刚学51单片机,加上制作电路板软件也是从零开始,的确花了我不少的时间和精力。不过也就是在这艰难的独立制作中,真正学到了不少实在的东西。原理就不多说了。下面分享一下我的制作过程。这里有关于本制作的更详细的图片展示:首先是制作效果图:电路图:电路采用的是无限供电模块给单片机供电的。采用无限供电。无摩擦,震动小。LED与单片机引脚之间的连接采用的是细小的漆包线。省去了限流电阻。省去复位电路制作起来更简单方便。准备主要材料:因很多人不知材料哪里买,先将地址链接在材料名称,点击就进去了1.51单片机1片2.单片机插槽和万能电路板(洞洞板)3.贴片LED0603(颜色自定,如果焊接技术不够可以用大点的,如1206,多买一些,备用
发表于 2021-01-17
基于51<font color='red'>单片机</font>的LED旋转显示器制作
51单片机复位电路原理介绍
复位电路的工作原理:在书本上有介绍,51单片机要复位只需要在第9引脚接个高电平持续2us就可以实现,那这个过程是如何实现的呢?在单片机系统中,系统上电启动的时候复位一次,当按键按下的时候系统再次复位,如果释放后再按下,系统还会复位。所以可以通过按键的断开和闭合在运行的系统中控制其复位。1、开机的时候为什么复位?在电路图中,电容的的大小是10uf,电阻的大小是10k。所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。也就是说在电脑启动的0.1S内,电容两端的电压时在0~3.5V增加。这个时候10K电阻两端的电压为从5~1.5V减少(串联
发表于 2021-01-17
51<font color='red'>单片机</font>复位电路原理介绍
小广播
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2021 EEWORLD.com.cn, Inc. All rights reserved