单片机全自动洗衣机

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

全自动洗衣机设计

一、设计目的

1、能够根据题目要求实掌握编写程序、调试程序、软件仿真及与硬件结合。

2、熟悉89C52单片机的内部结构和功能及I/O分配,合理使用其内部寄存器、存储器、位寻址。能够完成全自动洗衣机的软件编程设计工作。

3、对全自动洗衣机软件编程、调试、相关硬件设备的使用技能等方面得到真正的实践机会,把软硬件结合,克服其中的种种问题,提高编程能力。

二、设计要求

1、洗涤过程

通电后,洗衣机进入暂停状态,以便放好衣物。若不选择洗衣周期,则洗衣机从洗涤过程开始。当按暂停开关键时,进入洗涤过程。首先进水阀通电,打开进水开关,向洗衣机供水;当到达预定水位时,水位开关接通,进水阀断电关闭,停止进水;电机接通电源,带动波轮旋转,形成洗衣水流。电机是一个正反转电机,可以形成往返水流,有利于洗涤衣物。

2、脱水过程。

洗涤或漂洗过程结束后,电机停止转动,排水阀通电,开始排水。排水阀动作时,带动离合器动作,使电机可以带动内桶转动。当水位低到一定值时,水位开关断开,再经过一段时间后,电机开始正转,带动内桶高速旋转,甩干衣物。

3、漂洗过程。

与洗涤过程操作相同,只是时间短一些。

全部洗衣工作完成后,由蜂鸣器发出音响,表示衣物已洗干净。

4、具有弱、强洗涤功能

要求强洗时正反转驱动时间各为4S,间歇时间为1S;弱洗时正反转驱动时间各为3S,间歇时间为2S。

洗衣机的标准洗衣程序是:洗涤——脱水——漂洗——脱水——漂洗——脱水——漂洗——脱水。经济洗衣程序少一次漂洗和脱水过程。具体的时间自己设定。

5、暂停功能

不管洗衣机工作在什么状态,当按下暂停键时,洗衣机需暂停工作,待启动键按下后洗衣机又能按原来所选择的工作方式继续工作。

6、声光显示功能。

洗衣机各种工作方式的选择和各种工作状态均有声光提示和显示。

三、硬件电路

3.1STC89C52单片机

3.1.1STC89C52单片机结构

STC89C52单片机如图3-1所示。

图3-1STC89C52单片机

STC89C52是STC公司生产的一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得STC89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。具有以下标准功能:8k字节Flash,512字节RAM,32 位I/O 口线,看门狗定时器,内置4KB EEPROM,MAX810

复位电路,3个16 位定时器/计数器,4个外部中断,一个7向量4级中断结构(兼容传统51的5向量2级中断结构),全双工串行口。另外STC89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。最高运作频率35MHz,6T/12T可选。

3.1.2晶振电路

晶振电路如图3-2所示。

图3-2晶振电路

晶振电路是内部时钟发生器,提供震荡脉冲。晶振的安装使用接插方式,可以直接取下更换所需晶振。

3.1.3复位电路

复位电路图如图3-3所示。

图3-3复位电路

复位电路的主要作用就是清零。按下复位按钮,与低电平相接,清除所执行过的程序,回到初始状态。

3.2系统电路原理图

系统电路原理图如图3-7所示。

图3-7系统电路图

四、流程图设计

4.1主程序

通过P0.0口是否为0判断洗衣模式是标准模式还是经济模式,当P0.0为0时洗衣模式为标准模式,程序跳到标准模式下执行,否则为经济模式,程序跳到经济模式下执行。

图4-1 主程序

4.2 强洗子程序

洗涤过程时首先进水阀通电,打开进水阀P1.0,向洗衣机供水;当到达预定水位时,水位开关P3.1接通,进水阀断电关闭,停止进水。正反转驱动时间各为4S,间歇时间为1S。

4.3 弱洗子程序

洗涤过程时首先进水阀通电,打开进水阀P1.0,向洗衣机供水;当到达预定水位时,水位开关P3.1接通,进水阀断电关闭,停止进水。正反转驱动时间各为3S,间歇时间为2S。

4.4 脱水子程序

洗涤或漂洗过程结束后,电机停止转动,打开排水阀P1.3,开始排水。排水阀动作时,带动离合器动作,使电机可以带动内桶转动。当水位低到一定值时,水位开关P1.3断开,电机开始正转,带动内桶高速旋转,甩干衣物,5S后脱水停止,脱水子程序返回。

4.5 漂洗子程序

漂洗过程时首先进水阀通电,打开进水阀P1.0,向洗衣机供水;当到达预定水位时,水位开关P3.1接通,进水阀断电关闭,停止进水。通过P0.2口判断洗涤功能是强洗还是弱洗,若P0.2为1时强洗,强洗时正反转驱动时间各为4S,间歇时间为1S。

五、源程序

#include

sbit s1=P0^0;

sbit s2=P0^2;

sbit s3=P3^0;

sbit s4=P3^1;

sbit sheng=P0^7;

sbit led1=P1^0;

sbit led2=P1^1;

sbit led3=P1^2;

sbit led4=P1^3;

sbit led5=P1^4;

sbit led6=P1^5;

sbit led7=P1^6;

sbit led8=P1^7;

void delay(unsigned int z)//延时函数{int x,y;

for(x=z;x>0;x--);

for(y=110;y>0;y--);

}

void qx() //强洗

{led1=1;

if(s4==1);

led2=1;

delay(4000);

led2=!led2;

delay(1000);

led3=1;

delay(4000);

led3=!led3;

delay(1000);

}

void rx() //弱洗

{led1=1;

if(s4==1);

led2=1;

delay(3000);

led2=!led2;

delay(2000);

led3=1;

delay(3000);

led3=!led3;

delay(2000);

}

void tuo() //脱水函数

{led4=1;

led5=1;

相关文档
最新文档