名称:洗衣机控制器设计Verilog代码VIVADO仿真(文末获取)
软件:VIVADO
语言:Verilog
代码功能:
洗衣机控制器设计
1.循环输出正转、反转、暂停信号。
2.可以预置洗衣时间。
3.可以显示定时时间。
4.可操作性、可靠性要好。
5.实现定时启动→正转20s→暂停10s→反转20s→暂停10s→如果时间未到,则回到“正转20s→暂停10s→……”,定时到则停止。
1. 工程文件
2. 程序文件
3. FPGA型号
4. 程序编译
5. Testbench
6. 仿真图
Washing_time是剩余时间倒计时,程序内预置时间15分钟倒计时,洗衣结束后end_led信号拉高,表示洗衣结束信号
Led[2:0] 是正转反转暂停信号,led[2]为正转,led[1]为暂停,led[0]为反转
数码管显示,首先把Washing_time转换为十位ten_wei和个位one_wei,然后分别扫描显示,
下图中十位=1,个位=5,1对应数码管码字为8'hf9,5对应数码管码字为8'h92,所以下图f9,92依次显示。
部分代码展示:
`timescale 1ns / 1ps //testbench module wash_machine_test(); reg clk_in;//50Hz reg start_key;//启动按键 wire [2:0] led;//正转,反转,暂停 wire end_led; //洗衣结束信号 wire [1:0] bit_select;// wire [7:0] dig_led2;//数码管2 washing_machine i_washing_machine ( .clk_in(clk_in), .start_key(start_key), .led(led), .end_led(end_led), .bit_select(bit_select), .dig_led2(dig_led2) ); initial begin start_key=0; #200; start_key=1;//开始按键按下 #50; start_key=0; #100; end
源代码
扫描文章末尾的公众号二维码