智能洗衣机控制器设计报告

合集下载

全自动洗衣机控制器的设计

全自动洗衣机控制器的设计

全自动洗衣机控制器的设计一、本文概述随着科技的不断发展,家用电器的智能化和自动化水平日益提高,全自动洗衣机已经成为现代家庭不可或缺的家电设备。

全自动洗衣机控制器作为洗衣机的核心部件,其性能和设计直接影响到洗衣机的使用体验和效率。

因此,全自动洗衣机控制器的设计研究具有重要的现实意义和应用价值。

本文旨在探讨全自动洗衣机控制器的设计,包括硬件电路设计、软件编程、控制系统架构等方面。

通过深入研究洗衣机的工作原理和用户需求,设计出符合实际应用需求的控制器,以提高洗衣机的性能、稳定性和智能化水平。

本文还将探讨洗衣机控制器设计中的关键技术和难点,以及未来洗衣机控制器的发展趋势和前景。

通过本文的阐述,读者可以全面了解全自动洗衣机控制器的设计过程和技术要点,为相关领域的研究和应用提供参考和借鉴。

本文也希望能够促进洗衣机控制技术的不断创新和发展,为家庭生活的便捷和舒适做出更大的贡献。

二、全自动洗衣机控制器的基本原理全自动洗衣机控制器是洗衣机的大脑,负责控制洗衣机的所有操作过程。

其基本原理可以概括为:接收用户输入的操作指令,通过微处理器或控制芯片对指令进行解析和处理,然后根据预设的程序,控制电机、水泵、加热器、排水阀等各种部件的运行,实现洗衣机的全自动化运行。

全自动洗衣机控制器的核心是微处理器或控制芯片。

微处理器负责接收用户输入的指令,如洗衣模式、洗涤时间、洗涤温度等,然后根据预设的程序,控制各个部件的运行。

控制芯片则负责将微处理器的指令转化为具体的控制信号,以驱动电机、水泵、加热器、排水阀等部件的运行。

全自动洗衣机控制器还需要具备多种传感器,如水位传感器、温度传感器等,以监测洗衣机的运行状态。

水位传感器可以监测洗衣机内的水位,当水位达到预设值时,控制器会停止加水,并开始洗涤。

温度传感器可以监测洗涤水的温度,当温度达到预设值时,控制器会停止加热,以避免过热对衣物造成损害。

全自动洗衣机控制器还需要具备安全保护功能。

例如,当洗衣机出现故障时,控制器会自动切断电源,以避免造成更大的损失。

全自动洗衣机控制系统的设计(毕业设计)

全自动洗衣机控制系统的设计(毕业设计)

全自动洗衣机自动控制摘要本课题设计介绍了采用可编程控制器(PLC)作为核心控制部件的全自动洗衣机控制系统。

文章介绍了洗衣机的结构,对全自动洗衣机的控制系统进行了分析,在此基础上提出了基于PLC的全自动洗衣机控制方案,并对方案进行了论证,根据洗衣机的工作原理,设计了流程及程序,对按钮,继电器,开关,变频器等其它一些输入/输出点进行控制,实现了洗衣机洗衣过程的自动化。

由于洗涤,排水,脱水的时间均由PLC内计数器控制,所以只要改变计数器参数就可以改变时间。

具有智能化程度高、安全可靠、方便、灵活等特点。

关键词:PLC;全自动洗衣机;变频器;继电器AbstractThis article used programmable controller PLC to realize the washer completely automatic control, explained the PLC control principle method, the characteristic and controlled the washer the characteristic. The article during introduction washer structure, carries on the analysis to the completely automatic washer control system, proposed in this foundation based on the PLC completely automatic washer control plan, and has carried on the proof to the plan, has carried on the design according to the washer principle of work to the procedure and the flow, has the intellectualism degree high, safe reliable and so on the characteristics. To the button, the relay, the switch, the frequency changes and so on other some I/O spot carries on the control, realized the washer to wash clothes the process automation. Because spreads every time lavation, draining water, dehydrated time by PLC in counter control, so long as therefore the change counter parameter may change the time.Keyword: Programmable Logic Controller; The automatic process; converter; control relay1 绪论1.1课题研究的意义目前自动洗衣机已成为每个家庭所必需的电器,随着它的畅销出现了各种各样的全自动洗衣机,该设计实现了洗衣机由进水,洗涤,排水,脱水,报警到自动停机的循环过程设计了相应的系统软件。

基于PLC控制的全自动洗衣机设计报告

基于PLC控制的全自动洗衣机设计报告

基于PLC控制的全自动洗衣机设计报告摘要:洗衣机是现代家庭中不可或缺的家电设备,而全自动洗衣机则进一步简化了洗衣的操作流程,提高了洗衣效率。

本报告旨在基于PLC(可编程逻辑控制器)控制设计一种全自动洗衣机,实现自动洗涤、漂洗、甩干等功能,并提高其性能,提升用户体验。

1.引言洗衣机的历史可以追溯到19世纪,随着科技的不断发展,洗衣机在功能和性能上都取得了巨大的进步。

PLC是现代工业自动化中常用的控制器,具有高可靠性、高稳定性、可编程性强等优点,非常适合用于洗衣机的控制系统设计。

2.设计方案本设计方案采用PLC作为洗衣机控制系统的核心,并通过传感器、执行器等外围设备实现对洗衣机各功能的控制和监测。

洗衣机主要包括洗涤模块、漂洗模块、甩干模块和用户界面等组成部分。

2.1PLC控制系统设计PLC控制系统由PLC主机、输入模块、输出模块和数据总线组成。

输入模块负责接收传感器的信号,输出模块则控制执行器的动作。

PLC主机通过编写逻辑程序,处理输入信号,根据预定的控制策略控制输出模块。

2.2传感器引入设计中引入了多个传感器,如水位传感器、温度传感器、压力传感器等,用于实时监测洗衣机内部的状态。

水位传感器用于监测洗衣机内的水位,温度传感器用于监测洗衣水的温度,压力传感器用于监测洗衣机内的压力等。

这些传感器通过数据总线与PLC主机相连接,实现洗衣机状态的实时监测和控制。

2.3执行器的控制洗衣机内的执行器主要包括水泵、电机等。

通过PLC控制输出模块的控制信号,实现对水泵和电机的启停控制。

3.功能设计本设计的全自动洗衣机具备洗涤、漂洗和甩干功能。

用户可以通过操作面板选择不同的洗涤模式和时间,PLC控制系统根据用户的选择进行相应的控制。

3.1洗涤功能在洗涤功能中,PLC控制系统通过控制水泵将适量的水注入洗衣机内,同时控制电机的旋转实现衣物的搅拌和清洗。

3.2漂洗功能在漂洗功能中,PLC控制系统通过控制水泵将洗衣机内的水排出,同时注入清水进行漂洗,以去除洗涤剂残留。

全自动洗衣机控制系统毕业设计

全自动洗衣机控制系统毕业设计

全自动洗衣机控制系统毕业设计引言:随着科技的不断进步和人们对生活质量要求的提高,洗衣机成为人们日常生活中不可或缺的家电之一、随着时间的推移,洗衣机也从最初的手动操作逐渐发展为半自动和全自动洗衣机。

全自动洗衣机不仅可以方便快捷地完成洗涤、漂洗和脱水等过程,还具备各种智能控制功能,极大地提高了洗衣机的使用便利性和智能化程度。

本篇毕业设计将着重讨论全自动洗衣机控制系统的设计与开发,以满足现代家庭的需求。

目标:本毕业设计的目标是设计和开发一个高效、功能完善的全自动洗衣机控制系统。

该系统应具备智能化控制功能,能够根据用户的需求,自动选择适当的洗涤程序,并在洗衣机开始工作前进行必要的预处理,如测定衣物重量和水质硬度等。

此外,系统还应具备故障诊断功能,能够自动检测洗衣机发生的故障并及时报警,方便用户及时处理。

设计与实现:1.硬件设计:本系统的硬件设计包括传感器的选择与布置、执行机构的设计和控制电路的设计等。

传感器主要用于监测洗衣机的状态和环境参数,如水位传感器、温度传感器和转速传感器等。

执行机构主要包括电机和阀门等,用于控制洗衣机的运行。

控制电路设计主要涉及电源管理、数据采集与处理以及通信等方面。

2.软件设计:软件设计是全自动洗衣机控制系统设计中的关键环节。

该系统的软件应具备以下功能:-用户界面设计:设计一个直观友好的用户界面,使用户能够方便地选择洗涤程序、调整参数等。

-洗涤程序选择:根据用户选择的洗涤程序,自动调整洗衣机的运行参数,并显示当前运行状态。

-智能预处理:根据衣物重量和水质硬度等参数,自动调整洗涤剂的用量和洗涤时间。

-故障诊断:通过监测和分析来自传感器的数据,判断洗衣机是否发生故障,并及时报警。

3.性能测试与优化:完成洗衣机控制系统的设计与开发后,需进行性能测试与优化,以确保系统的稳定可靠性。

性能测试可以包括对系统各功能的单独测试和整体测试,确保系统在各种工作状态下都能正常运行。

优化则需要根据测试结果对系统的硬件和软件进行适当的调整和改进,以提高系统的性能和可靠性。

洗衣机控制模型设计报告

洗衣机控制模型设计报告

洗衣机控制模型设计报告作者:金秀,黎宗伟,谢伟敏摘要:本控制系统以单片机为核心,以个独立键盘分别做为输入达到启动、控制水位高低、洗衣重复次数、电机循环次数的控制,加入了复位(预设重置)功能,用个八位数码管分别显示以上各种预设值;用芯片驱动电机正转反转以及暂停达到控制洗衣脱水全过程以及控制排水阀的进排水;最后用蜂鸣器发出洗衣结束信号。

完成了题目的基本要求部分后有自己的发挥。

关键字:单片机﹑达林顿驱动,模数转换器,故障预警, 断电记忆,, , ,,, ( ) , , , ;; . .: , , .目录一﹑设计题目、设计任务、设计要求二﹑系统方案选择与论证、最终方案设计思想及框架示意图三﹑系统各模块单元的理论分析与实际电路设计(一)电源模块设计(二)数字控制电路设计﹑按键输入模块﹑数码管显示模块﹑蜂鸣器报警模块(三)、机械控制电路设计﹑水位检测电路模块﹑进(排)水电磁阀及电机控制模块四﹑发挥部分设计、进排水故障预警、断电记忆功能五﹑程序总流程图六、设计总结七、附录附录、部分元器件明细表附录、印制电路板图附录、部分程序清单一、洗衣机控制模型、设计任务设计并制作洗衣机控制模型,该洗衣机装水容量为升,控制器可设定高、中、低水位和洗衣过程,控制电动机的正反转,自动进水和排水。

系统结构框图如下:、设计要求对洗衣机控制程序的要求如下:、接通电源后,数字显示“0”,电动机准备投入运行。

、设定高、中、低水位和洗衣重复次数(进水、排水次数),可在~次任意预置。

、设定电动机的循环次数(四个节拍表示一个循环),可在~次循环周期任意预置。

、按下起动开关,按设定水位自动进水,到达设定水位后停止进水。

、电动机开始循环运行,每次循环由四个节拍组成:①电动机正转,持续秒;②电动机停转,持续秒;③电动机反转,持续秒;④电动机停转,持续秒。

每个循环周期为秒。

数字显示电动机已经循环的次数。

到达预定循环次数后,电动机停转、打开排水阀,自动排水和脱水。

全自动洗衣机控制器设计 开题报告

全自动洗衣机控制器设计 开题报告

第一章文献综述1.1 洗衣机的国内外现状随着洗衣机质量不断提高和居民购买能力的增强,洗衣机行业迎来了成熟期之后市场需求的提升。

人们在注重产品品质和价格的同时,对产品外观和功能的要求也越来越高[1]。

目前,国内外大部分洗衣机的外观都相差不大,只有中外合资企业LG、三星、松下、惠而浦、东芝、夏普等的外观较为独特。

近年来,许多新技术和新工艺应用于洗衣机上,例如:离心原理应用、无离合器技术、波轮与内桶一体化技术、无孔内桶技术等等。

目前国内外洗衣机技术主要表现在以下几个方面[2]:①外观造型方面亚洲风格:荣事达和日本的圆弧流线型设计。

亚欧结合:方形透明视窗,洗衣一目了然,拱形箱体设计,美观大方、结实牢固、增大内部活动空间,防振抗振效果更佳。

新概念外观,彩色化设计:不锈钢波轮,汽车用超豪华漆,打破家电黑白框框,更符合家居装饰化。

②生产工艺方面采用VFD(真空荧光显示)技术在黑暗的场所也清晰可见。

全塑外壳,减振树脂外壳,箱体与底座连成一体。

面贴与面板一次成型,牢靠、美观且耐用。

③内部水流方面喷淋喷射网络水流:从上下左右,四面八方彻底搓洗衣物,不漏掉一点污渍,不缠绕不打结,减少衣物摩擦。

组合波轮,喷泉式循环水流:由外围大波轮形成旋转大循环水流和中间小波轮形成的向上冲击水流组成。

组合波轮的洗衣机由大波轮产生混力水流,由无孔内桶形成独特的上下水流。

松下龙瀑布水流:水流从四个瀑布口强力喷射而出,宛如四龙腾飞。

龙瀑布洗衣机打破了普通瀑布水流的固有模式,当波轮运转时,水流被吸纳入特殊设置的循环水道口,沿循环水道迅速爬升,从上下四个瀑布口强力喷射而出,形成强劲的上下两组对流式瀑布水流,从不同方位立体洗涤衣物,里里外外洗净衣物,同时降低了衣物的缠绕。

松下双瀑布立体循环水流:促成上下水平揉搓的洗涤方式,特宽型双瀑布,内槽上端两处不断循环强力注水,形成两个形似瀑布的特宽水流。

强劲水柱:从底部中央喷出来的强劲水柱,产生三维多循环水流,改善了洗衣过程中衣物往中心集中,互相打结的现象;减少了衣物与波轮的摩擦,并具有古代棒打洗衣原理,强力捶打衣物。

《2024年基于单片机的全自动洗衣机系统设计》范文

《2024年基于单片机的全自动洗衣机系统设计》范文

《基于单片机的全自动洗衣机系统设计》篇一一、引言随着科技的不断发展,家电智能化已成为现代家庭生活的重要标志。

其中,全自动洗衣机以其便捷、高效的特点深受消费者喜爱。

本文将介绍一种基于单片机的全自动洗衣机系统设计,通过智能化控制,实现洗衣过程的自动化、高效化。

二、系统概述本系统以单片机为核心控制器,结合传感器、电机驱动、水位控制等模块,实现对洗衣机的全自动控制。

系统具备进水、洗衣、漂洗、脱水、排水等功能,可根据衣物类型、污渍程度等自动调整洗衣参数,达到最佳的洗衣效果。

三、硬件设计1. 单片机控制器:作为系统的核心,负责接收用户指令、控制各模块工作。

2. 传感器模块:包括水位传感器、温度传感器等,用于检测洗衣机的工作状态及环境参数。

3. 电机驱动模块:控制洗衣机的进水、洗涤、脱水等电机,实现洗衣过程的自动化。

4. 水位控制模块:通过水位传感器实时监测水位,自动控制进水阀的开关,保持水位在合适范围内。

5. 通信接口:便于与上位机或其他设备进行通信,实现远程控制或数据传输。

四、软件设计1. 主程序:负责初始化系统、接收用户指令、调用各子程序等。

2. 洗衣程序:根据衣物类型、污渍程度等自动调整洗衣参数,包括进水、洗涤、漂洗、脱水等步骤。

3. 通信程序:实现与上位机或其他设备的通信,接收远程控制指令或发送数据。

4. 故障诊断程序:实时监测系统状态,发现故障时自动报警并提示用户。

五、系统实现1. 用户通过操作面板或手机APP输入洗衣指令,包括衣物类型、洗涤模式、时间等。

2. 单片机控制器接收指令后,根据预设的算法自动调整洗衣参数,并通过电机驱动模块控制洗衣机的进水、洗涤、脱水等过程。

3. 传感器模块实时监测水位、温度等参数,确保洗衣机在合适的工作环境下运行。

4. 如遇故障,系统会自动报警并提示用户,同时可通过通信接口将故障信息发送至手机APP或上位机。

六、系统优势1. 自动化程度高:本系统可实现洗衣过程的自动化,用户只需设置洗衣参数,即可轻松完成洗衣任务。

全自动洗衣机的PLC控制课程设计报告

全自动洗衣机的PLC控制课程设计报告

全自动洗衣机的PLC控制课程设计报告课程设计报告全自动洗衣机的PLC控制班级:姓名:学号:2013年11月30日摘要随着社会经济的发展和科学技术水平的提高,家庭电器全自动化成为必然的发展趋势。

全自动洗衣机的产生极大的方便了人们的生活。

洗衣机是国内家电业唯一不打价格战的行业,经过几年的平稳发展,国产洗衣机无论在质量上还是功能上都和世界领先水平同步。

纵观洗衣机市场,高效节能、省水、省电、环保型洗衣机一直在市场上占主导地位。

根据全自动洗衣机的工作原理,利用可编程控制器PLC实现控制,说明了PLC控制的原理方法,特点及控制洗衣机的特色。

PLC的优点是:可靠性高,耗电少,适应性强,运行速度快,寿命长等,为了进一步提高全自动洗衣机的功能和性能,避免传统控制的一些弊端,就提出了用PLC来控制全自动洗衣机这个课题。

全自动洗衣机控制系统利用了西门子S7-200系列PLC的特点,对按鈕,电磁阀,开关等其他一些输入/输出点进行控制,实现了洗衣机洗衣过程的自动化。

由于每遍的洗涤,排水,脱水的时间由PLC内计数器控制,所以只要改变计数器参数就可以改变时间。

可以把上面设定的程序时间定下来,作为固定程序使用,也可以根据衣物的质地,数量及油污的程度来编程。

该论文就怎样利用PLC来控制全自动洗衣机进行了调查,对其中软件设计、硬件设计等问题进行了分析和研究,实现了全自动洗衣机的正常运行和强制性停止功能。

关键词:PLC;自动;定时;控制AbstractAlong with the social economy development and the science and technology level enhancement, the family electric appliance entire automation becomes the inevitable development tendency. Entire automatic washer production enormous convenience people's life. The washer is the domestic electrical appliances industry does not only hit the profession which the price fights, passes through several year steady development, the domestically produced washer regardless of in quality or in function all with world leading horizontal synchronization. Looks over the washer market, the highly effective energy conservation, the province water, the province electricity, the environmental protection washer continuously occupy the dominant position in the market. How does this paper study controls the entire automatic washer using PLC, to question and so on software design, hardware design has carried on the analysis and the discussion, has realized the entire automatic washer normal operation and compulsory stops the function.Keyword: PLC; control; delay;entire automatic目录第一章绪论 (1)1.1课题的研究背景 (1)1.2洗衣机的发展概况和现状 (1)1.3课题研究的目的与意义..................................................................-2 1.4本课题研究的主要内容. (3)第二章概述 (3)2.1 PLC的控制特点 (4)2.2 控制系统框图 (5)2.3 控制系统应设备及功能 (5)2.4 控制系统原理 (5)第三章硬件电路的设计 (6)3.1 PLC的选择 (7)3.1.1 I/O点数统计 (8)3.1.2 I/O储存器容量估计 (8)3.1.3 CPU功能与结构的选择 (9)3.2 PLC外部接线图 (9)3.3 洗衣机示意图 (10)第四章软件的设计 (11)4.1 I/O分配表 (11)4.1.1 输入地址分配表 (11)4.1.2 输出地址分配表 (11)4.1.3 内部元件地址分配表 (11)4.2 系统流程图 (12)4.2.1 强制停止流程图 (12)4.2.2 正常运转流程图 (12)4.3 程序设计 (13)4.3.1 PLC控制顺序功能图 (15)4.3.2 系统梯形图 (16)第五章程序运行过程分析 (19)第六章系统仿真 (22)结束语 (23)参考文献 (24)第一章绪论1.1 课题的研究背景本次设计基于PLC的全自动洗衣机控制,本文的课题源于市场上洗衣机产品。

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

(封面)XXXXXXX学院智能洗衣机控制器设计报告题目:院(系):专业班级:学生姓名:指导老师:时间:年月日设计内容及要求① 设计一个智能洗衣机控制器,能够实现洗衣,漂洗和脱水的功能。

②要求能够使用按键模拟对洗衣机的控制,能够设置工作模式,为了便于观察,将洗衣机设定的工作模式(1~5)和整个过程所剩的工作时间用数码管显示出来(时间分辨率为1分钟),能够将洗衣机当前所处的状态(注水,洗衣,排水,甩干)用发光管或者数码管显示出来。

【模式1】:洗衣模式--强力洗(洗衣30分钟)【模式2】:洗衣模式--普通洗(洗衣20分钟)【模式3】:洗衣模式--轻柔洗(洗衣10分钟)【模式4】:漂洗模式【模式5】:甩干模式注:在以上5个模式中,每次注水1分钟,漂洗5分钟,排水1分钟,甩干1分钟,模式1~3的洗衣时间如上所示,具体的洗衣步骤如下:【模式1~3】:注水->洗衣->排水->甩干->注水->漂洗->排水->甩干->注水->漂洗->排水->甩干。

【模式4】:注水->漂洗->排水->甩干->注水->漂洗->排水->甩干。

【模式5】:甩干。

【要求】:实现逻辑控制过程,可以选择性的加入注水口无水报警等人性化的状态提示,操作完毕使用蜂鸣器鸣叫两秒提示。

③ 画出洗衣机控制器的状态机,写出状态编码方案。

④ 用Verilog语言对设计进行描述,设计一个测试方案,并能够下载到实验板上调试成功。

⑤ 写出设计性实验报告,并打印各层次的源文件和仿真波形,然后作简要说明。

并谈谈此次实验的收获、感想及建议系统设计1 系统框图与说明本次设计的重点在于智能控制器状态之间转换的条件和关系,并且在此基础上输出相应的显示。

图一系统结构框图Pause warnMode1Mode2Mode3Mode4Mode5输入端口描述Reset:复位Mode1-5:模式选择Pause:暂停启动Warn:报警2状态转换图洗衣机共分为5个模式,4个状态。

模式分别为MODE1强力洗,MODE2普通洗,MODE3轻柔洗,MODE4漂洗,MODE5甩干;状态分别为state0注水,state1洗衣,state2排水,state3甩干。

另外,为使洗衣机增添功能,添加了两个个状态,一个为初始状态state00,另一个为cloze,即为洗衣完成时的状态。

图二 状态转换图3 输入输出设计(按键,数码管,发光管,蜂鸣器) 控制器设定有8个按键,其中5个为选择模式的按钮,另外一个则是控制器的复位键reset 。

当按下reset 的时候,控制器回复到初始状态。

还有一个是表示无水时的传感信号,最后一个则是增加的控制洗衣机暂停和再启动的按键。

输出数码管也有6个,其中两个分别显示控制器当前状态和模式,另外四个用来表示当前状态所剩余时间。

发光二极管设定了两个,其中一个表示洗衣机水箱无水时的报警显示,另一个是表示洗衣完成时的显示。

相应的,在这两个发光管亮起时,蜂鸣器发出声音。

系统仿真1 各工作模式仿真波形图三 mode1状态转换图四 mode2状态转换图五 mode3状态转换图六 mode4状态转换图七 mode5状态转换图八 mode4中由注水向洗衣状态转换时细节显示实验总结1 心得体会我们认为,在这学期的课设中,在收获知识的同时,还收获了阅历,收获了成熟,在此过程中,我们通过查找大量资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。

更重要的是,在课设过程中,我们学会了很多学习的方法。

而这是日后最实用的,真的是受益匪浅。

要面对社会的挑战,只有不断的学习、实践,再学习、再实践。

我们采用Verilog语言作为执行核心,通过了种从无到有,从不会到自由运用的过程。

在某种意义上说,这是一种锻炼,一种知识的积累,能力的提高。

完全可以把这个当作基础东西,只有掌握了这些最基础的,才可以更进一步,取得更好的成绩。

很少有人会一步登天吧。

永不言弃才是最重要的。

而且,这对于我们的将来也有很大的帮助。

以后,不管有多苦,我想我们都能变苦为乐,找寻有趣的事情,发现其中珍贵的事情。

就像中国提倡的艰苦奋斗一样,我们都可以在实验结束之后变的更加成熟,会面对需要面对的事情。

附录:源程序moduleauto_con(clk,clk2,clr,out,sel,mode,warn,speak,ts1,ts2,tm1,tm2,LEDW,LEDF); input clk,clr,clk2,warn;input[4:0] sel;output[3:0] out;output speak,LEDW,LEDF;output[3:0] mode;reg[3:0] mode;reg LEDW,LEDF;reg[3:0] out;reg[3:0] state;reg[1:0] step;output[3:0] ts1,ts2,tm1,tm2;reg[3:0] ts1,ts2,tm1,tm2;wire fin;wire speak;reg flag;parameter state0=4'b0001,state1=4'b0010, /*状态编码,采用二进制编码方式*/state2=4'b0011,state3=4'b0100,state11=4'b0110,state12=4'b0111,state13=4'b1000,cloze=4'b0101,state00=4'b0000;assign fin=((ts2==0) & (ts1==0) & (tm2==0) & (tm1==0));assign speak=(warn||(state==cloze))&clk2; /*蜂鸣器信号*/always @(posedge clk) /*该进程定义起始方式*/begincase(sel)5'b00001:mode<=4'b0001; /*模式编码,采用二进制编码方式*/5'b00010:mode<=4'b0010;5'b00100:mode<=4'b0011;5'b01000:mode<=4'b0100;5'b10000:mode<=4'b0101;default: mode<=4'b0000;endcaseif(state==cloze) LEDF <= 1'b1; /*洗衣完成时发光管发光*/else LEDF <= 1'b0;LEDW <= warn; /*无水报警时发光管发光*/beginif(ts2!=0) /*该部分控制倒计时*/ts2 <= ts2 - 4'd1;else if(ts2==0 & ts1 != 0)begints2 <=4'd9;ts1 <= ts1-4'd1;endelse if(ts2==0 & ts1==0 & tm2!=0)begints2 <= 4'd9;ts1 <= 4'd5;tm2 <= tm2 - 4'd1;endelse if(ts2==0 & ts1==0 & tm2==0 & tm1!=0)begints2 <= 4'd9;ts1 <= 4'd5;tm2 <= 4'd9;tm1 <= tm1 - 4'd1;endendif(clr) beginstate<=state00;flag<=1'b0;step<=2'b00;tm1<=0;tm2<=0;ts1<=0;ts2<=0;endif(fin)case(sel) /*该进程控制各模式状态之间的转换*/ 5'b00001:case(state) /*MODE1的状态转换*/state00:begin tm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=4'b0001;endstate0:beginif(flag==0)begin tm1<=2;tm2<=9;ts1<=5;ts2<=9;state<=4'b0110;flag<=1'b1;endelsebegin tm1<=0;tm2<=4;ts1<=5;ts2<=9;state<=4'b0010;endend4'b0110:begin tm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=4'b0011;end4'b0010:begin tm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=4'b0011;end4'b0011:begin tm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=4'b0100;end4'b0100:beginif(step==2'b10) state<=cloze;elsebegin tm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=state0;step<=step+2'b1;endenddefault: state<=cloze;endcase5'b00010:case(state) /*MODE2的状态转换*/state<=4'b0001;endstate0:beginif(flag==0)begin tm1<=1;tm2<=9;ts1<=5;ts2<=9;state<=4'b0111;flag<=1'b1;endelsebegin tm1<=0;tm2<=4;ts1<=5;ts2<=9;state<=4'b0010;endend4'b0111:begin tm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=4'b0011;end4'b0010:begin tm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=4'b0011;end4'b0011:begin tm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=4'b0100;end4'b0100:beginif(step==2'b10) state<=cloze;else begintm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=state0;step<=step+2'b1;endenddefault: state<=cloze;endcase5'b00100:case(state) /*MODE3的状态转换*/ state00:begin tm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=4'b0001;endstate0:beginif(flag==0)state<=4'b1000;flag<=1'b1;endelsebegin tm1<=0;tm2<=4;ts1<=5;ts2<=9;state<=4'b0010;endend4'b1000:begin tm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=4'b0011;end4'b0010:begin tm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=4'b0011;end4'b0011:begin tm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=4'b0100;end4'b0100:beginif(step==2'b10) state<=cloze;else begintm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=state0;step<=step+2'b1;endenddefault: state<=cloze;endcase5'b01000:begin /*MODE4的状态转换*/case(state)4'b0000:begin tm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=state+4'b0001;end4'b0001:begin tm1<=0;tm2<=4;ts1<=5;ts2<=9;state<=state+4'b0001;end4'b0010:begin tm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=state+4'b0001;end4'b0011:begin tm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=state+4'b0001;end4'b0100: begin if(flag==0)begintm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=4'b0001;flag<=flag+1'b1;endelse state<=cloze;enddefault:state<=cloze;endcaseend5'b10000:begin /*MODE5的状态转换*/case(state)4'b0000:begin tm1<=0;tm2<=0;ts1<=5;ts2<=9;state<=4'b0100;end4'b0100:begin state<=cloze;enddefault state<=cloze;endcaseenddefault: state<=state00; /*default语句,避免锁存器的产生*/ endcaseend。

相关文档
最新文档