一.硬件方案
全自动洗衣机的实现方案组成框图如图一所示。它主要有电源、单片机最小系统、开关检测电路、控制按键输入电路和LED指示电路、继电器和电动机电路。如图:
二.设计功能
(1)由独立式按键确定功能键,包括“标准”、“经济”、“单独”、“排水”、“强洗”、“弱洗”等等。
(2)排水与进水由时间控制;
(3)开机默认状态为标准方式、强洗;
(4)在洗涤和漂洗过程中,电动机正转一次,反转一次,连续运行;
(5)在进水和脱水过程中,相应指示灯亮,继电器吸合;
(6)当在执行某个步骤时,只有“K3”键有效,按下暂停,再按下恢复运行。
三.设计原理图
(1)原理图主要采用AD软件进行设计,如图:
(2)Protues仿真图如下:
四.软件设计
主程序源码
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;
}
}
上一篇:基于51单片机的羽毛球计分器设计
下一篇:基于51单片机智能大棚浇花花盆浇水灌溉补光散热设计
推荐阅读最新更新时间:2024-11-23 01:10
推荐帖子
- 如何重载CCombobox
- 如何重载CCombobox,为何下拉框出来后,DrawItem不响应呢如何重载CCombobox下拉框出来后,鼠标的消息跑到哪里去了,这个时候我应该重载哪个函数,改变下拉框的背景色和选中条目的高亮颜色关注一下顶,我重载了CListBox,从组合框里得到下拉框的指针,重载这个下拉框,可这个下拉框没有任何改变,不知为什么。我在对话框上单独放了一个Clistbox,重载,改变了,为什么组合框的下拉框不改变呢顶
- ganyutao 嵌入式系统
- enet_io中,怎样通过js方法回显io状态的?
- enet_io例程里面有两种方式控制io,一种是SSI+CGI,一种是JS。分析JS的方法,貌似没应用到CGI,为什么我在主程序中屏蔽掉CGI的设置语句后,网页上面io状态就不能显示了呢?向论坛各位前辈高人请教,小弟先谢过了!enet_io中,怎样通过js方法回显io状态的?Demo1采用的JS,Demo2是CGI,屏蔽CGI至少Demo1不会受影响吧回复楼主gi13的帖子我屏蔽了CGI后,LED可正常开关控制,但网页上就是没有状态显示,不解回复
- gi13 微控制器 MCU
- “印象测试”微视频征集令 入围即有奖【是德科...
- 活动页面:https://www.eeworld.com.cn/huodong/Vedio_Kesysight_20160301/是德科技感恩月活动第三篇章:“印象测试”微视频征集入围即有奖期待工程师们的拍摄的微视频作品,注意看要求哈,预祝开机大吉,期待收官作品征集日期:3月1日-3月31日征集视频要求:I、视频内容为1-2分钟是德科技(安捷伦)InfiniiVision系列示波器使用心得提示:Infi
- EEWORLD社区 测试/测量
- 【行空板 Python编程学习主控板】一:开箱体验-行空板简单介绍
- 首先很感谢eeworld和DFRobot追加名额提供给我使用机会,因为是追加的名额,所以收到板子的时候是11月份中旬,在收到板子之前一直期待着板子啥时候能到,拿到板子后很期待,不过应该刚好碰到试用期考核,所以直到上个月月底一直没有空好好试用,这个月初因为刚转正,然后领导交待了比较着急的项目,周末有一天加班,另外一天参加了技术培训,所以直到今天才有空好好体验一下行空板。首先分享一张行空板包装盒外图:行空板这个小盒子很精致,包装的挺好的,最大的亮点就是盒子卡扣设计
- yaoquan5201314 编程基础
- 问个问题
- 为什么打开原来的proteus仿真文件替换一个元器件就提示说元器件重复如图问个问题Duplicatepartreference这句话的意思是你的原理图中有两个元件的引用重复了。解决方法:双击被替换的那个元器件,修改的它的“Componentreference”为Cx(x=3,4,5……)或删除它即可。楼上正解是也2楼不正解我知道那句话的意思但是我是说在重新打开原来的仿真文件的时候,用新的元器件替换原来的元器件仿真的时候软件自己把两个元器件的名字换成一
- eeboyok 模拟电子
- stc系列单片机和at系列单片机
- 有人知道STC系列单片机和AT系列单片机的区别吗,那在设计电路上有什么不同呢,如STC89C52和AT89C51,使用于一个芯片的程序和电路是不是对另一个也适用呢stc系列单片机和at系列单片机如果封装一样的,代码都是可以通用的!恩,谢谢!!!!回复沙发zqjqq88的帖子代码是一样的但要注意芯片资源的不同,务必仔细看器件手册。这个不错,AT89都不怎么用了,STC代替了,程序都不用怎么改,直接移植
- dnsch 51单片机
设计资源 培训 开发板 精华推荐
- ZTL432 大电流并联稳压器的典型应用
- EVAL-ADF7021-VDB1Z,基于 ADF7021-V 450 - 470 MHz 窄带收发器的子板
- STK503,旨在评估 AT90USB AVR MCU 的入门套件,通过 AVR Studio 支持 JTAGICE mkII 和 AVRISP mkII
- 使用 Analog Devices 的 LTC1407CMSE 的参考设计
- LTC2481、具有轻松驱动输入电流消除和 I2C 接口的 16 位 Delta Sigma ADC 的典型应用
- 使用 NXP Semiconductors 的 ISP1504 的参考设计
- 采用 AD5791B、20 位、线性、低噪声、精密、双极 ±10V 直流电压源的应用电路
- ADR525 高精度并联模式电压基准的典型应用
- 用于宽安全工作区电源的 LT3089IDF 线性稳压器的典型应用电路
- NCP4545 eco-Switch 的典型应用 具有低 RON 的高级负载管理控制负载开关,用于外部泄放电阻器,可独立调整开启延迟和压摆率