单片机的自动洗衣机控制系统设计

单片机的自动洗衣机控制系统设计[20200128190903]
摘要
单片机是计算机家庭的重要成员,它具有体积小、价格低、面向控制等特点。本次设计利用了AT89C51单片机的汇编语言的方法来实现对全自动洗衣机的控制,即实现洗衣机的进水、洗涤、漂洗、脱水等一系列的过程,同时利用了LED的显示来判断功能的实现与否,在功能实现之后蜂鸣器自动报警。本次设计的方法比较简易、容易制作、取材更是容易,具有一定的实用价值。
 *查看完整论文请+Q: 351916072 
关键字:】单片机C语言全自动洗衣机。
引 言 1
一、系统原理设计 1
(一)设计思想 1
(二)系统框图 2
二、硬件设计 2
(一) 89C51的引脚图及其特性 2
1.主要特性 5
2.管脚说明.........................................................................................................................6
3.时钟振荡器 5
4.复位电路 6
(二) 显示电路 6
1.发光二极管 6
2.LED显示器 7
(三) 电机控制电路 8
(四) 进水、排水电路 9
(五) 蜂鸣器报警电路 10
(六) 电源电路 10
三、软件设计 11
(一) 总程序流程 11
(二)洗涤程序流程 12
(三)漂洗程序流程 13
(四)脱水程序流程 13
四、调试 14
五、总结 16
六、致谢 16
七、参考文献 17
八、附录 18
(一)总电路图 18
(二)程序 19
引 言
从古至今,洗衣服都是家务事中的必不可少的一部分,而在洗衣机出现之前,对于做家务的人来说,洗衣服并不是一件充满乐趣的一件事情,用手搓、用水冲、用棒子敲打、甚至用脚踩,这些不断重复的简单体力劳动带给人的感受只能是:辛苦劳累。而初代洗衣机的出现,彻底改变了这样的状况,人们只需做一些简单的放水工作即可,其他的事情洗衣机都能自动完成,这样既省了体力又省下不少时间。而时代在发展,科技在进步,初代洗衣机的功能已经不再满足人们的需求了。本课题就分析和研究了能够满足人们需求的全自动洗衣机,课题主要介绍了通过以89C51单片机为核心,通过单片机的编程来发送各种指令,在与液位传感器、双向电机、等各种设备的结合下,能够按照人为指令自动和手动的完成,注水、洗涤、定时、排水等各种动作的全自动洗衣机。
一、系统原理设计
(一)设计思想
此次设计是针对于单片机原理及其应用展开的。其中包含了我们大学三年中所学到的相关知识,运用我们所学的数字电路技术,传感器应用技术,单片机技术去设计基于单片机的全自动洗衣机控制系统。本次设计要能实现当接通电源时(按下开关键),用户选择水位选定,并利用液位传感器来实现水位到达之后的关闭功能,然后洗衣机停止进水,并开始正转,正转10秒后暂停2秒,然后再反转10秒后再暂停2秒,然后再开始正转10秒,如此反复运转到规定时间(一般为10分钟),结束后洗衣机开始排水功能,排水结束后,开始脱水,脱水完成后暂停5秒,再次进行循环上面的进水,漂洗步骤,(循环次数可自定)洗衣结束后通过蜂鸣报警器(或小喇叭)报警,报警30后自动停止。以上的步骤在单片机上均以LED灯(发光二极管)亮来实现(既进水的时候一号灯亮,正转的时候二号灯亮,反转的时候三号灯亮,暂停二号、三号灯都熄灭,脱水时四号灯亮,其他状态时五号灯亮,灯亮时间(由LED显示电路显示出来)既为该功能工作的时间。
(二)系统框图
根据方案的设计思想,我们从中就可以得到了全自动洗衣机控制系统的总体框图如图1所示:
图1 全自动洗衣机控制系统的总体框图
二、硬件设计
(一) 89C51的引脚图及其特性
AT89C51是一个低电压,高性能CMOS8位单片机带有4K字节的可反复擦写的程序存储器(PENROM)。和128字节的存取数据存储器(RAM),这种器件采用ATMEL公司的高密度、不容易丢失存储技术生产,并且能够与MCS-51系列的单片机兼容。片内含有8位中央处理器和闪烁存储单元,有较强的功能的AT89C51单片机能够被应用到控制领域中。
图1 89C51的引脚图
1.主要特性
·与MCS-51 兼容
·4K字节可编程闪烁存储器
寿命:1000写/擦循环
数据保留时间:10年
·全静态工作:0Hz-24Hz
·三级程序存储器锁定
·128*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·5个中断源
·可编程串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
2.管脚说明
????VCC:供电电压。
????GND:接地。
????P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
????P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。
????P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
????P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:
口管脚 第二功能
P3.0 RXD(串行输入口)
P3.1 TXD(串行输出口)
P3.2 /INT0(外部中断0)
P3.3 /INT1(外部中断1)
P3.4 T0(记时器0外部输入)
P3.5 T1(记时器1外部输入)
P3.6 /WR(外部数据存储器写选通)
P3.7 /RD(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
????RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。

版权保护: 本文由 hbsrm.com编辑,转载请保留链接: www.hbsrm.com/jxgc/zdh/4670.html

好棒文