洗衣机控制器VHDL代码Quartus DE2-115开发板
名称:洗衣机控制器VHDL代码Quartus DE2-115开发板
软件:Quartus
语言:VHDL
代码功能:
洗衣机控制器
(1)设计一个洗衣机控制器,使洗衣机作如下运转:定时启动—〉正转20秒—〉暂停10秒—〉反转20秒—〉暂停10秒—〉定时不到,重复上面过程。
(2)若定时到,则停止,并发出提示信号。
(3)用两个数码管显示洗涤的预置时间(分钟数),按倒计时方式对洗涤过程作计时显示,直到时间到停机;洗涤过程由开始信号开始。
(4)三只LED灯表示正转、反转、暂停三个状态。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在DE2-115开发板验证,DE2-115开发板如下,其他开发板可以修改管脚适配:
设计文档:
洗衣机程序设计
1. 工程文件

2. 程序文件





3. 程序编译

4. RTL图

5. 管脚分配

6. 仿真图


洗涤预制时间寄存模块


时序电路模块


十进制减法计数模块


译码器驱动电路模块


部分代码展示:
LIBRARY ieee; USE ieee.std_logic_1164.all; USE ieee.std_logic_unsigned.all; ENTITY washing_machine IS PORT ( clk_in : IN STD_LOGIC;--50Hz start_key : IN STD_LOGIC;--启动按键 set_time_key: IN STD_LOGIC ;--预置时间按键,按一次增加5分钟,超过60分钟自动回零 led : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);--正转,反转,暂停 end_led : OUT STD_LOGIC;--洗衣结束信号 dig_led1 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管1 dig_led2 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管2 ); END washing_machine; ARCHITECTURE Behavioral OF washing_machine IS --洗涤预制时间寄存模块/十进制减法计数模块/时序电路模块/译码器驱动电路模块/数码管显示模块 --洗涤预制时间寄存模块 Component pre_set_time IS PORT ( clk_in : IN STD_LOGIC;--50Hz set_time_key: IN STD_LOGIC ;--预置时间按键,按一次增加5分钟,超过60分钟自动回零 preset_time : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); end Component ; --译码器驱动电路模块 Component decoder IS PORT ( clk_in : IN STD_LOGIC ; washing_time : IN STD_LOGIC_VECTOR (7 downto 0); duanxuan2 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0); duanxuan1 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); end Component ; --数码管显示模块 Component display IS PORT ( duanxuan2 : IN STD_LOGIC_VECTOR(7 DOWNTO 0); duanxuan1 : IN STD_LOGIC_VECTOR(7 DOWNTO 0); dig_led1 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管1 dig_led2 : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--数码管2 ); end Component ; Component subtraction IS PORT ( clk_in : IN STD_LOGIC;--50Hz start_key_rise : IN STD_LOGIC; min_en_rise : IN STD_LOGIC; preset_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0); washing_time : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); end Component ; Component Sequential_circuit IS PORT ( clk_in : IN STD_LOGIC;--50Hz start_key : IN STD_LOGIC;--启动按键 washing_time : IN STD_LOGIC_VECTOR(7 DOWNTO 0); led : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);--正转,反转,暂停 end_led : OUT STD_LOGIC;--洗衣结束信号 start_key_rise_out : OUT STD_LOGIC; min_en_rise_out : OUT STD_LOGIC ); end Component ; SIGNAL preset_time : STD_LOGIC_VECTOR(7 DOWNTO 0):= "00000000"; SIGNAL washing_time : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000000";--预置洗衣时间15分钟 SIGNAL start_key_rise : STD_LOGIC:='0'; SIGNAL min_en_rise : STD_LOGIC:='0'; SIGNAL duanxuan2 : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000000"; SIGNAL duanxuan1 : STD_LOGIC_VECTOR(7 DOWNTO 0) := "00000000"; BEGIN
代码文件(付费下载):
![]()
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 洗衣机控制器VHDL代码Quartus DE2-115开发板
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 洗衣机控制器VHDL代码Quartus DE2-115开发板
发表评论
模板文件不存在: ./template/plugins/comment/pc/index.htm