基于51单片机的智能洗衣机设计与制作_第1页
基于51单片机的智能洗衣机设计与制作_第2页
基于51单片机的智能洗衣机设计与制作_第3页
基于51单片机的智能洗衣机设计与制作_第4页
基于51单片机的智能洗衣机设计与制作_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

湖南商务职业技术学院毕业设计

目录

1产品功能分析..............................................................................................1

2智能洗衣机工作流程..................................................................................1

3产品方案设计..............................................................................................2

4产品硬件设计..............................................................................................3

4.1主控模块................................................................................................3

4.2控制面板模块.........................................................................................4

4.3显示模块................................................................................................5

4.4蜂鸣器模块.............................................................................................5

4.5电机驱动模块........................................................................................6

4.6给排水模块............................................................................................6

5产品软件设计..............................................................................................7

5.1主程序设计.............................................................................................7

5.2标准洗衣程序设计.................................................................................8

5.3洗涤程序的设计.....................................................................................9

5.4漂洗程序的设计.....................................................................................9

5.5脱水程序的设计...................................................................................10

6产品使用说明............................................................................................11

6.1产品装配图...........................................................................................11

6.2产品使用说明.......................................................................................12

7产品设计的技术标准及规范....................................................................13

8参考资料..........................................................................................................13

附录.....................................................................................................................14

附录1产品元器件清单............................................................................14

附录2原理图............................................................................................15

附录3PCB设计图.....................................................................................16

附录4产品实物图....................................................................................17

I

湖南商务职业技术学院毕业设计

附录5主程序代码....................................................................................18

II

湖南商务职业技术学院毕业设计

基于51单片机的智能洗衣机设计与制作

1产品功能分析

本产品是设计一个智能洗衣机控制系统,以便于实现自动洗衣机的基本操

作自动化。在我们进产品设计时,涉及了从基础硬件到应用软件两个基本方面

的许多具体内容。在整体硬件系统设计制作方面,需要自主设计制作出完整的

全自动滚筒式洗衣机智能控制系统的整体硬件控制电路设计结构图和PCB板设

计示意图。在系统软件设计控制方面,需要为用户提供量身设计定制的全自动

滚筒式洗衣机功能控制系统的各种控制软件和相关硬件,达到很好地直接完成

对自动洗衣机各项功能相关的软硬件的控制管理。

在具体的系统设计开发过程中,充分运用了现有已经成熟的系统软件与应

用程序系统开发设计语言。在系统硬件绘图设计中,使用AD软件设计电路的各

个基本原理结构图、pcb板图等。在这次的应用软件设计中,c51给出了应用程

序的脚本编写和软件开发上的工作尽量减少了许多困难和重要的技术问题,使

得这些功能的具体实现以及操作上因此变得更容易,代码也因此变得更清晰易

懂。Keiluvision4作为采用c51开发的软件ide,也给我们的软件设计功能实

现以及工作流程带来了便捷。

单片机智能控制管理系统与智能洗衣机的完美相互融合,将更好地充分适

应了现代人们对于智能洗衣机的设备自动化、智能化、安全性、健康和智能节

约环保的迫切要求。

2智能洗衣机工作流程

对于图2.1全自动清洁式洗衣机的具体操作流程进行详细阐述说明:

①按下电源控制器、开始按钮,并将其配合上洗衣机的上盖,开始正常运

行。

②按照要求的水位顺序选择,开始深度进行洗涤,直到(高、中、低)达到一

定的水位,关闭水,2秒后即可开始清洁。

③洗涤时,正方向旋转28秒,停2秒,然后反方向旋转28秒,停2秒;正反

1

湖南商务职业技术学院毕业设计

循环(强洗20次,中洗10次,弱洗5次,然后开始排水。

④排空后脱水30秒。

⑤开始清洁,按照相应的水位顺序选择,开始推入水位,直到(高、中、低)

达到一定的水位,关闭水泵,2秒后即可开始清洁。

⑥洗涤时正反转循环5次。

⑦循环完毕,开始排水。

⑧按照清洗选择,如果为一清,直接执行⑨;如果为二清,循环执行⑤-⑦。

⑨开始脱水120秒。

⑩脱水完成,报警3秒并自动停机。

图2.1智能洗衣机的工作流程

3产品方案设计

本产品实现了对洗衣机整个洗衣过程的控制,包括用户参数输入、洗衣、

漂洗、排水和脱水等阶段。控制系统主要由电源电路、单片机控制系统和外部

硬件电路构成。电源采用+5V电源,单片机控制系统负责控制洗衣机的工作过

程,主要由STC89C52单片机、2位共阳数码管、按键、蜂鸣器、LED指示灯组

成;外部硬件电路有继电器、三极管、电动机等组成。系统整体设计框图如

下:

2

湖南商务职业技术学院毕业设计

复位电路STC89C52电机控制电路

单片机主控

时钟电路进水、排水电路

系统

电源电路蜂鸣器报警电路

按键电路显示电路

图3.1系统总体框图设计

4产品硬件设计

根据系统总体设计,产品的硬件系统的设计核心就是由51单片式电机模块

作为其核心充当的一个主控控制模块,主控控制模块通过信号处理器在控制面

板上实时发出的自动控制显示命令和进出水位自动检测器上实时反馈的水位数

据显示信息,然后向自动显示控制模块、进出排水电磁控制阀、电子控制、蜂鸣

器分别发出相关控制命令信息和显示数据。

4.1主控模块

这套智能洗衣机系统采用的是STC公司生产的STC89C52RC单片机。

STC89C52RC具有抗干扰、高速、低功耗的优点,指令也可以完美兼容传统的

8051单片机,工作时需要5V的电压,有8KB的Flash程序存储器和512B的

RAM数据存储器,功能强大。主控模块最小系统电路设计如下:

3

湖南商务职业技术学院毕业设计

图4.1主控系统设计图

4.2控制面板模块

控制面板模块主要包括电源、开始、水位、模式等按键和选择按键(A、B、

C、D)。在本次设计的过程中,对于控制硬件,在实现的时候也以按键来代替信号

的输入。

图4.2控制面板的按键电路

4

湖南商务职业技术学院毕业设计

4.3显示模块

考虑到洗衣机需要显示的信息并不是很多,主要是洗涤时间的显示,在显

示器上,采用了2为共阳极数码管显示,显示电路如下所示。

图4.3两位数码管显示电路

4.4蜂鸣器模块

单片机采用P07引脚电路经由一个带有限流器的电阻电极连接器得到三极

体导管的一个基端,在这个电阻三极管上的集线器电极进行连接后得到一个射

频蜂鸣器。它最初是由一个微微单片机设计用于以微微软件计算延时的一种形

式使用来设计制造并输出一个小的正方波。蜂鸣器控制模块中的控制电路基本

结构如软件图4.4所示:

图4.4蜂鸣器电路

5

湖南商务职业技术学院毕业设计

4.5电机驱动模块

本产品采用以直流电机模拟洗衣机电机,采用LM298驱动,能够实现电机

的正反转,以及PWM调速模拟洗衣机转速,具体电路设计如下:

图4.5电机驱动模块

4.6给排水模块

洗衣机进水和排水,采用继电器控制电磁阀,本产品分别设计了进水继电器

和排水继电器两个电路。

图4.6进排水继电器控制电路设计图

6

湖南商务职业技术学院毕业设计

5产品软件设计

5.1主程序设计

根据产品设计要求控制主程序流程图如图5.1所示。洗衣机通电之后单片机

上电首先进行程序的初始化包括定时器0、外部中断0、外部中断1的初始化以

及各参数初值的设定。默认洗衣强度为“标准洗”漂洗次数2次。然后扫描按键

的状态确定洗衣过程。当发现启动键按下洗衣机从待命状态进入工作状态。完成

进水、洗涤、脱水、漂洗的循环过程。当洗衣结束时控制蜂鸣器发声。

图5.1主程序流程图

7

湖南商务职业技术学院毕业设计

5.2标准洗衣程序设计

标准洗衣是默认的洗衣方式,其流程图如图5.2所示:

洗衣开始

开进水阀进水

电机运转

N

洗涤结束?

Y

漂洗开始

电机运转

N

漂洗两次结束?

Y

脱水开始

电机正转

N

脱水结束?

Y

蜂鸣器报警

洗衣结束

图5.2标准洗衣程序流程图

8

湖南商务职业技术学院毕业设计

5.3洗涤程序的设计

洗涤是洗衣过程中的主要步骤。当进水结束后进入洗衣状态,洗衣开始,电

动机正转-停止-反转一直循环,当洗衣时间等于零时,洗衣结束且进入漂洗。程

序流程图如图5.3所示:

洗衣开始

电机正转

电机停止

电机反转

电机停止

N

剩余时间=0?

Y

进入漂洗

图5.3洗涤程序流程图

5.4漂洗程序的设计

漂洗是一个比较固定的洗衣方式,与洗涤过程操作相同,只是时间短一些。

漂洗次数为二次。漂洗程序流程图如图5.4所示:

9

湖南商务职业技术学院毕业设计

开始

漂洗指示灯

N

第一次漂进入脱

Y

第二次漂漂洗完成?漂洗指示灯灭

漂洗结束

图5.4漂洗程序流程图

5.5脱水程序的设计

脱水前先打开排水阀排水。然后启动电动机脱水并保持排水阀开启,然后停

止脱水,并且蜂鸣器报警提醒用户洗衣完成。程序流程图如图5.5所示:

10

湖南商务职业技术学院毕业设计

开始脱水

开排水阀

开电机脱水Y盖板合闭?

N

蜂鸣器报警

盖板开否?Y暂停

N

N

脱水结束?

Y

关电机、排水阀

开蜂鸣器

洗衣结束

图5.5脱水洗涤程序流程图

6产品使用说明

6.1产品装配图

本产品主要由单片机模块、电源、开关、按键、电机驱动电路、进水和排

水继电器、数码管显示器、嗡鸣器等组成,具体装配图如下:

11

湖南商务职业技术学院毕业设计

图6.1产品装配图

6.2产品使用说明

(1)接通电源,打开开关,按下启动键S2,开始标准洗涤程序;

(2)启动/暂停S2按钮控制:第一次启动,标准洗涤;工作时按此按钮

暂停,再按则恢复工作;

(3)如果打开盖板(S3键模拟),脱水暂停;

(4)S4用于快速洗衣方式;当脱水时,模拟盖板合闭;

(5)54脱水程序启动键;

(6)S1为电源开关。

12

湖南商务职业技术学院毕业设计

7产品设计的技术标准及规范

[1]J-STD-001E电气与电子组件的焊接要求

[2]IPC-A-610D(中文版),IPC-A-610E电子组件的可接受性要求

[3]IPC-7711/21电子组件和电路板的返工&返修

[4]GB/T11457-2006信息技术软件工程术语;

[5]GB/T8566-2007信息技术软件生存周期过程标准;

[6]GB/T8567-2006计算机软件文档编制规范。

8参考资料

[1]王彦平,任延群,危胜军等.Protel99电路设计指南[M].北京:清华大学出版社,

2000.

[2]李东生,张勇,许四毛等.Protel99SE电路设计技术入门与应用[M].北京:电子

工业出版社,2002.

[3]梁恩主,梁恩维等.Protel99SE电路设计与仿真应用[M].北京:清华大学出版社,

2000.

[4]王正谋.Protel电路设计使用教程[M].北京:电子工业出版社,20003.

[5]马家辰,孙玉德,张颖等.MCS-51单片机原理及接口技术[M].哈尔滨:哈尔滨工

业大学出版社,2000.

[6]王守中.51单片机开发入门与典型实例[M].北京:人民邮电出版社,2007.

[7]曾璐,李明.基于AT89C52单片机的洗衣机智能控制系统[J].电子技术,2006,

33(11):67-69.

13

湖南商务职业技术学院毕业设计

附录

附录1产品元器件清单

名称+D27B12A1:D25型号对应原理图编号数量

电容104C11

电容10UFC21

电容30PFC3,C42

电容220UFC51

5MM红色发光二极管REDD11

5MM黄色发光二极管YELLOWD2,D52

5MM蓝色发光二极管BLUED31

5MM绿色发光二极管GREEND4,D62

2位共阴极数码管SMG_2_2DS11

蜂鸣器BELLFMQ11

51单片机STC89C52IC11

5V电机接口P2J11

排阻10KJ21

3P接线端子电源接口J3,J42

5V继电器5V继电器Kj11

Kj21

DC电源座子POWERP11

PNP三极管,PNP三极管9012Q1,Q2,Q33

电阻2KR1,R2,R3,R4,R5,R7,R8,R9,R109

电阻10KR61

微动开关SW-PBS1,S2,S3,S4,S55

电源开关SWITCHS61

电机驱动芯片L298NU11

晶振12MY11

14

湖南商务职业技术学院毕业设计

附录2原理图

15

湖南商务职业技术学院毕业设计

附录3PCB设计图

16

湖南商务职业技术学院毕业设计

附录4产品实物图

17

湖南商务职业技术学院毕业设计

附录5主程序代码

#include<reg52.h>

#include<intrins.h>

#defineucharunsignedchar

#defineuintunsignedint

#definehigh0x01//水位高、中、低

#definemid0x02

#definelow0x03

#definestrong0x04//洗涤模式强、中、弱

#definemiddle0x05

#definefeeble0x06

#defineonce0x07//清洗模式一清、两清

#definetwice0x08

//key_inputdefine

sbitkey_water_line=P3^2;//水位按键输入引脚定义

sbitkey_mode=P3^3;//模式按键输入引脚定义

sbitdoor_cotrol_row=P1^7;//门控制按键输入引脚定义

sbitdoor_cotrol_line=P1^0;

sbitstart_row=P1^7;//开始按键输入引脚定义

sbitstart_line=P1^1;

sbitA_key_row=P1^6;//LCD选择A按键输入引脚定义

sbitA_key_line=P1^0;

sbitB_key_row=P1^6;//LCD选择B按键输入引脚定义

sbitB_key_line=P1^1;

sbitC_key_row=P1^6;//LCD选择C按键输入引脚定义

sbitC_key_line=P1^2;

sbithigh_detector_row=P1^7;//高水位探测器按键引脚定义

sbithigh_detector_line=P1^2;

sbitmid_detector_row=P1^7;//中水位探测器按键引脚定义

sbitmid_detector_line=P1^3;

sbitlow_detector_row=P1^6;//低水位探测器按键引脚定义

sbitlow_detector_line=P1^3;

//pindefine

sbitpin_buzzer=P3^5;//蜂鸣器控制信号引脚定义

sbitpin_high_detector=P2^7;//高水位探测器反馈信号引脚定义,低电平

有效

sbitpin_mid_detector=P2^6;//中水位探测器反馈信号引脚定义,低电平

有效

sbitpin_low_detector=P2^5;//低水位探测器反馈信号引脚定义,低电平

有效

sbitpin_clockwise_washing=P2^4;//正转洗涤接触器控制信号引脚定义

18

湖南商务职业技术学院毕业设计

sbitpin_anticlockwise_washing=P2^3;//反转洗涤接触器控制信号引脚定

sbitpin_infall=P3^0;//进水电磁阀控制信号引脚定义,低电平有效

sbitpin_scupper=P3^1;//排水电磁阀控制信号引脚定义,低电平有效

sbitpin_drier=P3^7;//脱水离合器控制信号引脚定义,低电平有效

//LCD1602引脚设定

sbitrs=P2^0;

sbitrw=P2^1;

sbitep=P2^2;

sbitDB0=P0^0;

sbitDB1=P0^1;

sbitDB2=P0^2;

sbitDB3=P0^3;

sbitDB4=P0^4;

sbitDB5=P0^5;

sbitDB6=P0^6;

sbitDB7=P0^7;

//LCD显示字符数组初始化

ucharcodedis0[]={""};

ucharcodedis1[]={"Autowasher"};

ucharcodedis2[]={"MadeinChina"};

ucharcodedis3[]={"START"};

ucharcodedis4[]={"POURINGWATER"};

ucharcodedis5[]={"WASHING"};

ucharcodedis6[]={"RINSING"};

ucharcodedis7[]={"FINISH"};

ucharcodedis8[]={"DRY"};

ucharcodedis9[]={"WAIT"};

ucharcodedis10[]={"Water_lineset"};

ucharcodedis11[]={"A:HB:MC:L"};

ucharcodedis12[]={"Wash_modeset"};

ucharcodedis13[]={"A:SB:MC:F"};

ucharcodedis14[]={"rinse_modeset"};

ucharcodedis15[]={"A:onceB:twice"};

bitdoor_cotrol=1;//门控制按键按下,该值变为0;

bitstart=1;//开始按键按下,该值变为0;

bitA_key=1;//选择键A按下,该值变为0;

bitB_key=1;//选择键B按下,该值变为0;

bitC_key=1;//选择键C按下,该值变为0;

ucharwater_line=mid;//水位存储单元,初始化为中水位

ucharwash_mode=strong;//洗涤模式存储单元,初始化为强洗

ucharrinse_mode=once;//清洗模式存储单元,初始化为一清

ucharfrq;//蜂鸣器警报鸣叫变量

19

湖南商务职业技术学院毕业设计

voiddelay250us(uinti)//该延时子函数延时

250*i(us)

{

TMOD=0x00;

TR0=1;

while(i!=0)

{

TH0=0x1F;//T0延时250us计数初值

TL0=0X06;

while(TF0!=1);

TF0=0;

i--;

}

TR0=0;

}

voiddelay50ms(uinti)//该延时子函数延时50*i(ms)

{

TMOD=0x01;

TR0=1;

while(i!=0)

{

TH0=0x3C;//T0延时50ms计数初值

TL0=0xB0;

while(TF0!=1);

TF0=0;

i--;

}

TR0=0;

}

ucharkeyscan(void)//按键扫描函数

{

ucharkey;

P1=0x0F;//低四位输入

delay250us(1);

if(door_cotrol_line==0||A_key_line==0)

key=0;

elseif(start_line==0||B_key_line==0)

key=1;

elseif(high_detector_line==0||C_key_line==0)

key=2;

elseif(mid_detector_line==0||low_detector_line==0)

key=3;

else

20

湖南商务职业技术学院毕业设计

key=16;

P1=0xF0;//高四位输入

delay250us(1);

if(door_cotrol_row==0||start_row==0||high_detector_row==0||mid_detector_row==0)

key=key+12;

else

if(A_key_row==0||B_key_row==0||C_key_row==0||low_detector_row==0)

key=key+8;

else

key=16;

returnkey;

}

voidkeydown(void)//判断键是否按下

{

P1=0xF0;

while(P1==0xF0){}

switch(keyscan())

{

case12:door_cotrol=0;break;

case13:start=0;break;

case8:A_key=0;break;

case9:B_key=0;break;

case10:C_key=0;break;

case11:pin_low_detector=0;break;

case14:pin_high_detector=0;break;

case15:pin_mid_detector=0;break;

default:break;

}

}

bitlcd_bz()

{//测试LCD忙碌状态

bitresult;

rs=0;

rw=1;

ep=1;

_nop_();

_nop_();

_nop_();

_nop_();

result=(bit)(P0&0x80);

ep=0;

returnresult;

21

湖南商务职业技术学院毕业设计

}

voidlcd_wcmd(ucharcmd)

{//写入指令数据到LCD

while(lcd_bz());

rs=0;

rw=0;

ep=0;

_nop_();

_nop_();

P0=cmd;

_nop_();

_nop_();

_nop_();

_nop_();

ep=1;

_nop_();

_nop_();

_nop_();

_nop_();

ep=0;

}

voidlcd_pos(ucharpos)

{//设定显示位置

lcd_wcmd(pos);

}

voidlcd_wdat(uchardat)

{//写入字符显示数据到LCD

while(lcd_bz());

rs=1;

rw=0;

ep=0;

P0=dat;

_nop_();

_nop_();

_nop_();

_nop_();

ep=1;

_nop_();

_nop_();

_nop_();

_nop_();

ep=0;

}

22

湖南商务职业技术学院毕业设计

voidlcd_init()//LCD初始化设定

{

delay250us(50);//等待LCD电源稳定

lcd_wcmd(0x38);//16*2显示,5*7点阵,8位数据

delay250us(15);

lcd_wcmd(0x38);

delay250us(15);

lcd_wcmd(0x38);

delay250us(15);

lcd_wcmd(0x0c);//显示开,关光标

delay250us(15);

lcd_wcmd(0x06);//移动光标

delay250us(15);

lcd_wcmd(0x01);//清除LCD的显示内容

delay250us(15);

}

voidLCD_display(ucharpos1,ucharcodefirst[],ucharpos2,ucharcodesecond[])

//LCD显示调用子函数

{

uchari;

lcd_init();//初始化LCD

delay250us(10);

lcd_pos(pos1);//设置第一行的显示位置pos1

i=0;

while(first[i]!='\0')

{//显示first

lcd_wdat(first[i]);

i++;

}

lcd_pos(pos2);//设置第二行的显示位置pos2

i=0;

while(second[i]!='\0')

{

lcd_wdat(second[i]);//显示second

i++;

23

湖南商务职业技术学院毕业设计

}

delay250us(100);

}

voidLCD_display_move(ucharpos,ucharcodedischar[],uintstring)//LCD

移动显示子函数

{

uchari,j;

uintk=2;

lcd_init();//初始化LCD

delay250us(10);

lcd_pos(pos);//设置第一行的显示位置pos1

i=0;

while(dischar[i]!='\0')

{//显示first

lcd_wdat(dischar[i]);

i++;

}

lcd_pos(pos|0x40);//设置第二行的显示位置pos2

for(i=0;i<string;i++)

{

lcd_wdat('*');//显示second

}

while(k)

{

for(j=0;j<(16-string);j++)

{

lcd_wcmd(0x18);

delay50ms(2);

24

湖南商务职业技术学院毕业设计

}

for(j=0;j<(16-string);j++)

{

lcd_wcmd(0x1c);

delay50ms(2);

}

k--;

}

//delay250us(100);

}

voidinfall(uchardepth)//进水功能函数

{

switch(depth)

{

casehigh:pin_infall=0;//开启进水电磁阀,开始进水

LCD_display(0x85,dis9,0xC0,dis0);

keydown();

while(pin_high_detector)

{

keydown();

}//等待进水至高水位

pin_high_detector=1;//复位高水位探测

器反馈

pin_infall=1;//关闭进水电磁

阀,停止进水

break;

casemid:pin_infall=0;

LCD_display(0x85,dis9,0xC0,dis0);

keydown();

while(pin_mid_detector)

{

keydown();

}//等待进水至中水位

pin_mid_detector=1;//复位中水位探测器

反馈

pin_infall=1;

break;

25

湖南商务职业技术学院毕业设计

caselow:pin_infall=0;

LCD_display(0x85,dis9,0xC0,dis0);

keydown();

while(pin_low_detector)

{

keydown();

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论