洗衣机控制器设计

合集下载

洗衣机控制器设计

洗衣机控制器设计

目录1.设计任务及要求 (2)1.1设计的主要内容: (2)1.2设计要求: (2)2.设计原理及总体框图 (3)2.1 工作原理 (3)2.2源程序: (4)2.2.1数码管显示 (4)2.2.2时序电路 (6)2.2.3预置时间和编码电路 (7)2.2.4译码器 (9)2.2.5定时器电路 (10)3.编译及仿真..................................................................................................... 错误!未定义书签。

4.硬件调试与结果分析 (14)5.心得体会 (16)6.参考文献 (17)1.设计任务及要求利用可编程逻辑器件丰富的内部资源,借助EDA(电子设计自动化)工具把家电控制器电路集成在一片FPGA(现场可编程门阵列)芯片内,这样就无需专门的单片机和外部逻辑电路,从而减小了电路的体积、提高了系统的稳定性。

本次电路设计是洗衣机控制器设计。

1.1设计的主要内容设计一个洗衣机控制器,要求洗衣机有正转、反转、暂停三种状态。

设定洗衣机的工作时间,要洗衣机在工作时间内完成:定时启动正转20秒暂停10秒反转20秒暂停10秒定时未到回到“正转20秒暂停10秒……”,定时到则停止,同时发出提示音。

1.2设计要求:(1)设计一个电子定时器,使洗衣机作如下运转:定时启动—〉正转20秒—〉暂停10秒—〉反转20秒—〉暂停10秒—〉定时不到,则重复上面过程。

(2)若定时到,则停止,并发出音响信号。

(3)用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由开始信号开始。

(4)三只LED灯表示“正转”、“反转”、“暂停”三个状态。

2.设计原理及总体框图2.1 工作原理洗衣机控制器的设计主要是定时器的设计,由一片FPGA 和外围电路构成了电器控制部分。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

单片全自动洗衣机控制器设计

单片全自动洗衣机控制器设计

全自动洗衣机控制器设计一.设计任务及要求:设计任务:全自动洗衣机控制器设计设计要求:1.洗涤过程通电后,洗衣机进入暂停状态,以便放好衣物。

2.脱水过程洗涤或漂洗过程结束后,电机停止转动,排水阀通电,开始排水。

3.漂洗过程与洗涤过程操作相同,只是时间短一些。

全部洗衣工作完成后,由蜂鸣器发出音响,表示衣物已洗干净。

4.洗衣机的标准洗衣程序是:洗涤——脱水——漂洗——脱水——漂洗——脱水——漂洗——脱水。

5.暂停功能。

6.声光显示功能。

7.要求做出实物。

二、指导教师成绩评定:设计过程(40分):实物(40分):报告(20分):三、成绩指导教师签名:年月日目录第1章设计目的 (1)第2章设计要求 (1)第3章硬件电路设计 (2)3.1系统方案设计 (2)3.2STC89C52单片机最小系统 (2)3.2.1STC89C52单片机介绍 (2)3.2.2复位电路 (4)3.2.3晶振电路 (5)3.3LED显示电路 (5)3.3.174HC573介绍 (5)3.3.2 LED数码管介绍 (7)3.3.3显示电路工作原理 (7)3.4系统电路原理图 (8)3.4.1 Altium Designer简介 (8)3.4.2 电路原理图 (9)第4章软件设计 (10)4.1 主程序设计 (10)4.2源程序 (12)第5章设计总结 (17)参考文献 (18)第1章设计目的1、掌握单片机实际系统的开发步骤,能够对单片机所涉及到的电子电路、电子元器件和电路板的焊制组合有进一步的认识。

2、加深对单片机硬件电路图和程序流程图的绘制的方法的理解,并能熟练的利用相关软件绘制出这些图。

3、巩固单片机控制系统程序的编写、调试和运行的方法。

4、掌握单片机应用系统的开发调试过程,为今后踏上工作岗位后能胜任这方面的工作做好铺垫。

第2章设计要求1、洗涤过程。

通电后,洗衣机进入暂停状态,以便放好衣物。

若不选择洗衣周期,则洗衣机从洗涤过程开始。

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

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

3、输入设备
输入设备主要用于接收用户输入的指令,如洗涤程序、洗涤时间等。常见的 输入设备包括按键、触摸屏等。
4、输出设备
输出设备主要用于显示洗衣机的状态和洗涤结果,如LED、LCD等。
5、与洗衣机的通信接口
基于单片机全自动洗衣机控制器还需要与洗衣机本身进行通信,以获取洗衣 机的状态信息并控制洗衣机的运行。常见的通信接口包括串口、I2C等。
2、通过水位传感器获取水位信息,并反馈给MCU,由MCU根据预设的程序自 动调整进水电磁阀的开度,以保持水位稳定;
3、根据衣物的材质和污渍程度,自动调整洗涤时间和水温; 4、在洗涤过程中,根据洗涤程序的不同阶段,控制各个电机的运行和停止;
5、通过LED显示屏或手机APP反馈洗涤进程和故障信息给用户。
一、概述
单片机是一种集成度高、功能强大、可靠性高的微控制器,广泛应用于各种 嵌入式系统中。在全自动洗衣机控制中,单片机可以实现对洗涤程序、水位、洗 涤时间、洗涤方式等多种参数的精确控制,从而提高洗衣机的性能和效率。
二、硬件设计
全自动洗衣机的硬件部分主要包括电源模块、单片机模块、输入设备(如按 键、触摸屏等)、输出设备(如LED、LCD等)、以及与洗衣机的通信接口等。
5、人机交互模块:负责显示洗涤进程和故障信息给用户,以及接收用户输 入的指令。
3、代码实现在代码实现阶段,我们需要根据系统设计的要求,逐步将每个 功能模块转化为具体的代码。
参考内容
随着科技的进步,单片机技术在全自动洗衣机控制中的应用越来越广泛。本 次演示将介绍基于单片机全自动洗衣机控制器的设计与仿真。
1、主控模块:负责接收用户指令和传感器信号,并输出控制信号给各个电 机和电磁阀;
2、水位控制模块:负责根据水位传感器信号反馈,调整进水电磁阀的开度 以保持水位稳定;

课程设计---洗衣机控制器的设计

课程设计---洗衣机控制器的设计

电子技术课程设计报告书课题名称洗衣机控制器的设计姓名学号院、系、部专业电子信息工程指导教师2010年 11 月 25日洗衣机控制器的设计1 设计目的(1) 熟悉集成电路的引脚安排。

(2)掌握各芯片的逻辑功能及使用方法。

(3)了解面包板结构及其接线方法。

(4)了解洗衣机控制器的组成及工作原理。

(5)熟悉洗衣机控制器的设计与制作。

(6)运用HVDL 语言完成洗衣机控制器的编程。

2 设计思路(1)设计洗衣机控制器电路。

(2)设计可预置时间(10-30分钟)的定时模块。

(3)设计洗衣机运作模块,控制洗衣机的进水,洗衣,放水,脱水运转。

(4)设计分频模块,为洗衣机提供‘秒’时钟。

(5)设计译码模块,完成对时间(分)的二进制译码和LED 管的动态扫描。

(6)设计电源电路和按键判别电路。

(7)设计显示电路,完成对剩余时间和工作状态的显示3 设计过程3.1 方案论证洗衣机控制器的整体框图如下(图一)所示:图 一(洗衣机控制器原理框图)FPGA 芯片 电源总控制键盘电路 译码模块洗衣机运作模块 显示电路 分频模块 时钟(1K )工作原理:1、开启电源后,洗衣机进入总控模块的时间设定模式,由7段LED 灯显示所设定时间;2、时间设定后,启动洗衣机,进入洗衣机运转模式,即启动洗衣机运转模块,同时屏蔽总控模块总时间(Time_all )信号。

每次自动洗衣时间由总控模块自动分配。

七段LED 灯轮换显示工作模式(进水=1,洗衣=2,放水=3,脱水=4)和剩余时间。

3、3次自动洗衣完成后,洗衣机进入待机模式,七段LED 灯灭,再次等待时间设定。

电路设计洗衣机控制器主要电路如图所示:ULN2803是高电压大电流达林顿晶体管阵列,用于高电压大电流负载。

74LS138为动态扫描译码电路,可基于该电路扩展LED 显示为最高8位动态。

增加了VCC 所接上拉电阻,为LED 显示提供足够的驱动电流。

KEY 为机械开关,只针对单个按键进行合键判别,无对应行列扫描。

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

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

全自动洗衣机控制器的设计随着科技的不息进步,家居电器也不息智能化,其中一款备受欢迎的智能家电就是全自动洗衣机。

全自动洗衣机通过内置的控制器,可以实现洗涤、漂洗、脱水等一系列操作,便利了人们的生活。

本文将探讨原理和关键技术。

需要思量多个因素,包括洗衣程序、水位控制、温度控制、运转控制等。

起首,我们来探讨洗衣程序的设计。

通常,全自动洗衣机会预设多个洗衣程序,如标准洗、快速洗、混合洗、柔和洗等。

每个洗衣程序都有不同的洗涤时间、漂洗次数和脱水时间。

为了实现这些功能,控制器需要依据用户选择的洗衣程序,控制洗衣桶的转速、定时器和水泵的工作。

水位控制是全自动洗衣机控制器的另一个重要方面。

在洗涤过程中,水位的高矮直接影响着洗涤的效果。

常见的水位控制方式有机械传感器和电子传感器。

机械传感器通过浮球的上下浮动来裁定水位高矮,而电子传感器则通过电极来检测水位。

控制器需要依据传感器的信号,控制进水阀门的开关,以达到合适的洗涤水位。

温度控制是实现不同洗衣程序的关键之一。

全自动洗衣机通常可以选择热水、暖水或冷水洗涤。

控制器需要通过控制加热器和水阀,实现水温的调控。

例如,在选择热水洗涤程序时,控制器会打开加热器,并通过水阀调整冷水与热水的比例,以达到设定的洗涤温度。

运转控制是全自动洗衣机中最基本的功能之一。

控制器需要精通洗涤桶的转速、方向和时间。

洗涤桶通常有洗涤、漂洗和脱水三个程序,每个程序都有不同的转速和时间。

控制器需要通过控制电机的转速和方向,以及定时器的设置,实现不同程序的切换和控制。

除了上述功能,全自动洗衣机控制器还需要思量故障保卫和用户界面设计。

故障保卫是指在使用过程中出现故障时,控制器能够准时停止运行并发出警报。

例如,当水位传感器检测到高水位时,控制器应马上停止水泵的工作,并发出报警。

用户界面设计是指控制器的操作界面应简易易懂,并且能够显示洗衣程序、洗涤时间、水温等信息,便利用户操作和监控。

综上所述,需要思量洗衣程序、水位控制、温度控制、运转控制、故障保卫和用户界面设计等方面的因素。

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

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

摘要随着数字技术的快速发展,数字技术被广泛应用于智能控制的领域中。

单片机以体积小、功能全、价格低廉、开发方便的优势得到了许多电子系统设计者的青睐。

它适合于实时控制,可构成工业控制器、智能仪表、智能接口、智能武器装置以及通用测控单元等。

本文以AT89S51单片机为核心设计了全自动洗衣机控制系统,本系统实现了对洗衣机整个洗衣过程的控制,包括用户参数输入、洗衣、脱水和结束报警四个阶段。

控制系统主要由电源电路、单片机控制系统和外部硬件电路三大模块组成。

电源电路为单片机主控系统提供5v的直流电压;单片机主控系统负责控制洗衣机的工作过程,主要由AT89S51单片机、数码管、按键、蜂鸣器、LED指示灯组成;外部硬件电路有继电器、三极管、LED灯组成。

本系统的电路并不复杂,给AT89S51单片机载入软件程序后,能够实现全自动洗衣机的基本功能。

虽然不能与电器市场上的洗衣机控制系统媲美,但也具有一定的实用性。

关键词: AT89S51 用户参数继电器控制系统 LEDAbstractWith its rapid development, digital technology is widely used in the field of control system. Single chip microcontroller is favored by many electronic system designers for its smallness, full function, low price and easy application. Its pretty fit for real-time control as a core in industrial controller, intelligent apparatus, intelligent interface, intelligent weapon device, universal measure control unit, etc.This article designs a full-automatic washing machine control system with AT89S51 as core. This system realizes whole working course of full-automatic washing machine, including four parts: user parameter input, wash, dehydrate and ending music play. Hardware system is made up of three modules: power supply circuit, digital control circuit and machine control circuit. Power supply circuit provides steady DC 5V voltage for digital control circuit and AC 220V for motor. Digital controlcircuit takes charge of controlling the working course. It consists of AT89S51, double-figured common-cathoded numeral display, buttons, buzzer, LED. Machine control circuit realizes the functions of water level detect, motor driven, water import and export, it consists of water level detector, motor, transmission system components and penstocks.After downloading the program to AT89S51, this circuit can realize basic functions of full-automatic washing machine. It seems hard for this control system to compare with perfect ones in the electrical appliance market, but it has certain practicability.Keywords: AT89S51 User parameter input water level detector Control system LED提纲引言 (1)第1章概述 (4)1.1课题开发背景 (4)1.2设计的目的和意义 (4)1.3国内外现状及水平 (5)第2章设计方案 (7)2.1设计任务 (7)2.2洗衣机的设计方案 (7)2.1.1按键 (7)2.1.2洗衣程序 (8)2.1.3 设计总方框图 (8)2.3控制系统的功能 (9)第3章硬件设计 (9)3.1控制系统的电路组成 (9)3.2电源电路 (9)3.3单片机控制电路 (10)3.3.1 AT89S51 单片机主控系统 (10)3.3.2 单片机的复位电路 (13)3.3.3单片机的时钟电路 (14)3.3.4显示电路 (14)3.3.5蜂鸣器报警电路 (16)3.3.6电动机的控制电路 (17)3.3.7 进水、排水电路 (18)第4章软件设计 (19)4.1主程序设计 (19)4.2标准洗衣机程序设计 (20)4.3洗涤程序的设计 (20)4.4漂洗程序的设计 (21)4.5脱水程序的设计 (22)第5章调试 (23)5.1硬件调试 (24)5.2软件调试 (24)总结 (25)致谢 (26)参考文献 (27)附录1:程序 (27)附录2:全自动洗衣机自动控制系统原理图 (37)引言目前中国洗衣机市场正进入更新换代的时期,市场潜力巨大,人们对于洗衣机的要求也是越来越高。

课程设计——洗衣机控制器设计

课程设计——洗衣机控制器设计

洗衣机控制器设计摘要从课程设计要求来看,要求实现电机的正传、反转、暂停,当显示时间前20秒正传、暂停10秒、反转20秒、再暂停10秒,如此一来,周期恰好是60秒,理所当然的分钟计数器、秒计数器是一定要有的。

接下来脉冲是一定要有的,我们可以用555定时器构成的多谐振荡器来产生脉冲。

除了这些,还要求在定时结束后有一个指示灯亮来提示定时时间到,还要求电路有清零和置数的功能,这些用逻辑电平开关即可以实现。

目录第一章设计任务与要求 (4)第二章基本原理 (4)第三章设计方案 (5)第四章单元电路的设计和元件的选择 (7)4.1秒脉冲发生器 (7)4.2分秒计数器 (9)4.3时间译码及控制门 (11)4.4总电路图 (12)第五章仿真结果 (12)5.1秒脉冲发生器 (13)5.2分秒计数器 (13)5.2.1正转............................................................................. 错误!未定义书签。

第六章真结果分析.. (14)第七章体会小结 (14)第八章元器件清单 (15)洗衣机控制器设计第一章设计任务与要求设计一个电子定时器,控制洗衣机按如图1洗涤模式进行工作图1 洗涤模式(1)当定时时间达到终点时,一方面使电机停机,同时发出音响信号(可换成指示灯)提醒用户注意。

(2)用两位数码管显示洗涤的预置时间(以分钟为单位),按倒计时方式对洗涤过程作计时显示,直到时间到而停机。

(3)三只LED灯表示“正转”、“反转”和“暂停”3个状态。

第二章基本原理首先,从秒脉冲出来的信号,经过一个控制电路后进入秒计数器进行秒计数,进行清零,这时用户置入洗涤时间,并按开始按钮,洗衣机开始工作。

当秒计数器变为零的时候,去分钟计数器上面借数;与此同时,从十秒位转化出来的信号进入移位寄存器后,LED灯表示出电机运转状态;当用户设定的洗涤时间结束后,电路报警并清零;同时电机指示灯熄灭。

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

大庆石油学院课程设计课程EDA技术课程设计题目洗衣机控制器设计院系电子科学学院专业班级电子信息工程学生姓名学生学号指导教师2010年3 月8日大庆石油学院课程设计任务书课程EDA技术课程设计题目洗衣机控制器设计专业电子信息工程姓名杜鹏飞学号060901140328主要内容、基本要求、主要参考资料等主要内容:设计一个洗衣机控制器,要求洗衣机有正转、反转、暂停三种状态。

设定洗衣机的工作时间,要洗衣机在工作时间内完成:定时启动→正转20秒→暂停10秒→反转20秒→暂停10秒→定时未到回到“正转20秒→暂停10秒→……”,定时到则停止,同时发出提示音。

基本要求:1、设计一个电子定时器,控制洗衣机作如下运转:定时启动→正转20秒→暂停10秒→反转20秒→暂停10秒→定时未到回到“正转20秒→暂停10秒→……”,定时到则停止;2、若定时到,则停机发出音响信号;3、用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由“开始”信号开始;4、三只LED灯表示“正转”、“反转”、“暂停”三个状态。

主要参考资料:[1] 潘松著.EDA技术实用教程(第二版). 北京:科学出版社,2005.[2] 康华光主编.电子技术基础模拟部分. 北京:高教出版社,2006.[3] 阎石主编.数字电子技术基础. 北京:高教出版社,2003.完成期限2010.3.12指导教师专业负责人2010年3月12 日一、总体设计思想1、基本原理洗衣机控制器的设计主要是定时器的设计。

由一片FPGA 和外围电路构成了电器控制部分。

FPGA 接收键盘的控制命令,控制洗衣机的进水、排水、水位和洗衣机的工作状态、并控制显示工作状态以及设定直流电机速度、正反转控制、制动控制、起停控制和运动状态控制。

对芯片的编程采用模块化的VHDL (硬件描述语言)进行设计,设计分为三层实现,顶层实现整个芯片的功能。

顶层和中间层多数是由VHDL 的元件例化语句实现。

中间层由无刷直流电机控制、运行模式选择、洗涤模式选择、定时器、显示控制、键盘扫描、水位控制以及对直流电机控制板进行速度设定、正反转控制、启停控制等模块组成,它们分别调用底层模块。

2、设计框图定时时间未到二、设计步骤和调试过程1、总体设计电路洗衣机控制器电路主要有五大部分组成,包括:减法计数器、时序控制电路、预置时间和编码电路、数码管显示、译码器组成。

具体电路如下图所示:定时启动正转20s 暂停10s反转20s 暂停10s 定时到停止2、模块设计和相应模块程序⑴数码管显示实现数码管显示Library iee;Use ieee.std_logic_1164.all;Entity encode isPort(Bcd : in std_logic_vector(3 downto o);A,b,c,d,e,f,g: out std_logic);End encode;Architecture rtl of encode isSignal temp:std_logic_vector(6 downto 0);BeginTableBcd => temp;"0000"=> "1111110";"0001"=> "0110000""0010"=> "1101101""0011"=> "1111001""0100"=> "0110011""0101"=> "1011011""0110"=> "1011111""0111"=> "1110000""1000"=> "1111111""1001"=> "1111011"End table;a<=temp(6);b<=temp(5);c<=temp(4);d<=temp(3);e<=temp(2);f<=temp(1) ;g<=temp(0);end rtl⑵时序电路Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned.allEntity shixu isPort(cp,en,rd:in std_logic;Q1,q2:out std_logic);End shixu;Architecture rtl of shixu isBeginProcess(cp)Variable wash_time:integer range 0 to 19;Variable wash_time:integer range 0 to 9;Variable state:std_logic;Variable wash_time:integer :=21;Variable wash_time:integer :=9;BeginIf(en=’0’)wash_time:=’19’;wait_time:=’9’;state:=’0’; End if;if(en=’0’)then wash_time:=21;Q1<=’0’;Q2<=’0’; Else if (cp’event and cp=’1’)Then if (rd=’1’)then if (wash_time>0)Then wash_time:=20;state:=not state;End if; end if; end if;If(wash_time=0)then Q1<=’0’;Q2<=’0’;else if (state=’0’) Then Q1<=’1’;Q2<=’0’; else Q1<=’0’;Q2<=’1’;End if; end if;Else Q1<=’0’;Q2,=’0’;End if;End if;End if;End process;End rtl;⑶预置时间和编码电路Library ieee;Use ieee.std_logic_1164.all;Use ieee.std_logic_unsigned;all;Entity counter isPort(clk,start:in std_logic;k:in STD_LOGIC_VECTOR(7 downto 0);time_remain:BUFFER STD_LOGIC_VECTOR(7 DOWNTO 0);time_is_up:out std_logic);end counter;architecture rtl of counter isbeginprocess(clk)variable time_second:integer:=60;variable time_second:integer:=0;begin if (clk’event and clk=’1’)then if(time_second>0 and start=’1’)then time_second:=time_second-1;else time_second:=59; end if;if(start=’0’)then time_remain<=k;time_second:=60;time_second:=0;elseif(time_second=0)then if(time_remain(3 downto 0)>0)then time_remain(3 downto 0)<=time_remain(3 downto 0)-start;time_remain(3 downto 0)<=time_remain(3 downto 0)-1;time_second:=59; else if (time_remain(7 downto 4) >0)then time_remain(7 downto 4) <=time_remain(7 downto 4)-start;time_remain(7 downto 4)<=time_remain(7 downto 4)-1;time_remain(3 downto 0)<="1001";time_second:=59;end if; end if; else if (time_second=0 and time_second=1)if(time_remain=0)then time_is_up<=’0’;else time_is_up<=’1’;time_second:=time_second-1;end if;end if;end if;end if;end process; end rtl;⑷译码器library ieee;use ieee.std_logic_1164.all;entity decoder isport( Q1,Q2: in std_logic;REV,RUN,PAUSE: out std_logic );end decoder; architecture rtl of decoder issignal choose:std_logic_vector(1 downto 0);beginchoose(1)<=q1;choose(0)<=q2;process(choose)begincase choose iswhen "00"=>REV<='0';RUN<='0';PAUSE<='1';when "10"=>REV<='0';RUN<='1';PAUSE<='0';when "01"=>REV<='1';RUN<='0';PAUSE<='0';when others=>REV<='0';RUN<='0';PAUSE<='0';end case;end process;REV<=Q2;RUN<=Q1;PAUSE<=not(Q1 OR Q2);end rtl;3、仿真及仿真结果分析仿真信号图如下:仿真图洗衣机接通电源,按load设置洗涤时间按start、rd置为高电平洗衣机开始工作,当时钟第一个上升沿到达时run(正转功能)为高电平维持20s以后变为低电平而pause(暂停功能)随着时钟上升沿的到来变为高电平维持10s变为低电平,然后rev(反转功能)开始随着时钟上升沿的到来变为高电平工作维持20s后变为低电平,再停止pause置高,接下来电路一直重复上述工作,知道定时器计数结束。

相关文档
最新文档