名称:自动售货机操作设计verilog代码AX301开发板Quartus
软件:Quartus
语言:Verilog
代码功能:
具有单价0.5、1.0、1.5、2.0元的4种商品,可以通过按键选择商品,可以投币,投币后按键确认购买,购买成功后找零,若投币不足则直接退钱,不出商品。
找零时间3秒。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在AX301开发板验证,开发板如下,其他开发板可以修改管脚适配:
演示视频:
设计文档:
Testbench
整体仿真图
消抖仿真图
显示模块仿真图
控制模块仿真图
部分代码展示:
//Vending_machine module?auto_sell( input?clk_50M,//50M //按键?低电平有效 input?Selection_of_05,//选商品 //按键?低电平有效 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_posedge(), ????.??button_negedge(Selection_of_05_out), ????.??button_out() ); ax_debounce??throw_into_10? ( ????.??clk(clk_50M),? ????.??rst(1'b0),? ????.??button_in(throw_into_10_down), ????.??button_posedge(), ????.??button_negedge(throw_into_10_down_out), ????.??button_out() ); ax_debounce??throw_into_05? ( ????.??clk(clk_50M),? ????.??rst(1'b0),? ????.??button_in(throw_into_05_down), ????.??button_posedge(), ????.??button_negedge(throw_into_05_down_out), ????.??button_out() ); ax_debounce??confirm_btt? ( ????.??clk(clk_50M),? ????.??rst(1'b0),? ????.??button_in(confirm_button), ????.??button_posedge(), ????.??button_negedge(confirm_button_out), ????.??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
点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=327
							阅读全文
							
						
					
								
								
								
526