89C51洗衣机流程图语言编辑.doc

上传人:hw****26 文档编号:3148986 上传时间:2019-05-23 格式:DOC 页数:36 大小:531KB
下载 相关 举报
89C51洗衣机流程图语言编辑.doc_第1页
第1页 / 共36页
89C51洗衣机流程图语言编辑.doc_第2页
第2页 / 共36页
89C51洗衣机流程图语言编辑.doc_第3页
第3页 / 共36页
89C51洗衣机流程图语言编辑.doc_第4页
第4页 / 共36页
89C51洗衣机流程图语言编辑.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、1基于单片机的洗衣机控制系统设计罗远强 指导老师:吴宇2摘要单片机是计算机家庭的一个重要分支,它具有体积小、价格低、面向控制的特点,适用于各种工业控制、仪器仪表装置,在人类生产和生活的各个领域都有极为广泛应用。本洗衣机控制系统,采用目前常用的 89C51 单片机,用汇编语言的编程方法,完成对洗衣机洗衣全过程的自动控制,并采用LED 数码显示洗衣过程代码和洗衣剩余时间,洗衣完成后能自动报警。使全自动洗衣机的使用更加简单、直观和方便。本设计取材容易,结构简洁,易于制作,具有一定的实用价值。关键字:单片机、汇编语言、动态扫描3目录第一章 绪论1.1 设计目标1.2 设计意义第二章 硬件和软件的设计方

2、法2.1 洗衣机的工作过程2.2 全自动洗衣机控制系统硬件的选择2.3 单片机编程软件的选用第二章 全自动洗衣机控制系统的设计原理3.1 控制系统方框图3.2 控制板电路原理(附整机原理图 )3.3 控制功能及过程第四章 洗衣机控制系统的软件系统4.1 洗衣机控制系统软件的编程思路4.2 主程序及子程序流程图4.2 洗衣机控制系统的源程序参考文献附录 AT89C51 技术手册MCS-51 系列单片机指令系统表4第一章: 绪论在生产和生活的各个领域中,凡是有自动控制要求的地方都会有单片机的出现。单片机的应用有利于产品的小型化、多功能化和智能化,而且抗干扰能力强,可在各种恶劣的环境下可靠地工作,成

3、本也较低。所以单片机的应用已极为广泛,它在工业自动化、工业测控、智能仪器仪表、家用电器、信息与通信、军事装备等方面都在发挥着“微电脑控制”的作用。11 设计目标用 51 系列单片机 89C51 控制全自动洗衣机的运行,使其能自动地完成进水、洗涤、漂洗、脱水等功能。不同的衣物,洗涤、漂洗、脱水和洗衣电机正反转所用的时间不同,要求设计能够实现过程选择,并在 LED 显示屏上显示过程代码。在运行的时候能显示完成整个过程的剩余时间。为了节省单片机的 IO 端口,以及使硬件连接能尽可能的简单,在 LED 显示过程中我们使用了动态扫描的方法。软件编程使用汇编语言,烧录好单片机后能实现上电运行。还应该具有相

4、当的稳定性,以保证全自动洗衣机的正常工作。以此体会单片机系统的设计、开发过程。12 设计意义 进一步了解 8051 单片机。 熟悉单片机控制系统开发流程。 深入学习计算机汇编语言的编程方法。 对计算机的工作原理有进一步的认识。 增强个人动手能力。5第二章 硬件和软件的设计方法在进行系统设计前,我们必须知道所设计的项目要完成什么任务,达到什么样的要求,并根据所完成的任务和要求来选择相应的硬件设备和软件编程方法。在设计前我们先了解一下洗衣机的工作过程和单片机的工作原理,确立算法模型,再选择相应的软件编程语言2.1 洗衣机的工作过程目前常用的波轮洗衣机分为全自动和双缸洗衣机,它们都是依靠电机拖动波轮

5、带动洗衣筒中的水来回旋转,而使衣物洗干净的。在双缸洗衣机中,电机的正转和反转及洗涤时间控制是由机械定时器开关来完成的,而全自动洗衣机是靠电路来完成,对洗涤来说,效果相同;所不同的是双缸洗衣机在完成洗涤后,需要打开排水开关排水,拿出衣物放到脱水桶中脱水,脱水完成后又要将衣物放回洗衣机桶中洗涤,一次洗衣要进行几次洗涤,就要完成几次这样相同的动作,在完成洗衣的全过程中必须要有人工干预,很不方便,而全自动洗衣机中,洗衣过程中的进水、洗涤、排水、脱水、再进水、洗涤是自动进行的,只在洗衣前需人工放进衣物,洗衣完成后自动报警,再由人工取出衣物,中间过程不需要人工干预,使用要比双缸洗衣机简便的多。完成这样的顺

6、序控制功能,也可以由数字逻辑电路来进行,但实现这样的控制比较困难,电路结构也很复杂,成本高,控制系统不能智能化,如不容易实现单独脱水、单独洗涤这样的功能选择。而使用单片机,采用软件编程的方法可以轻易实现这样的控制,而且电路简单,成本低,洗衣机能够智能化,容易操作。综合考虑,我们选择了价格低廉,容易买到,比较可靠的 89C51 单片机来设计全自动洗衣机的控制系统。2.2 全自动洗衣机控制系统硬件的选择单片机系统的是一个软硬件结合的系统,不能孤立地只谈一个方向,脱离了硬件来讲软件编程是毫无意义的,同样没有软件,单片机的硬件也无法正常工作。(1)单片机 89C51(2) AT89C51 是一个低电压

7、,高性能 CMOS 8 位单片机,片内含 4k bytes 的可反复擦写的 Flash 只读程序存储器和 128 bytes 的随机存取数据存储器(RAM) ,器件采用ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 MCS-51 指令系统,片内置通用8 位中央处理器和 Flash 存储单元,内置功能强大的微型计算机的 AT89C51 提供了高性价比的解决方案。AT89C51 是一个低功耗高性能单片机,40 个引脚,32 个外部双向输入/输出(I/O)端口,同时内含 2 个外中断口,2 个 16 位可编程定时计数器,2 个全双工串行通信口,AT89C51 可以按照常规方法进行编程,也可

8、以在线编程。其将通用的微处理器和 Flash存储器结合在一起,特别是可反复擦写的 Flash 存储器可有效地降低开发成本。 主要功能特性: 6 兼容 MCS51 指令系统 4k 可反复擦写(1000 次)Flash ROM 32 个双向 I/O 口 可编程 UARL 通道 两个 16 位可编程定时 /计数器 全静态操作 0-24MHz 1 个串行中断 128x8bit 内部 RAM 两个外部中断源 共 6 个中断源 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能(2)可控硅洗衣机的几个关键动作,如进水、排水、电机正转、电机反转,是通过单片机的IO 端口,输出控制信号,控制可控硅的通断来实现的。在

9、这里我们用了 4 个双向可控硅担任控制系统的执行部件。(3)LED 显示器及各开关为了显示所选功能及剩余时间,完成良好的人机交互,我们选用了共阳的 8 段 LED显示器做显示输出。为了节省端口,采用了扫描的显示方法(下章具体介绍),采用了三个开关,分别做为安全开关、水位开关(进水是否达到要求的传感器)和控制开关(选择洗衣程序和启动暂停等动作的输入按钮)2.3 单片机编程软件的选用单片机 89C51 可以用汇编语言和 C 语言来进行编程,在选用编程语言前,我们先来比较两者之间的特点。 汇编语言:汇编语言是用符号(助记符)表示的机器操作指令,它是对机器语言的改进。但是机器语言还是面向机器的低级语言

10、,它仍要求开发人员必须精通所用的单片机硬件系统和指令系统不便于记忆和使用。但是它相比机器语言提供了高一层次的机器操作抽象,更加接近人类语言,这让它成为单片机系统开发中最常用的开发语言之一。 C 语言:C 语言正在成为单片机应用系统开发的主流,它既具有高级语言的简洁、便于理解记忆、通用性好、表达能力强等特点,又具有低级语言的对计算机硬件进行操作功能。C 语言不是面面俱到的语言,也不是专为某一特殊应用领域设计的语言。它本身不能执行操作(如输入/输出) ,这些操作都由标准库提供支持。正是因为这些操作都与语言无关,所以 C 语言可以适用于任何平台。Cx51 是专为 8051 设7计,完全符合 ANSI

11、 C 标准 11。可以针对 8051 生成紧凑、高效的代码。在洗衣机的控制系统中,由于是面向控制的设计,使用汇编语言方便一些,占用单片机内的 ROM 空间也较小,并且在汇编语言中,我们可以精确地知道每条指令所占用的时钟周期,能够精确定时,所以在本设计中我们采用了汇编语言编程的方法,源程序编好后,由编程软件转换为机器代码,再由编程器输入到单片机的 RAM 中去。8第三章 全自动洗衣机控制系统的设计原理3.1 控制系统图洗衣机要实现衣服的洗涤、漂洗和脱水,离不开进水、电机正转、电机反转和排水这四个动作。上述四个动作,是通过单片机的 P0 端口,做输出端口,去控制双向可控硅通断来实现的,如下图所示。

12、同时加上输入开关的按钮、数码管显示器、蜂鸣按警器和欠压检测保护电路等,就可以形成完整的单片机控制系统。通过软件编程达到对整个洗衣过程进行控制、检测以及与用户交互。水位开关安全开关程序选择/启动/暂停 可控硅 X 4 个220V洗衣机单片机控制系统方框图3.2 控制板电路原理(附控制板整机原理图)参阅洗衣机单片机控制系统原理图,控制板电路使用 ATMEL 公司的 AT89C51 芯片,时钟电路采用 6MHZ 晶振。组成的输入信号有:安全开关(即洗衣机桶盖的打开与闭合) 、水位压力开关(即水位的高低) 、启动、暂停按钮,低电压检测信号; 输出控制信号包括:两个 8 位 LED 数码动态显示(剩余时

13、间)和蜂鸣器鸣叫、进水阀、正反转洗涤电机、排水阀的控制信号。交流 220V 电压经变压、整流、滤波后,其中一路接至低电压保护电路,另一路经过 CW7805 进行稳压,提供稳定的5V 电压供应给控制板各元件。当低电压保护电路检测到低电压时,将向单片机的 INT0 引脚产生中断,单片机将响应该中断;关闭各输出端口,以保护执行部件如电机等设备不因欠压而损坏。单片机89C51 进水电磁阀排水电磁阀电机正转电机反转显示屏蜂鸣器9103.3 控制功能及过程洗衣机动作代码表动作名称 进水 洗涤 排水 脱水动作代码 A B C D本次动作预设时间 2 分钟 1596 或 2 分钟 2 分秒 30秒(2D+T

14、秒)53或是分钟 (包括 30 秒间隙脱水)洗衣机功能选择代码表过程代码 过程名称 完成整个过程所需时间(分) 所需动作代码及时间01 浸泡洗涤 59 A(B1 停 2)*5B15CD2AB2CD2AB2CD502 强力洗涤 42 AB15CD2AB2CD2AB2CD203 标准洗涤 42 AB15CD2AB2CD2AB2CD504 轻柔洗涤 34 AB9CD2AB2CD2AB2CD305 快速洗涤 24 AB5CD2AB2CD306 单独洗涤 17 AB1507 漂洗脱水 25 CD2AB2CD2AB2CD508 单独脱水 8 CD509 留水停机 34 AB15CD2AB2CD2AB2(大

15、写字母后的数字为动作所需的时间)洗衣机的三大功能是实现衣服的洗涤、漂洗和脱水,加上进水,我们把这四个洗衣机动作编排成 4 个代码,而这四个动作的组合可形成 9 个过程(或更多) ,见动作代码表。选择哪一个过程来执行洗衣程序是在进入洗衣前由用户通过开始、暂停按钮来选择的,如:单独进行脱水可选择过程 08。打开电源开关,洗衣机将进入洗衣过程选择状态,此时数码管显示 00,用户按启动、暂停键可以显示不同的过程代码(在 0109 之间循环显示以指示选择不同的洗衣过程) 。3 秒内若无按键动作,蜂鸣器开始鸣叫 6 下(时间长度共 3 秒)以提醒用户;开始进入相应过程的洗衣程序,此后启动暂停按钮只起暂停或

16、继续洗衣程序执行作用,数码管显示完成本次洗衣的剩余时间。三大功能中的漂洗实际上是由洗涤和脱水功能组成的,如一次标准洗涤过程(过程代码)中,漂洗功能包括了时间均为 2 分钟的脱水、洗涤、脱水、洗涤。因此,在编写控制程序实现三大功能时只需编写洗涤和脱水功能的代码,然后作为子程序调用即可。完成一次洗衣过程所需的动作有:(1) 进水动作 进行洗涤时,盛水桶内的水量必须到水位设定要求。而水位的高低可以通过调节水位开关来实现。洗衣机的进水和水位判断是由水位开关和进水阀的开合来进行控制的。当桶内没有水或水量达不到设定水位时,单片机程序将控制进水阀闭合,开始注水;当桶内的水位达到设定水位时。水位开关受压闭合;程序就可进入下一步(洗涤)处理。若打开进水阀后 20 分钟内不能进水,则将出错报警,用户只能关闭洗衣机电源

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 重点行业资料库 > 建筑建材

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。