名稱:自動售貨機操作設(shè)計verilog代碼AX301開發(fā)板Quartus
軟件:Quartus
語言:Verilog
代碼功能:
具有單價0.5、1.0、1.5、2.0元的4種商品,可以通過按鍵選擇商品,可以投幣,投幣后按鍵確認購買,購買成功后找零,若投幣不足則直接退錢,不出商品。
找零時間3秒。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在AX301開發(fā)板驗證,開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
演示視頻:
設(shè)計文檔:
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,//數(shù)碼房段選顯示 output??[5:0]weixuan?//數(shù)碼房位選顯示 ); //////////////////////////////////////////////所有按鍵消抖///////////////////////////////////// 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),//數(shù)碼房段選顯示 .?weixuan(weixuan)?//數(shù)碼房位選顯示 ); endmodule
點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=327
閱讀全文