自动售货机设计Verilog代码Quartus仿真
名称:自动售货机设计Verilog代码Quartus仿真
软件:Quartus
语言:Verilog
代码功能:
自动售货机设计Quartus9.0软件
软件版本:Quartus9.0
1、选商品,可选0.5,1,1.5,2.0元商品
2、投币为1元、0.5元
3、数码管和led显示购买结果和找零
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
演示视频:
设计文档:
1. 工程文件

2. 程序文件


3. 程序运行

4. RTL图

5. 仿真图
5.1 下降沿检测模块


5.2 显示模块



5.3 状态控制模块


上图可看出,通过商品选择按键选择了单价1.5元的商品,投入金额为0.5+0.5+1.0=2.0元,找零为0.5元。
部分代码展示:
//Vending_machine module auto_sell( input clk_50M,//50M //按键 低电平有效 input Selection_of_05,//选商品,可选0.5,1,1.5,2.0元商品 //按键 低电平有效 input throw_into_10_down,//投1元 input throw_into_05_down,//投0.5元 //按键 低电平有效 input confirm_button,//确认购买,低电平有效 output outgo_done,//出货指示灯 output [7:0] duanxuan,//数码房段选显示 output [5:0]weixuan //数码房位选显示 ); //////////////////////////////////////////////所有按键消抖///////////////////////////////////// wire Selection_of_05_out; wire throw_into_10_down_out; wire throw_into_05_down_out; wire confirm_button_out; //下降沿检测模块 ax_debounce select_05 ( . clk(clk_50M), . rst(1'b0), . button_in(Selection_of_05), . button_negedge(Selection_of_05_out) ); //下降沿检测模块 ax_debounce throw_into_10 ( . clk(clk_50M), . rst(1'b0), . button_in(throw_into_10_down), . button_negedge(throw_into_10_down_out) ); //下降沿检测模块 ax_debounce throw_into_05 ( . clk(clk_50M), . rst(1'b0), . button_in(throw_into_05_down), . button_negedge(throw_into_05_down_out) ); //下降沿检测模块 ax_debounce confirm_btt ( . clk(clk_50M), . rst(1'b0), . button_in(confirm_button), . button_negedge(confirm_button_out) ); wire [7:0] total_throw_inmoney;//投入总钱币 wire [7:0] total_need_money;//选中商品价钱 wire [7:0] total_refund_money;//找零金额 //售货状态控制模块 state_control state_control_u( . clk_50M(clk_50M), . Selection_of_05_out(Selection_of_05_out), . throw_into_10_down_out(throw_into_10_down_out), . throw_into_05_down_out(throw_into_05_down_out), . confirm_button_out(confirm_button_out), . outgo_done(outgo_done),//出货指示灯 . total_throw_inmoney_out(total_throw_inmoney),//投入总钱币 . total_need_money_out(total_need_money),//选中商品价钱 . total_refund_money_out(total_refund_money)//找零金额 ); /////////////////////////////////////////////////////////////////////////////////////////////// //数码管显示模块 display display_U( . clk_50M(clk_50M),//50M . total_throw_inmoney(total_throw_inmoney),//投入总钱币 . total_need_money(total_need_money),//选中商品价钱 . total_refund_money(total_refund_money),//找零金额 . duanxuan(duanxuan),//数码房段选显示 . weixuan(weixuan) //数码房位选显示 ); endmodule
代码文件(付费下载):
![]()
1、代码文件需要付费后才可见。
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 自动售货机设计Verilog代码Quartus仿真
2、支付问题请联系微信公众号客服。
3、优质Verilog/VHDL代码资源,所见即所得。
Verilog/VHDL资源下载 » 自动售货机设计Verilog代码Quartus仿真