VHDL洗衣机设计

上传人:s9****2 文档编号:506463819 上传时间:2023-10-21 格式:DOC 页数:14 大小:59KB
返回 下载 相关 举报
VHDL洗衣机设计_第1页
第1页 / 共14页
VHDL洗衣机设计_第2页
第2页 / 共14页
VHDL洗衣机设计_第3页
第3页 / 共14页
VHDL洗衣机设计_第4页
第4页 / 共14页
VHDL洗衣机设计_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《VHDL洗衣机设计》由会员分享,可在线阅读,更多相关《VHDL洗衣机设计(14页珍藏版)》请在金锄头文库上搜索。

1、.EDA课程实训报告一、实训课题:洗衣机控制器的设计二、设计的容及要求:1设计一个洗衣机控制器,要求为:1) 洗衣机控制器可以驱动洗衣机进展洗涤、漂洗或烘干;2) 洗衣机控制器可以设置洗衣机的工作时间,工作时间最短1分钟,最长30分钟,在工作过程中,工作时间以倒计时显示,假设时间为0洗衣机停顿工作;3) 洗衣机在待机状态时,洗衣机控制器可以设置洗衣机的工作方式和工作时间;4) 可以暂停或停顿洗衣机工作;5) 利用四个数码管显示洗衣机待机时的设置时间和工作时的运行时间,利用一位数码管显示洗衣机待机时所设置的工作方式运行时的工作方式;6利用三个LED分别表示驱动洗衣机进展洗涤、漂洗或烘干。2洗衣机

2、控制器可以划分为状态机模块、计时器模块、设置模块和显示选择模块。在QuartusII中输入各个模块的代码,编译综合,仿真,完成各个模块的软件设计;4把各个模块组合起来,综合编译,仿真,完成整个交通灯控制器系统的软件设计;5. 选择电路方案锁定管脚,把程序下载到实验箱中,利用实验箱进展硬件实现;6. 完成实训报告。实训报告包括:1) 设计的任务和要求;2) 模块的划分和系统总框图;3) 各个模块的实现,包括模块的作用,模块的输入与输出情况,模块状态图,模块的代码以及注释,模块的波形图;4) 系统的实现,包括系统总原理图,系统的波形图;5) 管脚的锁定关系;三设计思路:u 状态切换有限状态机u 按

3、定时时间及时定时计数器u 显示时间数码管译码驱动器u 接收设置时间时间设置键盘扫描器u 接收设置模式模式设置键盘扫描器u 切换显示运行时间和设置时间二路选择器u 切换显示运行模式和设置模式二路选择器整体设计示意图:四系统组成以及系统各局部的设计: 1.状态机的设计:状态机要完成的功能:l 能设置工作模式;l 控制洗涤、漂洗、干衣的驱动输出;l 能启动、暂停、停顿洗衣机控制器;l 能重启、暂停和停顿定时器;l 能接收定时器的到时标志;l 能使能键盘扫描计数器;l 能控制二路选择器。状态图分析设计如下:模块设计图如下:状态机仿真图如下:2.定时器设计:定时器的功能:l 能通过使能端暂停和允许定时器

4、工作;l 能停顿并复位定时器;l 能进展定时;l 能输出定时标志模块设计图如下:定时器波形图如下:3.时间设置: 时间设置键盘扫描器的功能:l 能响应按键;l 能在使能端的控制下工作 模式设计图如下:波形图如下:4.模式设置: 模式设置键盘扫描器的功能:预设工作模式,000为待机,001为洗涤,010为漂洗,022为干衣,100为暂停模式设计图如下:波形图如下: 5.二路选择器 二路选择器的功能:设置显示运行时间还是设置时间,显示运行模式还是设置模式。模式设计图如下:整体构造图:整体波形图:五下载时选择的开发系统模式以及管脚1.管教配置:2. 实验电路构造图:附录代码:1.状态机LIBRARY

5、 ieee;USE ieee.std_logic_1164.all;ENTITY SHELL_WASHMACHINE ISPORT (CLK,modein0,modein1,modein2,pause,start,stop,tcin: IN std_logic;ken,modeout0,modeout1,modeout2,sel,ten,tstop,wout0,wout1,wout2 : OUT std_logic);END;ARCHITECTURE BEHAVIOR OF SHELL_WASHMACHINE ISTYPE type_sreg IS (dry,ready,rinse,waitu

6、p,wash);SIGNAL sreg, ne*t_sreg : type_sreg;SIGNAL ne*t_ken,ne*t_modeout0,ne*t_modeout1,ne*t_modeout2,ne*t_sel,ne*t_ten,ne*t_tstop,ne*t_wout0,ne*t_wout1,ne*t_wout2 : std_logic;SIGNAL modeout : std_logic_vector (2 DOWNTO 0);SIGNAL wout : std_logic_vector (2 DOWNTO 0);BEGINPROCESS (CLK, stop, ne*t_sreg

7、, ne*t_ken, ne*t_sel, ne*t_ten, ne*t_tstop, ne*t_modeout2, ne*t_modeout1, ne*t_modeout0, ne*t_wout2, ne*t_wout1, ne*t_wout0)BEGINIF ( stop=1 ) THENsreg = ready;sel = 0;ken = 1;ten = 1;tstop = 1;modeout2 = 0;modeout1 = 0;modeout0 = 0;wout2 = 0;wout1 = 0;wout0 = 0;ELSIF CLK=1 AND CLKevent THENsreg = n

8、e*t_sreg;ken = ne*t_ken;sel = ne*t_sel;ten = ne*t_ten;tstop = ne*t_tstop;modeout2 = ne*t_modeout2;modeout1 = ne*t_modeout1;modeout0 = ne*t_modeout0;wout2 = ne*t_wout2;wout1 = ne*t_wout1;wout0 = ne*t_wout0;END IF;END PROCESS;PROCESS (sreg,modein0,modein1,modein2,pause,start,tcin,modeout,wout)BEGINne*

9、t_ken = 0; ne*t_modeout0 = 0; ne*t_modeout1 = 0; ne*t_modeout2 = 0; ne*t_sel = 0; ne*t_ten = 0; ne*t_tstop = 0; ne*t_wout0 = 0; ne*t_wout1 = 0; ne*t_wout2 = 0; modeout=std_logic_vector(000); wout=std_logic_vector(000); ne*t_sregIF ( pause=0 AND tcin=0 ) THENne*t_sreg=dry;ne*t_ten=1;ne*t_tstop=0;ne*t

10、_ken=0;ne*t_sel=1;modeout = (std_logic_vector(011);wout = (std_logic_vector(100);END IF;IF ( tcin=0 AND pause=1 ) THENne*t_sreg=waitup;ne*t_ten=0;ne*t_tstop=0;ne*t_ken=0;ne*t_sel=1;modeout = (std_logic_vector(100);wout = (std_logic_vector(000);END IF;IF ( tcin=1 ) THENne*t_sreg=ready;ne*t_ten=1;ne*t

11、_tstop=1;ne*t_ken=1;ne*t_sel=0;modeout = (std_logic_vector(000);wout IF ( modein1=0 AND modein0=0 ) OR ( modein2=1 ) OR ( start=0 ) THENne*t_sreg=ready;ne*t_ten=1;ne*t_tstop=1;ne*t_ken=1;ne*t_sel=0;modeout = (std_logic_vector(000);wout = (std_logic_vector(000);END IF;IF ( modein0=1 AND modein1=1 AND

12、 modein2=0 AND start=1 ) THENne*t_sreg=dry;ne*t_ten=1;ne*t_tstop=0;ne*t_ken=0;ne*t_sel=1;modeout = (std_logic_vector(011);wout = (std_logic_vector(100);END IF;IF ( modein0=0 AND modein1=1 AND modein2=0 AND start=1 ) THENne*t_sreg=rinse;ne*t_ten=1;ne*t_tstop=0;ne*t_ken=0;ne*t_sel=1;modeout = (std_logic_vector(010);wout = (std_logic_vector(010);END IF;IF ( modein0=1 AND modein1=0 AND modein2=0 AND start=1 ) THENne*t_sreg=wash;ne*t_ten=1;ne*t_tstop=0;ne*t_ken=0;ne*t_sel=1;modeout = (std_logic_vector(001

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 研究生课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号