数字电路实验 洗衣机程序设计
- 格式:doc
- 大小:511.50 KB
- 文档页数:12
数字电子技术课程设计报告题目:洗衣机定时控制器班级:洗衣机定时控制器一、设计任务及要求:1.设计脉冲信号源(秒脉冲)2.至少能显示 1:00—12:593.具备校时功能4.附加特殊功能设计(报时功能)二、方案设计与论证:所谓数字钟,是指利用电子电路构成的计时器。
相对机械钟而言,数字钟能达到准确计时,并显示小时、分、秒,同时能对该钟进行调整。
在此基础上,还能够实现整点报时的功能。
其中有振荡器,分频器,校时电路,报时电路,计数器,译码器和显示器七部分组成。
振荡器和分频器组成标准秒信号发生器,不同进制的计数器产生计数,译码器和显示器进行显示,通过校时电路实现对时,分的校准方案一:使用 COMS 数字芯片,使用专用时钟芯片,使用十进制计数器,以及使用万用板焊接电路,分模块搭建电路,使用专用电源供电。
优点:计时准确,反应灵敏,思路简单,性能稳定,成功率高,便于调试。
缺点:驱动能力弱,走线复杂,对数电知识的利用并不充分。
方案二:使用 TTL 数字芯片,使用 74LS93 多进制计数器,用 555 定时器自建时钟模块,使用 USB 供电,使用 PCB 制板。
优点:电路驱动能力强,不必考虑输入脚悬空的问题,充分利用了模电、数电的知识,外观漂亮,供电方便。
缺点:整体布局比较麻烦,排查错误比较麻烦,时钟性能一般。
在比较两个方案的优缺点后,选择了第二个方案,进行由上而下层次化的设计,先定义和规定各个模块的结构,再对模块内部进行详细设计。
通过仿真,原理图设计,PCB 制作,分步骤调试,来解决方案二的不足。
使做出来的效果又好,又能充分利用学过的数电知识。
可以体现数电课设的真正内涵。
我们设计的电子钟,严格按照设计要求,具有整点报时,调时,调分等功能;特别是,我们的调时调分开关,都加上了消抖电路,使用了模拟电路消抖,省去了一些数字芯片,这些都是我们组,区别于其他组的地方。
设计原理及框图定时控制器实际上是一个对标准频率进行计数的计数电路,由于计数的起始时间不可能与标准时间(如北京时间)一致,故需要在电路上加一个校时电路,同时标准的 1kHZ 时间信号必须做到准确稳定。
数字电路和逻辑设计综合实验实验报告实验名称:洗衣机控制器班级:班内序号:姓名:学号:数电设计综合实验—洗衣机控制器一.设计课题的任务要求设计制作一个全自动洗衣机的控制器:●洗衣机的工作步骤为洗衣、漂洗和脱水三个过程,工作时间分别为:洗衣20秒,漂洗30 秒,脱水15 秒;●用一个按键实现洗衣程序的手动选择:A、单洗涤;B、单漂洗;C、单脱水;D、漂洗和脱水;E、洗涤、漂洗和脱水全过程;●用显示器件显示洗衣机的工作状态(洗衣、漂洗和脱水),并倒计时显示每个状态的工作时间,全部过程结束后,应提示使用者;●用一个按键实现暂停洗衣和继续洗衣的控制,暂停后继续洗衣应回到暂停之前保留的状态;●选做:三个过程的时间有多个选项供使用者选择。
●选做:可以预约洗衣时间。
●选做:自拟其它功能。
二.系统设计(包括设计思路、总体框图、分块设计)◆设计思路首先从题目进行分析,采用VHDL模块化的设计方法来进行洗衣机控制器的设计,即自顶向下,从系统总体要求出发,自上至下地将设计任务分解为不同的功能模块.最后将各功能模块连接形成顶层模块,完成系统硬件的整体设计。
本控制器基本功能描述洗衣机控制器可工作于五种模式下:单洗涤、单漂洗、单脱水、漂洗十脱水、洗涤十漂洗+脱水,可以使洗衣机控制器工作在任意一种模式,并显示出洗衣机的工作状态和剩余工作时间,在剩余时间结束后有报警声提示使用者,并且可实现暂停洗衣和继续的功能,此外,加入附加功能,可自选三个过程是使用时间并且可预约洗衣时间。
由此分析可将洗衣机控制器分为控制模块、倒计时模块,初始模式选择模块,报警模块,洗衣时间选择模块,选通译码模块和分频器模块。
【设计过程】:1)审题,初步确定思路。
2)用VHDL语言进行编程。
3)适时对程序进行修改。
4)编译成功后,进行仿真,观察波形图。
5)将程序下载到实验板上,调试各功能。
6)通过计算机仿真和下载调试,发现问题,返回原程序进行修改。
7)进行总体的调试。
全自动洗衣机程序设计第一部分总体思路全自动洗衣机的工作原理:开始-进水-洗衣-排水-脱水-结束第二部分电气设计部分如下图为全自动洗衣机的PLC控制系统电路图。
通过PLC来实现电动机的正反转,并且实现洗衣机按预先设置的程序自动执行,完成洗衣。
当需要手动排水与脱水时,可强制止自动程序的运行,跳出自动切换到手动操作。
为防止全自动洗衣机在工作过程中,电路发生短路,损坏电动机和电路中的各种电气设备,因此在主电路中安装了熔断器,当电路出现短路故障时,能迅速、可靠的断开电源。
全自动洗衣机在无人问津的情况下可能长时间运行,为防止电机绕组的温升超过额定值而损坏,采用热继电器作为保护元件,与熔断器搭配使用,可靠地保护电动机。
人机接口部分的按钮等都选择低压电器元件,保护操作者的安全。
第三部分PLC设计部分3.1正常运行流程图如下图所示。
3 2强制运行流程图如下1)程序的构成这个程序有自动方式和手动方式两种。
在自动方式下,PLC将运行已经设置好的程序和参数(适用于机械一切都正常工作的情况下)。
在手动方式下是在紧急停止情况下,可以手动排水和脱水。
2)程序的下载、安装和调试将各个输入输出端子和实际控制系统中的按钮。
所需控制设备正确连接,完成硬件的安装。
全自动洗衣机程序是由GX Developer软件的指令完成,正常工作是程序存放在存储卡中,若要修改程序,先将PLC设定在STOP状态下,运行GX Developer编程软件,打开全自动洗衣机程序,即可在线调试,也可用编程器进行调试。
第四部分全自动洗衣机控制系统PLC程序4.2.1系统资源分配1.数字量输入部分这个控制系统的输入有启动按钮、停止按钮、水位选择开关(高水位、中水位、低水位)、手动排水、自动排水开关、高水位浮球开关、中水位浮球开关,低水位浮球开关、水排空浮球开关、压力开关共12个。
具体的输入地址分配如表4.1所示。
表4.1 输入地址分配输入地址对应的元器件对应的外部设备X001 SB1 启动按钮X002 SB2 停止按钮X003 SB3 高水位选择开关X004 SB4 中水位选择开关X005 SB5 低水位选择开关X006 SQ1 水排空检测开关X007 SQ2 高水位检测开关X010 SQ3 中水位检测开关X011 SQ4 低水位检测开关X012 SB6 手动排水X013 SB7 手动脱水X014 SP1 压力开关2.数字量输出部分这个控制系统需要控制的外部设备有进水电磁阀、排水电磁阀、洗涤电动机、脱水桶、报警器共五个设备。
电子科技大学
数字电路
课程设计报告
姓名:张华博
学号:2011091010004
选课号:132
指导老师:张刚
时序逻辑电路课程设计
——————自动洗衣机控制器
设计要求:假设自动洗衣机的定时操作顺序是,洗衣10min,排水2min,脱水3min,然后停止。
分析:自动洗衣机开机后,系统开始运行,首先进入初始状态,当系统收到有效指令信号后开始自动循环,进入洗衣状态,10分钟之后,进入排水状态,经2分钟,进入脱水状态3分钟,再次进入初始状态;期间任何时刻输入有效复位信号,系统将重新开始自动循环状态;系统处于每一个工作状态时,均有一个LED 灯管与其对应,处于发光状态。
由上分析知:该系统的主体应为10分、2分、3分计时器,当一个计时器计时结束后,输出一个使能信号作用于下一个计时器,激发其开始计时。
开始的指令信号作用于第一个计时器的一个使能端,以激发整个循环系统开始工作;当输入有效复位信号时,计时器全部清空置零,并重新开始循环。
逻辑电路图如下:
十分钟计时器逻辑电路
两分钟计时器逻辑电路
三分钟计时器逻辑电路
自动洗衣机系统逻辑电路
逻辑电路仿真:
输入2Hz的时钟信号CLK,ENT为指令信号,CLRN为复位信号,Z1、Z2、Z3、Z4分别对应于洗衣状态、排水状态、脱水状态、初始状态。
波形仿真效果
仿真结果显示该电路设计正确,该系统基本可实现预期的操作功能。
总结感想无需赘言,见组合逻辑课程设计报告……。
要实现数电模拟洗衣机控制,包括正转、反转和停机功能,并且添加计秒和计分功能,可以考虑使用数字逻辑电路和计时器集成电路来完成。
控制设计步骤:1. 逻辑控制电路设计:使用数字逻辑电路设计控制正转、反转和停机的逻辑控制功能。
这可以通过使用触发器、逻辑门等元件组合设计而成。
2. 计时器集成电路应用:使用集成的计时器电路,比如555定时器、计数器等,来实现计秒和计分功能。
这些电路可以用于测量时间并触发相应的控制信号。
3. 状态机设计:设计一个状态机来管理洗衣机的工作状态,根据当前状态和传感器输入确定下一个状态,并触发相应的控制信号。
4. 显示和输出控制:使用数码显示器或LED灯来显示剩余时间(秒和分),以及洗衣机当前的工作状态。
5. 传感器输入:添加传感器来检测洗衣机的转动状态、水位和其他参数,并将这些输入信息送入控制系统中。
6. 安全保护功能:考虑添加安全保护功能,如过载保护、温度监控等,确保洗衣机的安全运行。
需要的器件和模块:-触发器、逻辑门芯片:用于控制正转、反转和停机功能的逻辑控制。
- 555定时器、计数器芯片:用于实现计时功能。
-数码显示器或LED灯:显示剩余时间和工作状态。
-传感器**:用于检测洗衣机的实时状态。
总体设计流程:1. 根据洗衣机的功能需求,设计逻辑控制电路,实现正转、反转和停机功能。
2. 使用计时器电路,设计计时和计分功能。
3. 结合逻辑控制和计时功能,设计状态机和控制逻辑,实现洗衣机的自动控制。
4. 添加显示和输出模块,显示剩余时间和工作状态。
5. 考虑安全保护和故障检测功能,确保洗衣机的稳定运行。
以上是基于数字逻辑电路和计时器集成电路的洗衣机控制设计方案,具体的实施需要根据实际需求和具体的电路设计进行调整和优化。
实验10-1 综合实验之一洗衣机的程序控制预习报告一,实验目的:掌握可编程并行接口电路用于一种具体控制过程的方法二,实验内容:设计一种自动洗衣机的程序控制器,在启动后先进水,等到达高水位后,启动洗衣马达转动4min,如在洗衣过程中发现水位低于高水位,则停止洗衣马达转动并报警,并在水位到达高水位后再次启动马达。
洗衣结束后则启动排水开关,待水位到达低水位后,则启动脱水马达,转动2min。
如此重复三次,要求在每一动作之间有2s的间隔。
高水位,低水位为水位传感器,用两个开关模拟,当水位高于高水位或低于低水位时,两个开关的状态分别为0 。
启动开关用一个开关表示。
进水、排水、洗衣马达、脱水马达及报警分别用一个发光二极管表示。
本实验只需用可编程并行接口电路的A口。
其硬件接口如下图所示。
也可采用可编程逻辑器件进行设计。
三,硬件电原理图(PROTEL格式)见附页。
实验硬件接口定义如下:四,代码清单及流程图STACK SEGMENT PARA STACK ' STACK'DB 256 DUP(0)STACK ENDSDATA SEGMENT PARA PUBLIC 'DATA'DATA ENDSCODE SEGMENT PARA PUBLIC 'CODE'ASSUME CS:CODESTART: MOV AX,DATAMOV DS,AXMOV DX,2C3HMOV AL,82H ;A口输出,B口输入OUT DX,AL ;写8255方式字CALL DELAYRES: MOV DX,2C0HMOV AL,00H ;设置LED灯全亮OUT DX,ALCALL DELAYMOV AL,0FFH ;设置LED灯全灭OUT DX,ALCALL DELAYL0: MOV DX,2C1HIN AL,DXTEST AL,01H ;检测是否启动JZ L0 ;为0则继续查询CALL DELAYMOV DX,2C0HMOV AL,11110111B ;进水灯OUT DX,ALL1: MOV DX,2C1HIN AL,DXTEST AL,01H ;检测是否重启JZ RESTEST AL,04H ;高水位?JZ L1 ;若0则继续查询MOV DX,2C0HMOV AL,10111111B ;洗衣灯OUT DX,ALL2: CALL DELAYDEC CXJZ FULLCALL DISPLAYMOV DX,2C1HIN AL,DXTEST AL,01H ;重启?JZ RESTEST AL,08HJNZ FULLTEST AL,02H ;低水位JZ L2 ;为0则继续查询MOV DX,2C0HMOV AL,01111111B ;报警灯OUT DX,ALL3: MOV DX,2C1HIN AL,DXTEST AL,01H ;重启?JZ RESTEST AL,02H ;低水位结束?JNZ L3 ;为1则继续查询JMP L2FULL: MOV DX,2C0HMOV AL,11101111B ;排水灯OUT DX,ALCALL DELAYL4: MOV DX,2C1HIN AL,DXTEST AL,01H ;重启?JZ RESTEST AL,02H ;低水位?JZ L4 ;为0则继续查询MOV DX,2C0HMOV AL,11011111B ;脱水灯OUT DX,ALCALL DELAYL5: CALL DELAYDEC CXJZ L0CALL DISPLAYMOV DX,2C1HIN AL,DXTEST AL,01H ;重启?JZ RESTEST AL,08HJNZ L0JMP L5STOP: MOV AH,4CHINT 21HDELAY PROC NEAR ;延时子程序PUSH BXPUSH CXMOV BX,0200HD2: MOV CX,0FFFHD1: MOV AH,01H ;检测键盘输入INT 16HJNZ STOP ;任意键退出,否则循环DEC CXJNZ D1DEC BXJNZ D2POP CXPOP BXRETDELAY ENDPDISPLAY PROC NEAR ;显示CX为入口PUSH DXPUSH CXPUSH AXMOV DL,0HC3: CMP CX,03E8H ;千位JNAE C4INC DLSUB CX,03E8HJMP C3C4: OR DL,30H ;ASCII转换MOV AH,02H ;显示INT 21HMOV DL,0HC5: CMP CX,64H ;百位JNAE C6INC DLSUB CX,64HJMP C5C6: OR DL,30HMOV AH,02HINT 21HMOV DL,0HC7: CMP CX,0AH ;十位JNAE C8INC DLSUB CX,0AHJMP C7C8: OR DL,30HMOV AH,02HINT 21HMOV DL,CLOR DL,30HMOV AH,02H ;个位INT 21HMOV DL,20HINT 21HPOP AXPOP CXPOP DXRETDISPLAY ENDPCODE ENDSEND START程序流程图:五,程序运行说明本程序系自主设计流程图,自主研发程序,对题目要求稍加改动,改动及添加如下:1,为记忆方便,将所有开关定义为‘1’有效,‘0’无效,方便实验时的操作2,实验中的4min和2min在验收时等待太久,故添加了一个加速按键,跳过剩余时间,对实验的实际效果没有影响3,在洗衣4min和脱水2min的过程中,由于时间较长,如果没有任何标记无法判断程序是否正常进行,故在上述过程中添加倒计时,程序运行时在屏幕上显示,这样便可指示程序此时的准确状态4,如果程序运行顺利,拟用步进电机模拟洗衣电机和脱水电机,虽然没有太大的实际意义,权当了解步进电机的工作方式,增加自己的实验器材熟悉程度了程序操作说明:1,上机检测LED点亮条件,程序设计为0点亮,检查硬件,如有错误则更改程序。
课程设计任务书题目: 简易洗衣机控制器设计初始条件:利用定时器、数码管、LED等数字电路器件设计实现简易洗衣机功能。
(也可以使用单片机系统设计)要求完成的主要任务:(包括课程设计工作量及技术要求,以及说明书撰写等具体要求)1 课程设计工作量:1周内完成对简易洗衣机控制电路的设计、仿真与调试。
2技术要求:洗衣机电机的工作顺序:启动——>正转20s——>暂停10s——>反转20s——>暂停10s——>停止①设计一个定时器控制洗衣机电机的运转,②三只LED灯表示“正转”、“反转”和“暂停”3个状态。
③用数码管显示洗涤时间,按倒计时方式对洗涤过程作计时显示,直到时间到停机,并发出音响信号报警。
④设置停止键,在洗涤过程中随时按该键可终止动作,并使显示器清0。
3 查阅至少5篇参考文献。
按《武汉理工大学课程设计工作规范》要求撰写设计报告书。
全文用A4纸打印,图纸应符合绘图规范。
时间安排:第17周(7、8节):理论讲解第18周:理论设计及实验室安装调试;地点:鉴主15通信工程实验室(1),鉴主13通信工程专业实验室;第19周:撰写设计报告及答辩;地点:鉴主17楼研究室。
指导教师签名:年月日系主任(或责任教师)签名:年月日目录1 绪论 (3)2设计任务要求及总体思路 (3)3设计基本原理 (4)4设计方案 (4)5单元电路的设计和元件的选择 (6)5.1秒脉冲发生器 (6)5.2分秒计数器 (8)5.3时间译码及控制门 (11)5.4总电路图 (12)6仿真结果 (13)6.1秒脉冲发生器 (13)6.2分秒计数器 (13)6.2.1正转 (14)6.2.2暂停 (15)6.2.3反转 (16)6.2.4定时时间到 (17)7仿真结果分析 (18)8体会 (18)9元器件清单 (19)10 参考文献 (20)摘要现代生活人民生活水平越来越高,家家户户几乎都有一台洗衣机。
洗衣机由于洗涤方便受到广大用户的喜爱。
数字逻辑电路课程设计设计题目全自动洗衣机控制器的设计姓名学号专业班级完成日期目录一、实验目的 (3)二、设计题目与思路 (3)三、总体方案的设计与选择 (4)四、使用元件 (5)五、分析与心得 (5)六、附件一:实验代码 (5)一、实验目的1.进一步掌握数字电路课程所学的理论知识。
2.了解数字电路设计的基本思想和方法,学会科学分析和解决问题。
3.熟悉几种常用集成数字芯片,并掌握其工作原理,进一步学会使用其进行电路设计。
4. 培养认真严谨的工作作风和实事求是的工作态度。
二、设计题目与思路本次数字电路课程设计我选择的题目是“全自动洗衣机控制器”。
这个系统的主要功能是:1.设计一个全自动洗衣机控制器电路,实现对洗衣机的全自动控制。
根据全自动洗衣机的控制原理设计一个控制电路,使之能够控制全自动洗衣机完成整个工作过程。
洗衣机工作过程如下:当按下复位按钮时,洗衣机上电,控制电路复位到初始状态(默认水位为“中”);使用者可根据衣服的多少,按下水位控制按钮,改变水位设置,以控制上水时加水的多少;当按下启动/暂停按钮时,洗衣机开始洗衣的第一个操作:进水阀门打开,开始上水,并根据水位设置(高、中、低、少)历时不同的时间timeadd(8s、7s、6s、5s);然后进水阀门关闭,电机开始运转,开始洗衣过程,并历时9s;然后电机停止运转,排水阀门打开,开始排水,并根据水位设置(高、中、低、少)历时不同的时间timedrain(7s、6s、5s、4s);然后排水阀门关闭,进水阀门打开,开始第二次上水,并历时timeadd……当甩干结束后,整个洗衣过程完成,扬声器发出持续15秒的急促的“嘀嘀”音,提示用户洗衣结束。
洗衣机工作过程简记如下:空闲(idle)→第一次加水(water1)7s→洗衣(wash)9s→第一次排水(drain1)6s→第二次加水(water2)7s→漂洗(rinse)9s→第二次排水(drain2)6s→甩干(dry)5s→蜂鸣15s2、控制器只要送出对应的控制信号就可以了。
洗衣机自动控制电路一、设计要求1.洗衣时间设定范围:1—99分钟(预设为30min)2.显示漂洗时间(显示分钟就好),时间到后会自动报警3.漂洗时(用发光二极管代替电动机)显示正转、反转、暂停4.定时时间内电机工作要求如下:启动正转20s 暂行10s 反转20s 暂行停止定时未到二、设计方案由于受现有知识的限制,我们不能使用单片机以及编写程序的方法来实现。
只能采用CMOS和TTL集成器件等中小型集成块,如计数器,锁存器,与非门,555定时器等构成洗衣机控制电路。
洗衣机的洗衣流程如框图:三、具体电路设计及工作原理说明1、多谐振荡器多谐振荡器是一种自激振荡器,产生振荡信号,用于计时。
在许多场合对多谐振荡器的频率稳定性要求严格,一般采用石英晶体振荡器。
但是由于洗衣机对时间的精确度要求不是很高,所以我们采用555定时器接成的500HZ多谐振荡器。
电路如图:图中是把555定时器接成施密特触发器,在用施密特触发器接成多谐振荡器的方法接成。
其中R7=100Ω,R8=200Ω,C3=5.77μF ,C4=1μF(滤波电容)把数据带入T=(R1+2R2)C2ln2 ,得T约为0.002s。
即周期为0.002秒,输出500HZ 的信号。
4号管脚即为脉冲信号输出管脚。
2、时钟电路及74LS192D功能表时钟电路采用计数器对输入的500HZ振荡信号进行计数,从而实现计时。
用十进制计数器接成两个60进制计数器,分别用于计秒和计分。
分和秒的计数图如下:加减计数器74LS192D(四个)、数码显示管等74LS192的功能表3、电机正转、反转、暂停的表示把秒十位上的数作为正反转控制系统的输入信号,把秒十位上输出的二进制数经74LS138 译码器译码成8个输出,然后再各取两位输出经由译码器、与非门、取反器作用到相应的3个指示灯(U15号灯亮表示正转,U13号亮表示反转,U14灯亮表示停止)。
4、分显示电路原理两个代表分的个位和十位的192的输出端接到74LS138D(3-8译码器)的对应输入端,然后经过74LS04D和74LS00D的处理,LED灯从左到右依次为正传、暂停、翻转。
目录1、设计任务与要求12、基本原理13、设计方案24、单元电路的设计和元件的选择34.1秒脉冲发生器34.260秒计数器和分钟定时计数器联合电路.5 4.3输出信号控制器74.4总电路图.85仿真结果.95.1秒脉冲发生器95.2分秒计数器95.2.1正转105.2.2暂停.115.2.3反转125.2.4定时时间到.136仿真结果分析147体会158元器件清单.169参考文献161、设计任务与要求设计一个电子定时器,控制洗衣机按如图1洗涤模式进行工作启动—>正转20s —> 暂行10s—> 反转20s— >暂行10 s—>停止并报警^ ^| ________________________________ | 定时到定时未到图1 洗涤模式(1)当按下启动,洗衣机开始转动,同时对分钟进行置数,并进行正转、暂停、反转。
(2)用两位数码管显示洗涤的预置时间(以分钟为单位),按倒计时方式对洗涤过程作计时显示,直到时间变为00,洗衣机停止转动。
(3)两只LED灯表示“正转”、“反转”和“暂停”,L1L2=11为正转,01为暂行,10为反转,00为停止。
2、基本原理经过任务书要求我们可以分析出,首先秒脉冲是必需的,然后要实现60秒钟的循环,和分钟计数,那么可以选用192这一十进制加/减计数器,要实现LED等显示状态的变化,我们可以选用151数据选择器来实现LED灯在特定时间显示不同的高低电平,而且要停止并报警,这需要设计一个报警器控制电路电路。
机器启动后利用秒脉冲发生器发出秒脉冲,利用两片192实现60秒钟的倒数循环,再利用秒钟的两个192,带动另外两片192进行倒计数,来实现预置分钟数的递减。
与此同时60秒计时器十位数字大小通过一片151进行数据选择输出,控制洗衣机电机灯的亮灭,使得洗衣机两个LED灯在一个60秒循环中前20秒亮11,再亮01秒10,再亮20秒10,再回到01。
1数字电路与逻辑设计实验报告题目: 洗衣机控制器设计2一、洗衣机控制器要求设计制作一个全自动洗衣机的控制器:_ 洗衣机的工作步骤为洗衣、漂洗和脱水三个过程,工作时间分别为:洗衣20 秒,漂洗30 秒,脱水15 秒;_ 用一个按键实现洗衣程序的手动选择:A 、单洗涤;B 、单漂洗;C 、单脱水; D 、漂洗和脱水;E 、洗涤、漂洗和脱水全过程;_ 用显示器件显示洗衣机的工作状态(洗衣、漂洗和脱水),并倒计时显示每个 状态的工作时间,全部过程结束后,应提示使用者;_ 用一个按键实现暂停洗衣和继续洗衣的控制,暂停后继续洗衣应回到暂停之前 保留的状态;_ 选做:三个过程的时间有多个选项供使用者选择。
_ 选做:可以预约洗衣时间。
_ 选做:自拟其它功能。
二、系统设计基本思想电路由模式选择、计数器、报警模块以及译码驱动电路和数字显示电路等模块组成。
1、模式选择模块五种洗衣模式可供用户选择,模式选择模块将用户的选择信息传递到控制模块。
2、减计数计数器模块计数器洗衣以倒计时模块的方式提示用户当前剩余的洗衣时间,该计数器能读取不同的模值进行计数。
计时单位为一秒钟。
3、译码和数码显示电路译码和数码显示电路是将计时状态直观清晰地反映出来,被人们的视觉器官所接受。
显示器件选用LED 七段数码管。
在译码显示电路输出的驱动下,显示出清晰、直观的数字符号。
4、报警模块当系统运行到“报警”状态时,蜂鸣器将会报警,时间为5 秒。
4、分频器模块设计一个大小合适的分频器使得系统能够正确的实现一秒的计时。
三、总体设计图以及转移图流程图示:3状态选择开始信号输入变量A 为1YESNO进行洗涤变量B 为1YESNO进行漂洗变量C 为1YES进行脱水NO完成洗衣后报警提示完成4总体逻辑设计图:状态转移图示:控制器分频器OSC时间计数器洗涤漂洗脱水译码时间显示ClkClk1Clk2T15 T20 T2Cnt clr 报警Pause状态选择 译码5管脚设计图:WAITA =’1’进行洗涤进行漂洗A =’0’ B=‘1’B =’0’B =’1’进行脱水A =’0’ B=‘0’C =’1’C =’0’完成洗衣报警提示仿真情况:6简要说明:本次仿真执行的是第五个状态即洗涤、漂洗和脱水全过程。
通过此仿真可以7发现当输出选择模式信号change 时,洗衣机模式开始发生变化。
输入第一个change 信号的时候进入单洗涤状态,输入第二个change 信号进入单漂洗状态,输入第三个change 信号进入了单脱水的状态,输入第四个change 信号进入了脱水和漂洗的状态,当输入最后一个change 信号的时候进入洗涤、漂洗和脱水的全状态。
而在选择每个状态的同时时间信号(q[0]、q[1]、q[2]、q[3]、q[4]、q[5]、q[6])也发生变化,显示出每个状态时的时间。
而设定的led 灯(cat0、cat1)则依次闪亮。
当start 开始后change 信号不再起作用,而系统进入了运行状态,时间开始逐秒变化。
当程序最终运行结束后,进入报警状态,sound 开始显示为高电平,而时间均为0。
(特别说明:由于本实验分2次去做,管脚设定的时候进行了新建工程,代码粘贴过去的,实体名字取得和第二周验收时候不一致,不是其他原因。
)四、代码示例LIBRARY ieee;USE ieee.std_logic_1164.ALL; ENTITY xiyiji IS PORT ( START: IN STD_LOGIC;PAUSE: IN STD_LOGIC; --------暂停信号 CLOCK: IN STD_LOGIC;Q: OUT STD_LOGIC_VECTOR(6 DOWNTO 0); ----数码管显示信号CAT : OUTSTD_LOGIC_VECTOR(5 DOWNTO 0) ----数码管选通信号);END xiyiji;ARCHITECTURE washer OF xiyiji IS SIGNAL STATE: STD_LOGIC_VECTOR(2 DOWNTO 0); SIGNAL MODE: STD_LOGIC_VECTOR(2 DOWNTO 0);SIGNAL TEMP: INTEGER RANGE 45 DOWNTO 0; -------时间中间变量 SIGNAL TIME: INTEGER RANGE 60 DOWNTO 0; -------倒计时时间 SIGNAL TMP: INTEGER RANGE 999 DOWNTO 0; -------分频变量 SIGNAL MA: INTEGER RANGE 9 DOWNTO 0; -------数码管译码变量SIGNAL CLK: STD_LOGIC; ------分频时钟输出BEGIN PROCESS(CLOCK)BEGIN IF (CLOCK'EVENT AND CLOCK='1') THEN ----分频模块 TMP<=TMP + 1; IF (TMP=999) THEN TMP<=0;CLK<= NOT CLK;END IF;END IF;8END PROCESS;PROCESS (START,CLK,PAUSE,CHANGE)----洗衣控制进程BEGIN IF ( START = '0' ) THEN --------开始前模式选择模块 IF(CHANGE'EVENT AND CHANGE='1') THEN CASE MODE ISWHEN "000"=>MODE<="001"; WHEN "001"=>MODE<="010"; WHEN "010"=>MODE<="100"; WHEN "100"=>MODE<="110"; WHEN "110"=>MODE<="111"; WHEN OTHERS=>MODE<="000"; END CASE; END IF; STATE <= MODE;------------选择洗衣模式BUZZER <= '0'; CASE STATE IS ------设置模式时间以及中间变量的值 WHEN "001" =>TEMP <= 0 ;TIME <= 20;WHEN "010" =>TEMP <= 0 ;TIME <= 25;WHEN "100" =>TEMP <= 0 ;TIME <= 15;WHEN "110" =>TEMP <= 25 ;TIME <= 40;WHEN "111" =>TEMP <= 40 ;TIME <= 60;WHEN "000" =>TEMP <= 0 ;TIME <= 0;WHEN OTHERS =>TEMP<= 0 ;TIME<= 0;END CASE ;ELSE IF ( PAUSE = '0') THEN ----设置暂停信号IF ( CLK'EVENT AND CLK = '1' AND TIME/=0) THEN TIME <= TIME - 1 ; ------时间自减 IF ( TIME=1 ) THENSTATE <="000";BUZZER<= '1';------蜂鸣信号启动ELSIF ( TIME = TEMP ) THEN ----洗衣中模式的切换 CASE STATE IS WHEN "111" =>STATE <= "110";TEMP <= 20;WHEN "110" =>STATE <= "100";9TEMP <= 0;WHEN OTHERS =>TEMP <= 0 ;STATE <= "000";END CASE;END IF;END IF;END IF;END IF;MODEEND <= STATE; ------中间变量赋值给结果变量END PROCESS;PROCESS (CLOCK,TIME)BEGIN IF (CLOCK='1') THEN ------提取十位数CAT<="111110"; ------数码管选通END IF;END PROCESS;process (MA) ---------将数字译码为七段共阴数码管码 begin case MA is when 1 => q <= "0110000" ; when 2 => q <= "1101101" ; when 3 => q <= "1111001" ; when 4 => q <= "0110011" ; when 5 => q <= "1011011" ; when 6 => q <= "1011111" ; when 7 => q <= "1110000" ; when 8 => q <= "1111111" ; when 9 => q <= "1111011" ;when others => q <= "1111110";end case;end process;end washer; ----------洗衣机控制器结束首先根据实验题目的要求可以将洗衣机控制器分解成为如下的几个模块:洗衣机模式选择、计数器、报警模块以及译码驱动电路和数字显示电路。
1、模式选择模块:总共五种洗衣模式可供用户选择,模式选择模块将用户的选择信息传递到控制模块,这个模式选择模块将在洗衣机的开始按键start 按下前进行模式选择。