名稱:自動售貨機設(shè)計Verilog代碼Quartus ?AX301開發(fā)板
軟件:Quartus
語言:Verilog
代碼功能:自動售貨機設(shè)計
1、商品單價有5元、10元、15、20元
2、可以按鍵選擇商品,選中商品后可以投幣
3、支持投幣5角和1元,投幣結(jié)束后按確認鍵
4、若投幣金額足夠,則出貨并找零,或金額不夠,則退還所有錢幣,不出貨
本代碼已在AX301開發(fā)板驗證,AX301開發(fā)板如下,其他開發(fā)板可以修改管腳適配:
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() );
【來源:www.hdlcode.com】
閱讀全文