毕业设计(论文)-基于单片机的洗衣机控制器设计.doc_第1页
毕业设计(论文)-基于单片机的洗衣机控制器设计.doc_第2页
毕业设计(论文)-基于单片机的洗衣机控制器设计.doc_第3页
毕业设计(论文)-基于单片机的洗衣机控制器设计.doc_第4页
毕业设计(论文)-基于单片机的洗衣机控制器设计.doc_第5页
已阅读5页,还剩36页未读 继续免费阅读

下载本文档

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

文档简介

毕业设计(论文) 题目: 基于单片机的洗衣机控制器设计 系 别 信息工程系专业名称 自动化班级学号 学生姓名 二 O 一 四 年 五 月 基于单片机的洗衣机控制器设计 摘要:洗衣机是必要的日常生活用品,它的发明和应用减少了人们的洗衣工作时间,减轻人们家务劳动的压力,它也就逐渐成为人们日常生活中不可缺少的家用电器。本文基于STC89C52单片机为核心设计了洗衣机控制器,该控制器实现了对洗衣机整个洗衣过程的控制,主要包括用户参数输入、洗衣、脱水和洗衣结束蜂鸣报警四个阶段。控制器的系统主要由电源电路、单片机控制系统和外部硬件电路三大模块组成。电源电路为单片机主控系统提供5v的直流电压;单片机主控系统负责控制洗衣机的工作过程,主要由单片机、数码管、按键、蜂鸣器组成;外部硬件电路有继电器、三极管、液晶显示屏、LED灯组成。本设计通过单片机编程实现对洗衣机控制器功能的操作,用液晶显示屏来显示运行时间等效果。本设计取材容易,结构简洁,易于制作,具有一定的实用价值。关键词: 洗衣机 控制器 单片机 继电器 指导老师签名: Washing machine controller design based on microcontroller Student name: Deng Zhi Yin Class: 1082022 Supervisor: Yi HongAbstract: Washing machines are essential daily necessities , its invention and application of reduced working hours of people s laundry , reduce the pressure on people to housework , it will gradually become indispensable in daily life appliances . STC89C52 microcontroller core design based on a washing machine controller that implements the entire laundry process for washing machine control , including user input parameters , laundry , laundry dehydration and ending buzzer alarm four stages. The main system controller from the power circuit , microprocessor control systems and external hardware circuit of three modules . Power supply circuit provides the main control system for the single-chip 5v dc voltage ; MCU master control system is responsible for controlling the working process of the washing machine , mainly by the microcontroller , digital , buttons, buzzer composition ; external hardware circuit with relay , transistor, liquid crystal display, LED lights . The design and implementation of the operation of the washing machine controller functions through microcontroller programming , with LCD screen to display the running time and other effects. This design drawing easy , simple structure , easy to make , has some practical value.Keywords: washing machine controller microcontroller relays Instructor Signature: 目 录 1 绪 论1.1 选题依据与背景11.2 设计的目的和意义1 2 设计方案 2.1 设计任务3 2.2 洗衣机控制器的设计方案3 2.2.1 洗衣程序4 2.2.2 设计总方框图4 2.3 控制系统的功能5 3 硬件设计 3.1控制系统的电路组成6 3.2 电源电路7 3.3 单片机控制电路7 3.3.1 STC89C52单片机主控系统7 3.3.2 单片机的强制复位电路10 3.3.3 单片机的时钟电路10 3.3.4 显示电路11 3.3.5 蜂鸣器报警电路12 3.3.6 电动机驱动电路13 3.3.7 进水/排水电路13 4 软件设计 4.1 主程序设计15 4.2 标准洗衣程序设计16 4.3 洗涤程序的设计16 4.4 漂洗程序的设计17 5 调试 5.1 硬件调试18 5.2 软件调试18 6.结论 参考文献20 致谢21 附录A 主电路图22 附录B 主程序2341南昌航空大学科技学院2013届学士学位论文基于单片机的洗衣机控制器设计1 绪 论1.1 选题依据与背景自古以来,洗衣服对于人们来说是辛苦又难于避免的家务劳动,在洗衣机还没有出现的时候,对很多人来说,尤其是女人,要洗干净衣服人们必须干着简单而又重复着的体力劳动,给人们的感受常常是:辛苦劳累。1958年,美国人汉密尔顿.史密司在匹兹堡制成了世界上第一台洗衣机。这标志了机器洗衣的开端。1910年,人类的第一台电动洗衣机在美国芝加哥诞生。费希尔发明的电动洗衣机的问世,开启了人类家务劳动的自动化。1922年,美国玛塔依格公司对洗衣机的内部洗涤结构进行了改进,把拖动式改为搅拌式,这就使洗衣机的结构固定下来,第一台搅拌式洗衣机也就这样诞生了。1932年,美国本德科斯航空公司研制成功出了第一台前装式滚筒洗衣机,整个洗衣的过程如洗涤、漂水、脱水都是在同一个滚筒内完成。这个电动洗衣机结构的改变,标志着洗衣机又朝自动化有迈进了一大步。1937年,世界上第一台自动洗衣机问世,这是一种“前置“式自动洗衣机。随着工业的发展,全球对洗衣机的投入和关注越来越大,研制步伐也就大大加快了。1955年,日本在喷流式洗衣机的基础上,最终研制出了波轮式洗衣机。至此,这三种洗衣机:波轮式、滚筒式、搅拌式在洗衣机的生产领域占据着主要的三分力量。现在市场上的洗衣机大多数洗衣都是采用微处理器来控制电机的驱动,通过在微处理器中编程,就可以实现对洗衣机各个功能的控制。随着我国的经济水平日益提高,人民的生活水平也越来越好,人们对洗衣机的需求也是越来越大。这也就要求洗衣机高度的人性化、自动化,只需用户简单的把衣服放入洗衣机内,简单的按几个键,洗衣机便会自动注水、洗涤、排水、脱水,洗衣的过程结束后,洗衣机的报警电路便会发出蜂鸣报警提醒用户洗衣结束,大大节省了用户不少的时间。1.2 设计的目的和意义本控制器以单片机STC89C52为核心,从控制器的功能、硬件、软件、工作过程来设计。由于经济的高速发展,国内外的洗衣机更新换代的速度非常快,人们对洗衣机的依赖也越来越大,当然也就对洗衣机的要求越来越高。而目前市场上的洗衣机还没有达到人们的预想。这也就要求我们这些设计者们的能够在消费者的角度,设计出更自动化的、更人性化的洗衣机。目前,在中国,洗衣机的发展前景是非常好,人们对洗衣机的需求会越来越大,这也就需要我们的洗衣机功能更齐全、设备更安全、更节能。而又在各种资源能源短缺的时代,节约资源将成未来洗衣机重点发展方向,洗衣机产业目标主要涵盖节电节水、产品功能、绿色环保设计三大方向。所以,我们此次设计的控制器具有很实用的参考价值。2 设计方案2.1 设计任务主要内容:本设计是用STC89C52单片机为核心来设计洗衣机的控制器。以单片机为主的控制器,增加必要的外部电路,如电源电路、时钟电路、复位电路等,设计制作一个洗衣机的控制器。控制器的主要功能:控制器设置了四种工作方式,分别为:标准方式:注水洗涤排水注水漂洗排水注水漂洗排水脱水经济方式:注水洗涤排水注水漂洗排水脱水单独方式:注水洗涤排水方式:排水脱水用K1、K2、K3三个按键进行选择方式控制,K4键代表强制复位,K1、K2、K3键的功能分别为: 1、K1键选择“标准、经济、单独、排水”四种工作方式,当执行相应程序时,四种程序分别对应的数码管指示灯1、2、3、4会亮起。 2、K2键选择“强洗、弱洗”两种方式,当执行相应程序的时,相对应的指示灯会亮。 3、K3键控制洗衣机控制器的“运行、暂停和解除报警”的功能。 4、K4键是强制复位键。S1、S2是两个功能检测开关,“S1”键代表液面传感器,置于地表示水位符合要求:“S2”键代表盖开关,置于地表示盖子处于打开,洗衣机要暂停。 整机功能要求为: 1、开机默认状态:标准方式、强洗。 2、在洗涤和漂洗过程中,电机是正转、反转周期运行的。 3、在进水和脱水过程中,相对应的指示灯会亮,进水或是排水继电器吸合。 4、在执行某个具体步骤时,按下K3键暂停,再按恢复执行。2.2 洗衣机控制器的设计方案本控制器实现了对洗衣机整个洗衣过程的控制,包括用户参数输入、进水、洗涤、漂洗、排水和脱水等阶段。控制系统主要由电源电路、STC89C52单片机控制系统和外部硬件电路构成。电源采用三端集成固定稳压器7805提供+5V电源,由单片机为基础的控制器负责控制洗衣机的工作过程,主要由STC89C52单片机、4位共阳数码管、按键、蜂鸣器、LED指示灯组成;外部硬件电路有继电器、三极管、L9110H电动机驱动芯片、电动机、进水电磁阀、排水电磁阀、液晶显示器组成。2.2.1 洗衣程序1、洗涤过程在洗涤过程中,首先进水阀打开,洗衣机开始注入水,当到达要求水位时,进水阀断电关闭,停止注水;电机M接通电,带动波轮或桶旋转,形成洗衣水流。电机M是一个正反转电机,依靠L9110H电动机驱动芯片来使电机正反转,可以形成往返水流,使衣物洗涤更干净。 2、漂洗过程漂洗衣物的程序和洗涤的程序是大同小异的,只是在程序中设置的时间相对于洗涤是要短些的。对于那些不是很脏的衣物,这个程序是很节约资源和时间的。3、脱水过程洗涤或漂洗过程结束后,电机M停止转动,排水阀M打开,开始排水。当水位低到某个值时,脱水指示灯亮起,电机开始正转,带动内桶高速旋转,甩干衣物。2.2.2 设计总方框图图2.1设计总方框图2.3 控制系统的功能基于STC89C52单片机的洗衣机控制器,通过控制器的控制系统设定洗衣程序,实现在洗涤脱水桶内自动完成注水、洗涤、漂洗、排水和脱水等全过程。洗衣时控制器使系统接通进水电磁阀卡开始注水,同时进水指示灯亮;当洗涤脱水桶内的水位达到一定值时,单片机发送一个低电平通知控制系统关闭进水电磁阀,同时启动电机洗衣,洗涤指示灯亮。在系统程序的控制作用下,电机的正转、停、反转交替进行,然后传动就带动着波轮执行洗涤程序;当洗涤时间结束时,排水指示灯亮,控制系统控制电机电路打开排水电磁阀开始排水;接着再次注水,控制器通过程序是进水指示灯接通,然后洗衣机进入漂洗状态,漂洗指示灯亮,完成漂洗程序后,开始排水,伴随排水指示灯亮。同时排水电磁阀松开为脱水程序准备;在排水结束后,脱水桶高速单方向运转完成脱水程序;当脱水程序结束,排水电磁阀和电机断电,排水阀复位,同时蜂鸣器发出报警,提醒用户整个洗衣过程结束。3 硬件设计3.1控制系统的电路组成该电路主要组成部件是由STC89C52单片机、电动机、蜂鸣器、指示灯、液晶显示器及4只按键组成,这个实物图如图3所示。 图3 总体实物图3.2 电源电路图3.1 电源电路3.3 单片机控制电路3.3.1 STC89C52单片机主控系统 1、单片机的概述在系统可编程Flash存储器。STC89C52使用经典的MCS-51内核,但做了很多的改进使得芯片具有传统51单片机不具备的功能。 具有以下标准功能: 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可选。特性:1.是一个8位的MCU。2.具有布尔代数的运算能力。4.4个8位port,共有32条双向且可独立被控制的I/O port 。5.有128*8 RAM,可以储存资料记忆体。6.有2组16 Bit 计时器。7.具有全双工传输信号UART。8.5个中断源,具有双层优先权中断结构。9.内部有时脉振荡器电路。10.程序记忆体(ROM)可扩充至64K Byte。11. 8K字节程序存储空间。12. 512字节数据存储空间。13. 内带2K字节EEPROM存储空间。14.可直接使用串口下载。 参数:1. 增强型8051单片机,6 时钟/机器周期和12 时钟/机器周期可以任意 选择,指令代码完全兼容传统8051。2. 工作电压:5.5V3.3V(5V单片机)/3.8V2.0V(3V 单片机)。3.工作频率范围:040MHz,相当于普通8051 的080MHz,实际工作频率可达48MHz。4. 用户应用程序空间为8K字节。5. 通用I/O 口(32 个),复位后为:P0/P1/P2/P3 是准双向口/弱上拉, P0 口是漏极开路输出。6. ISP(在系统可编程)/IAP(在应用可编程),可通过串口(RxD/P3.0,TxD/P3.1)直接下载用户程序,数秒即可完成一片。7. 共3 个16 位定时器/计数器。即定时器T0、T1、T2。8.外部中断4 路,下降沿中断或低电平触发电路,Power Down 模式可 由外部中断低电平触发中断方式唤醒。9. 通用异步串行口(UART),还可用定时器软件实现多个UART。10. 工作温度范围:-40+85(工业级)/075(商业级)。11. PDIP封装。 控制部件的核心是STC89C52,该型号单片机共有40个引脚,引脚采用的是双列直插式的,下面是各个引脚的功能:图3.2 STC89C52的引脚图1、输入/输出口线PO口(Pin39Pin32):8位双向I/O口线,名称为P0.0P0.7P1口(Pin1Pin8):8位准双向I/O口线,名称为P1.0P1.7 P2口(Pin21Pin28):8位准双向I/O口线,名称为P2.0P2.7 P3口(Pin10Pin17):8位准双向I/O口线,名称为P3.0P3.72、控制信号线VCC(Pin40):电源输入,接5V电源GND(Pin20):接地线RST/VPP(Pin9):复位引脚,引脚上出现2个机器周期的高电平将使单片机复位ALE/PROG(Pin30):地址锁存允许信号PSEN(Pin29):外部存储器读选通信号EA/VPP(Pin31):程序存储器的内外部选通,接低电平从外部程序存储器读指令,如果接高电平则从内部程序存储器读指令。3.3.2 单片机的强制复位电路强制复位电路的作用是复位。在单片机接上电源以后,或电源出现过低电压时,将单片机存储器复位,使其各项参数处于初始位置,即处于开机时的标准程序状态,以消除由于某种原因的程序紊乱。一般的,上电复位和手动复位是单片机上两种基本的复位形式,RESET端的高电平直接由上电瞬间产生高电平则称为上电复位;而手动复位就是直接手动按按钮,然后产生高电平复位信号。上电复位是利用电容充电来实现复位,其工作原理是:上电瞬间RESET端的电位与VCC相同,随着电容C2充电电流的减小,+5V的电压立即加到了RST端,该高电平使得单片机复位。手动复位通过开关K产生高电平来实现,此时电源Vcc经过两电阻分压后,单片机系统在RST端产生一个高电平,单片机复位。当RESET由高变低后复位结束,CPU就进入初始的工作状态。单片机的复位都是靠外部电路实现的,在本次设计中采用手动复位,如图3.4:图3.4强制复位电路3.3.3 单片机的时钟电路时钟电路是单片机相当重要的部分,它控制着单片机的工作节奏,单片机就是通过复杂的时序电路完成不同的指令功能。在STC89C52单片机内部有一个高增益反相放大器,其输入端引脚为XTAL1,其输出端为XTAL2。只要在两引脚之间跨接晶体振荡器和微调电容C3、C4,就可以构成一个稳定的自激振荡器。本设计采用图3.5 所示电路。一般地,电容C3和C4取30pf左右;晶体振荡器,简称晶振,频率范围是1.2-12MHz。晶振频率越高,系统的时钟频率也就越高,单片机的运行速度也就越快。晶振使用的振荡频率一般是6MHz或是12MHz。而在单片机系统中用的是串行口通信,则一般使用频率为12MHz的晶振。而在本次设计中采用的是频率为12MHz的晶振。单片机的晶振电路如图3.6所示。图3.5时钟电路 图3.6晶振电路实物图3.3.4 显示电路显示模块由发光二极管组成。本次设计中采用发光二极管主要是用来指示洗衣机的工作状态。8个发光二极管分别跟单片机的P1口的8个I/O口连接,1个发光二极管分别跟单片机的P2口的1个I/O口连接如图3.6所示。当发光二极管的负极所对应的P1口为低电平时,发光二极管导通。显示电路的实物图如图3.8所示。图3.7指示灯电路图3.8指示灯电路实物图3.3.5 蜂鸣器报警电路本设计采用无源蜂鸣器,单片机必须输出固定频率的方波信号,其工作电压范围宽,4-12V,需要外围元件少,电压增益可调范围为20-200。通过CPU的P3.6输出高电平来控制蜂鸣器报警。如图3.8所示: 图3.9蜂鸣器报警电路3.3.6 电动机驱动电路1.继电器的作用继电器是在自动控制电路中起控制与隔离作用的执行部件,它实际上是一种可以用低电压、小电流来控制高电压、大电流的自动开关。2.电动机控制电路的工作原理电动机M控制部分的电气原理图如图3.9所示。电动机通过一个L9110H马达驱动芯片来控制电动机的正转和反转。图3.10电动机驱动电路3.3.7 进水/排水电路进水阀和出水阀都是用两个继电器来控制的。继电器是一种电子控制器件,它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。当输入量(如电压、电流)达到规定值时,使被控制的输出电路导通或断开的电器。具有动作快、工作稳定、使用寿命长、体积小等优点。 继电器一般由铁芯、线圈、衔铁、触点簧片等组成的。只要在线圈两端加上一定的电压,线圈中就会流过一定的电流,从而产生电磁效应,衔铁就会在电磁力吸引的作用下克服返回弹簧的拉力吸向铁芯,从而带动衔铁的动触点与静触点(常开触点)吸合。当线圈断电后,电磁的吸力也随之消失,衔铁就会在弹簧的反作用力返回原来的位置,使动触点与原来的静触点(常闭触点)吸合。这样吸合、释放,从而达到了在电路中的导通、切断的目的。如图3.10所示,进水阀受P0.0的控制,出水阀受P0.1的控制。当电控水龙头的控制端P0.0为“0”时,Ka线圈得电使得进水阀打开。当电控水龙头的控制端P0.1为“0”时,Kb线圈得电使得出水阀打开。实物图如图3.12所示。 图3.11进水、排水电路图3.12进水、排水实物图4 软件设计4.1 主程序设计根据硬件设计要求控制主程序流程图如图4.1所示。洗衣机通电之后单片机上电首先进行程序的初始化包括定时器0、外部中断0、外部中断1的初始化以及各参数初值的设定。然后扫描按键的状态确定洗衣过程。当发现启动键按下洗衣机从待命状态进入工作状态。完成进水、洗涤、脱水、漂洗的循环过程。当洗衣结束时控制蜂鸣器发声。 图4.1主程序流程图4.2 标准洗衣程序设计标准洗衣是默认的洗衣方式,其流程图如图4.2所示: 图4.2标准洗衣程序流程图4.3 洗涤程序的设计进水结束后,洗衣机开始进行洗衣程序,在程序控制下电动机开始正转-停止-反转一直交替进行,当洗衣的时间慢慢减少直到等于零时,洗衣结束且进入漂洗状态。程序流程图如图4.3所示:洗衣开始电机正转电机反转电机停止剩余时间=0?进入漂洗YN电机停止 图4.3洗涤程序流程图4.4 漂洗程序的设计漂洗程序与洗涤程序操作基本是类似的,只是在程序中设置的时间相对短一些。漂洗默认的次数设定为二次。漂洗程序流程图如图4.4所示:漂洗指示灯亮第一次漂洗第二次漂洗漂洗完成?漂洗指示灯灭漂洗结束进入脱水YN开始 图4.4 漂洗程序流程图5 调试5.1 硬件调试一般来说,单片机应用系统的硬件调试和软件调试是相互联系、密不可分的,首先是排除系统硬件的明显故障,然后再结合软件调试。在静态调试的硬件调试时,在加电前根据原理图和装配图仔细检查线路检查组件型号、规格、安装是否正确。然后在仿真器上进行调试。最后使用模拟器在线调试,测试扩展内存、I / O,I / O设备,程序内存和晶体振荡器电路和纠正错误。1.通电前,用万用表检查各个电路的正确性。然后在对元器件的型号、规格进行核对,检查是否符合要求。2.通电后,检查单片机I/O的电位,用万用表对各点电位进行测量。3.在软件调试前,要把单片机信号输出接口与外部仿真电路接口连接起来。常见的硬件故障有:1.元器件失效:元器件失效的原因包括两个方面,一方面是器件买过来本身就已损坏,另一方面是组装过程中人为的造成元器件失效,如焊接过程中把二极管焊接反了。2.可靠性差:系统不可靠是有好多原因的,像金属化孔、接插件接触不良都是会成为系统可靠性差的原因;逻辑电平不稳定,如内外部的干扰、器件负载过大;另外,不合理电路板的布局也会引起系统可靠性差。3.电源故障:系统需要的电压与提供的电压不同,或是电源引出线和插座不对应,电源功率没有达到设计要求,负载能力差等。5.2 软件调试软件调试不仅和软件的结构有关系,还和程序设计技术有关系。如果调试程序的时候采用的是模块化程序开发技术,就需要先把每个模块调试好后,然后再对系统总程序进行调试。调试的手段有两种,单步运行方式和断点运行方式,通过检查用户系统CPU的现场、RAM的内容和I/O口的状态,检测程序执行结果是否符合设计要求。通过检测,可以发现程序中的死循环错误、机器码错误及转换地址错误,同时也可以发现用户系统中的硬件故障、软件算法及硬件设计错误。在调试过程中逐步调整用户系统的软件和硬件。在程序进行单步和断点调试后,连续调试也是不可缺少的一项,因为单片机的运行是在严格的时序下进行的,程序的单步运行成功和连续运行成功并没有一定的直接关系。待全部调试完成后,应反复运行多次。 6.结论 首先学会如何更好的处理好人际关系永远是我们学不完的一堂课,毕业设计也不例外。我们需要充分利用好彼此的力量、发挥团队协作的精神,对设计过程中出现的问题站在不同的角度进行分析并提出意见,然后汇结大家的意见,最终达成一致。对于即将步入社会的我们,各方面的经验和能力都不是很丰富的。但我相信,只要我们肯努力、肯脚踏实地、勤学好问,是没有什么可以难倒我们的,我们也会很快地成长和成熟起来。本次的毕业设计在我们今后的工作中,可能会是很平常的一项工作,但对于我们来说,在这次毕业设计中,我们学到的不仅是关于单片机或是洗衣机的一些知识,更多的是学到了如何来更有效率的处理事情,如何更好的处理我们的人际关系,是我们能在自己的目标路上越走越远。参考文献1王治刚单片机应用技术与实训北京:清华大学出版社,2004.2卢艳军. 单片机基本原理及应用系统. 北京:机械工业出版社,2005.3周美娟等. 单片机技术及系统设计. 北京:清华大学出版社,2007.4永权. 单片机与家用电器智能化技术.北京:电子工业出版社,1995.5王琰.基于MCS-51单片机的洗衣机控制系统设计.自动化与仪器仪表,20086李勋单片机微型计算机大学读本北京:北京航空航天大学出版社,2002.7李全利.单片机原理及应用技术.高等教育出版社,2004.8赵良炳.现代电力电子技术基础.清华人学出版社,2005.9彭为. 单片机典型系统设计实例精讲. 北京:电子工业出版社,2006.10梅丽凤、王艳秋等.单片机原理及接口技术.清华大学出版社,2008.11王冠熙.全自动洗衣机原理与维修.电子工业出版社,1998.12ZHANG D. Automated Biometrics-Technologies and ystemsM. USA: KluwerAcademic Publishers,2000.致谢我的毕业设计题目是基于单片机的洗衣机控制控制器设计,本设计是在我的指导老师易宏老师的悉心指导下完成的。在整个毕业设计过程中,我被易老师的细心指导,诲人不倦的崇高精神深深打动了。我要感谢易老师,感谢她在这段时间给我的精神力量与物质力量,从论文选题到搜集资料,从写稿到反复修改,整个过程中都得到了他的大力帮助。我在此谨向易老师致以诚挚的感谢和崇高的敬意,祝愿易老师家庭幸福,生活美满。附录A 主电路图 附录B 主程序#include#define LED_B P1_0 /标准指示灯#define LED_J P1_1 /经济指示灯#define LED_D P1_2 /单独指示灯#define LED_PA P1_3 /排水指示灯#define LED_Q P1_4 /强洗指示灯#define LED_R P1_5 /弱洗指示灯#define LED_X P1_6 /洗涤指示灯#define LED_PI P1_7 /漂洗指示灯#define LED_T P2_0 /脱水指示灯#define BELL P2_1 /蜂鸣器#define IN_W P2_2 /进水#define OUT_W P2_3 /排水#define K1 P3_0 /程序选择#define K2 P3_1 /强软选择#define K3 P3_2 /运行暂停解除报警#define S1 P3_6 /水位检测 0水满#define S2 P3_7 /盖子开关 0盖子开#define D_STOP P2_4=1;P2_5=1;/电机停止#define D_ZH P2_4=0;P2_5=1;/电机正转#define D_FA P2_4=1;P2_5=0;/电机反转unsigned int key_time1,key_time2,key_time3,S1_time;/按键时间unsigned int count1,count2,count3;unsigned char state=0; /状态bit min4_flag=0;bit min6_flag=0;bit min2_flag=0;bit D_flag=0;bit Q_Rflag=0;/强弱标志void key(void);void WorkState();void WorkStatePata(unsigned char sta);void mor_div(void);void mor_div1(void);void main(void) /主程序TMOD=0X11; /T0 T1都工作在方式1(16位计数器)TH0=0x3c; /50msTL0=0xb0;TR0=1;ET0=1;TH1=0xd8; /10msTL1=0xf0;TR1=0;ET1=1;EA=0; /CPU关中断LED_Q=0; /强洗指示灯亮LED_B=0; /标准指示灯亮while(1) key(); /扫描按键处理程序void timer1(void) interrupt 3 /T1溢出中断static bit flag=0;TH1=0xd8; /10msTL1=0xf0;if(flag=0) /电机转动flag=1;if(D_flag=1) /电机正转标志位D_ZH; /电机正转elseD_FA; /电机反转else /flag=1 flag=0;D_STOP; /电机停止void timer0(void) interrupt 1 /T0溢出中断static unsigned char count;TH0=0x3c;TL0=0xb0;count+;if(count=14)count=0;count1+;count2+;count3+;if(count1=40) /4min/10480count1=0;min4_flag=1; /定时器计时4min 到min4_flag标记置1if(count2=90) /6min/10 720count2=0;min6_flag=1; /定时器计时6min 到min6_flag标记置1if(count3=80) /2min/10 240count3=0;min2_flag=1; /定时器计时2min 到min2_flag标记置1WorkState();void WorkState() /各工作方式程序static unsigned int i;switch(state)case 0:/标准switch(i)case 0:TR1=1;WorkStatePata(3);if(min4_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /进水4 mincase 1:WorkStatePata(0);if(min6_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /洗涤6 mincase 2:WorkStatePata(4);if(min2_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /排水2 mincase 3:WorkStatePata(3);if(min4_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /进水4 mincase 4:WorkStatePata(1);if(min2_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /漂洗2 mincase 5:WorkStatePata(4);if(min2_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /排水2 mincase 6:WorkStatePata(3);if(min4_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /进水4 mincase 7:WorkStatePata(1);if(min2_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /漂洗2 mincase 8:WorkStatePata(4);if(min2_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /排水2 mincase 9:WorkStatePata(2);if(min2_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /脱水2 mindefault:D_STOP;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;BELL=BELL;break; /电机停止break;case 1:/经济switch(i) case 0:TR1=1;WorkStatePata(3);if(min4_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /进水4mincase 1:WorkStatePata(0);if(min6_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /洗涤6 mincase 2:WorkStatePata(4);if(min2_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /排水2 mincase 3:WorkStatePata(3);if(min4_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /进水4 mincase 4:WorkStatePata(1);if(min2_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /漂洗2 mincase 5:WorkStatePata(4);if(min2_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /排水2 mincase 6:WorkStatePata(2);if(min2_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /脱水2 mindefault:D_STOP;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;BELL=BELL;break; /电机停止break;case 2:/单独switch(i)case 0:TR1=1;WorkStatePata(3);if(min4_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /进水4mincase 1:WorkStatePata(0);if(min6_flag=1)i+;min2_flag=0;min4_flag=0;min6_flag=0;count1=0;count2=0;count3=0;break; /洗涤6 mindefault:D_STOP;mi

温馨提示

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

评论

0/150

提交评论