《基于单片机的全自动洗衣机控制系统设计(排).doc》由会员分享,可在线阅读,更多相关《基于单片机的全自动洗衣机控制系统设计(排).doc(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、浙江工业职业技术学院毕业论文 2015届基于单片机的全自动洗衣机控制系统设计学生姓名 蒋超炯 学 号 分 院 电气电子工程分院 专 业 电气自动化技术 班 级 12电气自动化技术(1)班 毕业设计指导教师 徐君燕 企业指导教师 石栋栋 完成日期 2015年 5 月 11 日 摘 要该系统是基于单片机的全自动洗衣机控制系统设计。系统采用AT89C51单片机作为核心控制芯片。并且辅以必要的外围器件和电路,通过I/O口输出控制电动机运行和停止,通过AT89C51单片机内部定时器中断来记录洗衣时间和进水时间,通过按键来进行洗衣参数设置。通过AT89C51单片机驱动数码管显示洗衣机的工作时间,LED指示
2、灯用作洗衣机的工作状态显示,用两个电控水龙头进行加水和放水,通过蜂鸣器提示洗衣结束。通过外部中断来控制进水和放水。论文重点阐述单片机和控制系统模块的设计。关键词:单片机;全自动洗衣机;数码管,蜂鸣器;中断;定时器 目 录1.引 言12.系统整体设计42.1设计功能要求42.2系统设计方案42.3芯片选择52.3.1什么是单片机52.3.2单片机的应用领域52.3.3单片机的确定62.4单片机的结构62.4.1 STC89C516RD单片机的引脚功能72.4.2电源72.4.3时钟82.4.4控制信号引脚线82.4.5输入/输出引脚(I/O口线)92.5 继电器的选择103. 系统硬件设计113
3、.1 电源电路设计113.2进排水电路设计113.3 显示电路设计123.4 按键控制设计133.5 状态指示电路设计143.6 硬件总体电路设计144.系统软件设计164.1 软件整体结构设计164.2主程序结构设计与分析164.3子程序结构设计与分析294.3.1 定时器中断1子程序294.3.2 外部中断0子程序314.3.3 定时器中断0子程序334.3.4 外部中断1子程序344.3.5 数码管显示子程序355.总 结37致 谢38参考文献391.引 言1.全自动洗衣机的发展过程洗衣机的出现给人们的生活带来了诸多方便,它是现代人必备的日常生活家电,它的发明和应用使人们的洗衣工作变得省
4、时又省力,很好地缓解了人们在家务劳动方面的压力,由洗涤脱水系统,进水排水系统,传动系统,程序控制器等部分组成。各种测量浑浊度,温度,水位,位置,泡沫量等一系列的传感器也在洗衣机中得到了应用。家用洗衣机从发明到现在已经经历了一个多世纪,经历以下一些发展阶段:世界上第一台洗衣机实在1874年由美国的比尔.布莱克斯通(Bill Blackstone)研制成功的。1910年前后,第一台卧轴滚筒式电动洗衣机问世,标志着人类家务劳动自动化的开始。20世纪20年代,第一台立轴搅拌式洗衣机再美国试制成功,由此,洗衣机开始了“立轴”与“卧轴”之分。50年代中叶,日本三洋公司推出单桶波轮式洗衣机。开始确定了滚筒式
5、、搅拌式和波轮式三种工作方式。60年代,日本推出了带甩干桶半自动洗衣机,并且大量应用塑料,使洗衣机的发展进入一个新的阶段。70年代,日本推出波轮式套桶全自动洗衣机,从此开始有了“全自动”洗衣机的概念。70年代后期,日本推出了微电脑控制的全自动洗衣机。完成了由机械电动程序控制到电脑控制的过渡,开始了电脑控制时代。这时,洗衣机在发达国家已进入饱和期,而在亚太地区发展中国家开始进入普及期。80年代后期,“模糊控制”洗衣机开始出现,实现了家电器控制方式上的高度自动化。出现“白色家电”的概念。90年代,随着变频技术的发展,日本最先推出了电动机直接驱动洗衣机,实现了洗衣机驱动方式上的革命。今后洗衣机将以高
6、可靠性,完善的功能,节水省电,降噪省时以及规格品种多样化为发展方向。2.洗衣机的发展前景及待解决的问题1.国外先进技术及开发前景:当今世界是技术、知识大爆炸的年代,只要人们有需要,就有可能生产出某种产品来满足人们的需要。洗衣机的发展正是这样,人们在生活中发现了它的某些不便,就会在实际中不断地改进和完善它,新型的洗衣机正是在这种情况下诞生的。(1)超声波洗衣机超声振动产生空穴现象,在洗涤中通过气泡的生产和消失的运动,产生强水压,再加入小量洗衣剂,振动纤维,超声乳化,去污,水中气泡上升,产生了从洗涤桶中央向外侧翻动的水流,使衣服之间相互摩擦,并与洗涤剂充分接触产生很有效的洗涤作用。这种洗衣机洗涤桶
7、小,桶内无运动部件,无机械电气故障,修理方便。不缠绕,不伤布料,洗衣效果好,省水,省电。(2)电磁洗衣机这种洗衣机洗涤桶内有4个洗涤头,上面各有有个夹子,把衣物伸展夹住,每个洗涤头上有有个电磁线圈,接通电源发生2500次/秒的微击振动,使衣物在洗涤液中洗涤。因不用电机驱动,无噪声,省水50%,省电75%。(3)高温泡沫洗衣机日本大阪大研制的一种不用水用高温泡沫来洗净衣物的洗衣机。洗涤剂罐于洗衣机低部,放衣物后拨动开关,开始鼓风,将空气送入罐中产生泡沫,由加热到70C高温泡沫洗净衣物,然后进入洗衣桶旁边的消泡装置,一般洗510分钟/次,21L/1kg干衣。(4)真空洗衣机原苏联研制的不用洗衣粉或
8、洗涤剂的洗衣机,真空泵将洗衣桶内吸成真空状态,桶中水运动产生气泡爆破并去污。洗净度高,不损衣、无噪声、造价高。实际上是采用冷沸腾洗涤原理,在几秒钟内从洗涤桶的上部那空气抽空出。稀薄空气与水如沸腾壮,衣物在泡沫旋涡钟搅动,1.52分钟就能洗净衣物,一般洗衣服710分钟即可完成全过程。(5)喷射式洗衣机意大利扎努西公司研制一种将洗涤剂不断喷向衣物的洗衣机,似乎无水,可以省水20%,省洗涤剂30%,省能35%,省时间10%。这种洗衣机完全不同于前装式滚筒洗衣机,安装在喷淋系统内的喷射装置持续不断地将水和洗涤剂喷淋在衣物上进行洗涤,并在不锈钢桶内搅动衣物。衣物在液体中不停地搅动,就像桶内根本没有水一样
9、。然而水却渗透过衣物流入位于滚筒底部的一个储水槽中。在槽中,水被从新加热再次循环喷射到衣物上去,洗涤桶做周期性脱水,以排去水和污物,随后漂洗3次,最后脱水洗完。2.洗衣机待解决的一些问题:由于我国洗衣机厂起步晚,加上技术方面的一些问题,不可避免的在现有的机型中出现一些弊端。主要弊端有:噪声大,耗水、耗电,进水不畅或进水不止或排水不畅,工作周期不平稳、振动大,损伤洗涤物,洗涤效果不佳,脱水桶自动性不佳,脱水不良,重量大,容量不合理。具体来说,洗衣机的问题存在于结构、质量、原材料和模具及管理方面(1)结构类型方面我国洗衣机多属波轮式。今后波轮式仍然是主要型式。为了适应国外市场的不同需求,要适当地生
10、产些新型式的滚筒式和搅拌式洗衣机,进而生产具有波轮式、搅拌式两种洗衣机优点的新机型。为了使波轮式洗衣机洗涤更合理,应努力将全自动洗衣机提高到电脑型的水平。双桶洗衣机再提高漂洗的条件下,以重点生产全自动型喷淋式洗衣机为宜。同时要注意避免新水流洗衣机一味地提高波轮式的转数极其转动时间或增高波轮筋高的倾向,以免损伤衣率和缠绕率回升增高,降低了新水流洗衣机的优越性。(2)质量方面我国洗衣机的质量问题,具体反映再功能、外观和可靠性三方面,与国外存在再较大的差距。国内外洗衣机相比较:从功能、电源插头、面板装饰、旋钮结合,塑料件的光整度(光洁、毛刺和变形),外箱和螺丝钉的成形及防锈,皮带的耐磨及噪音,进排水
11、阀和水位开关质量,电脑控制各种功能的能力,电脑的抗电压波动、抗干扰防静电的能力,以及传感器的灵敏度等方面,很容易看出整体质量的好坏。再加上装配工艺较落后,致使我国洗衣机的质量稳定性差,出口有一定的困难。目前我国洗衣机无故障运行水平约为250500小时,而国外同类产品达15002000小时,即十年不需修理。因此提高洗衣机的质量要从提高零部件的质量入手。关键电器件和传动件应组织专业分工,制定标准,组织攻关,进行认证,在改进功能方面、外观质量和可靠性三方面,进行全面整理,提高水平。综合以上分析介绍,全自动洗衣机由于具有对衣物的磨损小、洗涤量大、节约水电等特点,越来越得到广大家庭的青睐。由于人们对全自
12、动洗衣机在价格低廉的基础上也提出了功能齐全、操作简单、不缠绕、不伤布料、洗衣效果好、性能可靠、工作效率高、便于维修等更高的要求。为满足人们这种需求,特设计出这种有微控制器控制的全自动洗衣机控制系统。2. 系统整体设计在进行系统设计之前,首先应根据对系统的功能要求及其应用环境等确定合理的、具体的功能和技术指标,对应用系统的可靠性、通用性、先进性、可维护性、以及成本等进行综合考虑,以尽量合理并符合相应的标准。然后根据市场上各种单片机的货源情况和单片机的性能及开发工具等因素选择合适的机型。接下来要根据系统中遇到的重要器件进行选择,使之符合系统在精度、速度和可靠性等方面的要求。最后确定硬件和软件的功能
13、划分。由于在系统设计中某些功能用硬件和软件都能实现,在设计中应综合考虑研制周期和成本等因素具体划分软硬件功能。2.1设计功能要求 1.通过遥控按键控制洗衣机。 2.12864用于显示相应的持续时间,当前时间和处于什么工作方式中。 3.洗衣机具有强洗,弱洗,自定义功能,并且可以进行单项操作。 4.增加水位传感器控制进水时间(在设计中用红外传感器)。 5.当洗衣结束时蜂鸣器唱歌。 6.洗衣时交替正、反转。洗衣和脱水时电机转速不同。2.2系统设计方案通过设对计要求的分析,主控制系统运用的是STC89C516RD单片机,控制对象包括:继电器1(进水阀)、继电器2(出水阀)、小型直流电机、12864显示
14、、LED状态指示灯、蜂鸣器等。这些被控对象需要根据不同的洗衣程序来设定他们的工作状态和工作时间,继电器1(进水阀)和继电器2(出水阀)来控制进水和出水,同时需要LED指示灯和12864显示不同的工作状态和剩余时间,遥控输入用来控制程序运行和设置洗衣模式,蜂鸣器用来提示洗衣完成提示。按照上述的系统方案得到的系统整体构架如图1.1:图1.1系统整体构架2.3芯片选择 2.3.1什么是单片机单片机即单片微型计算机。(Single-Chip Microcomputer ),是 集CPU 、RAM 、ROM 、定时器、计数器和多种接口于一体的微控制器。这样所组成的芯片级芯片级微型计算机称为单片微型计算机
15、(Single-Chip Microcomputer ),简称位单片微机或单片机。他体积小,成本低,功能强,广泛应用于智能产品和工业自动化上。由于单片机的硬件结构与指令系统都是按工业控制要求设计的,常用于工业的检测、控制装置中,因而也称为微控制器或嵌入式控制器。单片机按用途可分为通用型和专用型两大类,按内部数据通道的宽度又可分为位、位、位及位。而51 单片机是各单片机中最为典型和最有代表性的一种。2.3.2单片机的应用领域单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域,大致可分为如下几个范畴:1.在智能仪器仪表的应用单片机具有体积小、功耗低、控制功
16、能强、扩展灵活、微型化和使用方便等优点,广泛应用于仪器仪表中,结合不同类型的传感器,可实现诸如电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理量的测量。采用单片机控制使得仪器仪表数字化、智能化、微型化,且功能比起采用电子或数字电路更加强大。例如精密的测量设备(功率计,示波器,各种分析仪)。 2.在家用电器中的应用可以这样说,现在的家用电器基本上都采用了单片机控制,从电饭煲、洗衣机、电冰箱、空调机、彩电、其他音响视频器材、再到电子秤量设备,五花八门,无所不在。3.在工业控制中的应用用单片机可以构成形式多样的控制系统、数据采集系统。例如工厂流水线的智能化管理,电梯
17、智能化控制、各种报警系统,与计算机联网构成二级控制系统等。4.在计算机网络和通信领域中的应用现代的单片机普遍具备通信接口,可以很方便地与计算机进行数据通信,为在计算机网络和通信设备间的应用提供了极好的物质条件,现在的通信设备基本上都实现了单片机智能控制,从手机、电话机、小型程控交换机、楼宇自动通信呼叫系统、列车无线通信、再到日常工作中随处可见的移动电话,集群移动通信,无线电对讲机等。5.单片机在医用设备领域中的应用单片机在医用设备中的用途亦相当广泛,例如医用呼吸机,各种分析仪,监护仪,超声诊断设备及病床呼叫系统等等。 此外,单片机在工商、金融、科研、教育、国防航空等领域都有着十分广泛的用途。2
18、.3.3单片机的确定通过设计方案整体分析,根据单片机的使用性、技术性、经济性、以及对控制系统的设计要求与性能,本系统选择STC89C516RD单片机作为核心控制对象。其中STC89C516RD单片机具有以下基本特性:STC89C516RD是一种带128K字节闪烁可编程可擦除只读存储器的低电压,高性能CMOS8位微处理器,外围电路简单、硬件设计方便、I/O口操作简单、资源丰富、能满足一般的使用功能、 价格便宜、容易购买。通过以上的介绍和分析,STC89C516RD完全满足设计要求和性能。因此,本系统选择STC89C516RD单片机作为核心控制对象。2.4单片机的结构STC89C516RD芯片内部
19、集成了 CPU、RAM、ROM、定时/计数器和I/O口等各功能部件,并由内部总线把这些部件连接在一起。STC89C516RD单片机内部包含以下一些功能部件:1. 一个8位CPU;2. 一个片内振荡器和时钟电路;3. 4KB 的ROM4. 128x8字节内部RAM;5. 可寻址64KB的外ROM和外RAM控制电路;6. 两个16位定时/计数器;7. 21个特殊功能寄存器;8. 4个8位并行I/O口,共32条可编程I/O端线;9. 一个可编程全双工串行口;10. 5个中断源;2.4.1 STC89C516RD单片机的引脚功能STC89C516RD单片机一般采用双列直插DIP封装,共40个引脚,图1
20、.2为单片机引脚排列图。40个引脚大致可分为4类:电源、时钟、控制和I/O引脚。图1.2 单片机引脚排列图2.4.2电源1.VCC(40脚)芯片电源,接+;2.VSS(GND20脚)接地端。2.4.3时钟XTAL1(19脚)、XTAL2(18脚)晶体振荡电路反相输入端和输出端。使用内部振荡电路时外接石英晶体如图1.3。图1.3晶体振荡电路 2.4.4控制信号引脚线控制线共有4根,其中3根是复用线。所谓复用线是指具有两种功能,正常使用时是一种功能,在某种条件下是另一种功能。 1.ALE/PROG(30脚)地址锁存允许/片内EPROM编程脉冲。(1)ALE功能:用来锁存P0口送出的低8位地址。ST
21、C89C516RD在并行扩展外存储器(包括并行扩展I/O口)时,P0口用于分时传送低8位地址和数据信号,且均为二进制数。那么如何区分是低8位地址还是8位数据信号呢?当ALE为高电平时,P0口传送的是低8位地址信号;ALE为低电平时,P0口传送的是8位数据信号。在ALE信号的下降沿,锁定P0口传送的内容,即低8位地址信号。需要指出的是,当CPU不执行访问外RAM指令(MOVX)时,ALE以时钟振荡频率1 / 6的固定频率输出,因此ALE信号也可作为外部芯片CLK时钟或其他需要。但是,当CPU执行MOVX指令时,ALE将跳过一个ALE脉冲。ALE端可驱动8个LSTTL门电路。(2)PROG功能:片
22、内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。2.PSEN(29脚)外ROM读选通信号。80C51读外ROM时,没个机器周期内PSEN两次有效输出。PSEN可作为外ROM芯片输出允许OE的选通信号。在读内ROM或读外RAM时,PSEN无效。PSEN可驱动8个LSTTL门电路。 3. RST/Vpd(9脚)复位/备用电源。(1)正常工作时,RST(Reset)端为复位信号输入端,只要在该引脚上连续保持两个机器周期以上高电平,80C51芯片即实现复位操作,复位后一切从头开始,CPU从0000H开始执行指令。8051的复位方式可以是自动复位,也可以是手动复位,见下图1.4上电自动复
23、位电路 和图1.5手动复位电路。 图1.4上电自动复位电路 图1.5 手动复位电路 (2)Vpd功能:在Vcc掉电情况下,该引脚可接上备用电源,由Vpd向片内供电,以保持片内RAM中的数据不丢失。4. EA/VPP(31脚) 内外ROM选择/片内EPROM编程电源。(1)EA功能:正常工作时,EA为内外ROM选择端。AT89C51单片机ROM寻址范围为64KB,其中4KB在片内,60KB在片外。当EA保持高电平时,先访问内部ROM,但当PC(程序计数器)值超过4KB(0FFFH)时,将自动转向执行外ROM中的程序。当EA保持低电平时,则CPU只访问外ROM,当EA为高电平时,则CPU要先对内部
24、ROM访问,然后自动延至外部超过4KB的ROM。(2)Vpp功能:片内有EPROM的芯片,在EPROM编程期间,此引脚用于施加编程电源Vpp。2.4.5输入/输出引脚(I/O口线)1.P0口(3239脚)8位双向I/O口。在不并行扩展外存储器(包括并行扩展I/O口)时, P0口可用作双向I/O口。在并行扩展外存储器(包括并行扩展I/O口)时, P0口可用于分时传送低8位地址(地址总线)和8位数据信号(数据总线)。P0口能驱动8个LSTTL门。 2.P1口(18脚)8位准双向I/O口(“准双向”是指该口内部有固定的上拉电阻)。 P1口能驱动为4个LSTTL门。3. P2口(2128脚)8位准双向
25、I/O口。在不并行扩展外存储器(包括并行扩展I/O口)时, P2口可用作双向I/O口。在并行扩展外存储器(包括并行扩展I/O口)时, P2口可用于传送高8位地址(属地址总线) 。P2口能驱动4个LSTTL门。引脚上拉电阻同P1口。在结构上,P2口比P1口多一个输出控制部分。4. P3口(1017脚)8位准双向I/O口。可作一般I/O口用,同时P3口每一引脚还具有第二功能,用于特殊信号输入输出和控制信号(属控制总线)。P3口驱动能力为4个LSTTL门。 P3口第二功能如下:P3.0RXD:串行口输入端;P3.1TXD:串行口输出端;P3.2INT0:外部中断0请求输入端;P3.3INT1:外部中
26、断1请求输入端P3.4T0:定时/计数器0外部信号输入端;P3.5T1:定时/计数器1外部信号输入端;P3.6WR:外RAM写选通信号输出端;P3.7RD:外RAM读选通信号输出端。上述4个I/O口,各有各的用途。 在不并行扩展外存储器(包括并行扩展I/O口)时, 4个I/O口都可作为双向I/O口用。在并行扩展外存储器(包括并行扩展I/O口)时, P0口专用于分时传送低8位地址信号和8位数据信号,P2口专用于传送高8位地址信号。P3口根据需要常用于第二功能,真正可提供给用户使用的I/O口是P1口和一部分未用作第二功能的P3口端。2.5 继电器的选择继电器是一种电子控制器件,它具有控制系统(又称
27、输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中,用来接通和断开控制电器,它实际上是用较小的电流去控制较大电流的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。根据控制电路的电源电压,能提供的最大电流,被控电路需的触点形式。根据单片机的控制特点AT89C51单片机带负载能力不强,一般用三极管控制继电器,因此本系统采用的是:松乐T73 SRD-5VDC-SL-C继电器。3. 系统硬件设计 3.1 电源电路设计电源为单片机提供+5V电压供电,原理图如图2.1所示,交流220V电源经变压器降压在经过整流、滤波后产生直流电压,输入到集成稳压器7805的输入端,780
28、5输出稳定的+5V电压为单片机供电。图2.1电源电路2.2进排水电路设计图2.2保护电路3.3 显示电路设计显示部分主要是通过一个两位数码管显示系统的工作时间信息。该数码管共有10个管脚,其中AG 7个管脚为数码管的段选,1和2为数码管的位选,DP为小数点显示。其中数码管的段选与单片机的P0.0P0.6口相连接,数码管的位选1和2分别与单片机的P2.0和P2.1相连接。具体电路如图2.3所示。图2.3 显示电路电机驱动电路设计:图2.4 电机驱动电路设计红外检测电路设计图2.5 红外检测电路设计报警电路设计:图2.6 报警电路设计3.4 按键控制设计该系统通过四个独立按键来控制系统的启动、停止
29、和工作状态设置,四个键分别为:程序、增加、减少、启动,其中四个键分别与单片机的P1.0P1.3口相连接:具体连接如图2.4所示。图2.7 按键连接3.5 状态指示电路设计状态指示是通过8个LDE显示系统的工作状态,LED与74LS138的输出端相连接,其中74LS138的三个使能端分别与单片机的P1.4P1.6相连接,通过单片机输出高低电平控制74LS138相应的引脚,使LED点亮,指示出工作状态。具体连接如图2.5所示。图2.8 指示灯电路3.6 硬件总体电路设计 通过上面的分析硬件电路(如图2.6)主要有这几部分组成:1.单片机最小系统:(1)复位电路 (2)时钟电路 (3)AT89C51
30、2.按键控制部分 3.LED与数码显示部分 4. 74LS138译码器5.报警部分(蜂鸣器) 6.继电器控制部分 7.电动机部分其中按键部分为四个独立按键与单片机的P1.0P1.3口相连接,分别是程序的增加、减少和启动主要用于设置洗衣机的工作状态。D0D7是洗衣机的工作状态指示灯,其中D0D5与38译码器的Y0Y5相连接分别表示:进水时间设定,脱水剩余时间,脱水定时,洗衣剩余时间,洗衣定时,洗涤次数。D6与D7分别与单片机的P2.6与P2.7相连接表示:弱洗和强洗。数码管用于显示洗衣机工作的时间,其中P0口控制数码管的段选,P2.0与P2.1控制数码管的位选。报警部分(蜂鸣器)用于洗衣完毕是的
31、报警,通过三极管驱动与单片机的P1.7相连接。继电器控制部分主要用于电动机的正反转控制,通过三极管驱动与单片机的P2.2P2.5相连接。单片机的P3.0与P3.2分别连接两个电控水龙头用于洗衣机的进水和脱水。图2.9 电路原理图4. 系统软件设计4.1 软件整体结构设计该系统的主要程序图框如图3.1所示。系统程序可以分为:主程序,定时器中断1程序,定时器中断0程序,外部中断0和外部中断1程序,延时程序,数码管显示程序,等几部分组成。定时中断1和外部中断0来控制电控水龙头进水,利用定时器中断0记录洗衣时间,通过外部中断1判断水是否放完,来进行脱水,定时中断1记录脱水时间。下面分别以各部分的程序流
32、程图进行分析程序4.2主程序结构设计与分析首先,开机可以先进行选择强洗和弱洗(弱洗是电动机进行正反转每10s交替运行)并且相应指示灯亮。连续按下“程序”键可进行相应功能的选择,当进水时间、洗衣时间、脱水时间、洗涤次数、脱水时间以及强洗或弱洗设置完成后,按下“启动”键系统开始工作,进水龙头打开,当进水时间到或水加满开始进行洗衣,当洗衣时间到,开始进行脱水。当脱水时间到,若洗涤次数不到,继续下一次洗涤,否则结束工作且蜂鸣器报警5秒,工作结束。其应用程序如下:开始启动键按下否洗衣加水洗衣参数设定状态加水时间到否或满否洗衣状态启动键按下否洗衣时间到否脱水状态脱水时间到否洗涤次数到否结束否否否否是是是是
33、是是否是 是 图3.1 主程序图框main() int a; P1=0xff; TMOD=0x11;/定时器0和定时器1同时工作在模式0; ET0=1; /打开内部中断0 ET1=1; /打开内部中断1 led7=0; while(d) shao_maio(); if(b=1200)/b=20刚好1秒 b=0; m=m-1; if(m0) m=0; if(t=0&b=600&b=400&b=800&b1000)q1=1;q4=1; q2=0;q3=0; if(led6=1&led7=0) /强洗 q1=0; q4=0; q2=1; q3=1; /*开始脱水*/if(m=0) sw1=1;/关水
34、龙头1 sw2=0;/开水龙头2 EX0=0;/关外部中断0 ET0=0;/关定时器中断0 TR0=0; EA=1;/开总中断 TMOD=0x11; TH1=(65536-50000)/256; /定时50毫秒 TL1=(65536-50000)%256; ET1=1; /打开内部中断0 TR1=1; EX1=1; /外部中断1打开为放水准备 sn1=0;/4脱水剩余时间指示灯亮 sn2=0;/2 sn3=1;/1 x=5;/显示脱水剩余时间 if(tuo_s=1200) tuo_s=0; t=t-1; if(t=0) jins_time=jins_time1; m=m1; t=t; d=d-
35、1; x=0; xi_di=1;/判断是否跳转 if(d=0) EA=0;/关总中断 sw2=1;/关水龙头2 sm1=sm2=0;/数码管熄灭 sn1=sn2=sn3=1;/LED熄灭 q1=q2=q3=q4=1;/电动机停止 feng_m_qi=0;/蜂鸣器响 delay(2);/延时5秒 feng_m_qi=1;/蜂鸣器停止 else goto start;/*强洗弱洗选择*/if(sb2=0&x=0)/弱洗 for(a=0;a140;a+)/按键去抖 shao_maio(); /扫描数码管 if(sb2=0&x=0) led6=0; led7=1; if(sb3=0&x=0)/强洗 f
36、or(a=0;a140;a+)/按键去抖 shao_maio(); /扫描数码管 if(sb3=0&x=0) led6=1; led7=0; /*功能选择*/ if(sb1=0) EA=0; for(a=0;a130;a+)/按键去抖 shao_maio(); /扫描数码管 if(sb1=0) x=x+1; if(x=1)/洗涤次数设置 sn1=1;/4 sn2=0;/2 sn3=1;/1 if(x=2)/洗衣定时 sn1=1;/4 sn2=0;/2 sn3=0;/1 if(x=3)/洗衣剩余时间 sn1=0;/4 sn2=1;/2 sn3=1;/1 if(x=4)/脱水定时时间 sn1=0;/4 sn2=1;/2 sn3=0;/1 if(x=5)/脱水剩余时间 sn1=0;/4 sn2=0;/2 sn3=1;/1 if(x=6)/进水时间 sn1=0;/4 sn2=0;/2 sn3=0;/1 if(x=7)/强洗 x=0; led6=1; led7=0; /*增加设置*/if(sb2=0&x=1) /洗涤次数增加 /EA=0; for(a=0;a130