• 方案介紹
  • 附件下載
  • 相關(guān)推薦
申請入駐 產(chǎn)業(yè)圖譜

自助點餐機Verilog代碼遠程云端平臺Quartus

加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

2-23121F944023E.doc

共1個文件

名稱:自助點餐機Verilog代碼遠程云端平臺Quartus

軟件:Quartus

語言:Verilog

代碼功能:

自助點餐機設(shè)計,商品分為7、9、14元三種套餐,并且只接受5、10元兩種面值的紙幣。

可以一次點多份,用數(shù)碼管顯示購買數(shù)量、所需金額、找零金額,當(dāng)金額不足時通過蜂鳴器提示。

FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com

本代碼已在遠程云端平臺驗證,遠程云端平臺如下,其他遠程云端平臺可以修改管腳適配:遠程平臺照片.png

演示視頻:

設(shè)計文檔:

1. 工程文件

2. 程序文件

3. 程序運行

4. 管腳分配

5. RTL圖

6. 仿真圖

仿真文件(VWF文件)

仿真圖

下圖仿真為選中單價9元商品,數(shù)量選為3,共需要27元,投幣5+10+10+10=35元,找零8元。

部分代碼展示:

//Vending_machine
//基于FPGA的自助點餐機的設(shè)計,
//商品分為7、9、14元三種套餐,
//并且只接受5、10元兩種面值的紙幣:
//可以一次點多份:
//用數(shù)碼管顯示購買數(shù)量、所需金額、找零金額,當(dāng)金額不足時通過蜂鳴器提示
module?auto_sell(
input?clk_1K,//1K
input?rst,//低電平有效
//按鍵?低電平有效
input?Selection_goods,//選商品,商品分為7、9、14元三種套餐
input?Selection_num,//選商品數(shù)量
//按鍵?低電平有效
input?throw_into_10_down,//投10元
input?throw_into_05_down,//投5元
//按鍵?低電平有效
input?confirm_button,//確認購買,低電平有效
output??BEEP,//蜂鳴器
output??outgo_done,//出貨指示燈
output??[7:0]?duanxuan1,//數(shù)碼房段選顯示
output??[3:0]?weixuan1,?//數(shù)碼房位選顯示
output??[7:0]?duanxuan2,//數(shù)碼房段選顯示
output??[3:0]?weixuan2?//數(shù)碼房位選顯示
);
//////////////////////////////////////////////所有按鍵取下降沿/////////////////////////////////////
wire?Selection_goods_out;
wire?Selection_num_out;
wire?throw_into_10_down_out;
wire?throw_into_05_down_out;
wire?confirm_button_out;
//下降沿檢測模塊
ax_debounce??select_goods?
(
????.??clk(clk_1K),?
????.??button_in(Selection_goods),
????.??button_negedge(Selection_goods_out)
);
//下降沿檢測模塊
ax_debounce??select_num?
(
????.??clk(clk_1K),?
????.??button_in(Selection_num),
????.??button_negedge(Selection_num_out)
);
//下降沿檢測模塊
ax_debounce??throw_into_10?
(
????.??clk(clk_1K),?
????.??button_in(throw_into_10_down),
????.??button_negedge(throw_into_10_down_out)
);
//下降沿檢測模塊
ax_debounce??throw_into_05?
(
????.??clk(clk_1K),?
????.??button_in(throw_into_05_down),
????.??button_negedge(throw_into_05_down_out)
);
//下降沿檢測模塊
ax_debounce??confirm_btt?
(
????.??clk(clk_1K),?
????.??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;//找零金額
wire?[7:0]?total_num_out;//數(shù)量
//售貨狀態(tài)控制模塊
state_control?state_control_u(
.?clk_1K(clk_1K),
.?rst(rst),
.?Selection_goods_out(Selection_goods_out),
.?Selection_num_out(Selection_num_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),
.?BEEP(BEEP),
.?outgo_done(outgo_done),//出貨指示燈
.?total_num_out(total_num_out),//數(shù)量
.?total_throw_inmoney_out(total_throw_inmoney),//投入總錢幣
.?total_need_money_out(total_need_money),//選中商品價錢
.?total_refund_money_out(total_refund_money)//找零金額
);
///////////////////////////////////////////////////////////////////////////////////////////////
//數(shù)碼管顯示模塊
display?display_U(
.?clk_1K(clk_1K),//50M
.?total_num_out(total_num_out),//數(shù)量
.?total_throw_inmoney(total_throw_inmoney),//投入總錢幣
.?total_need_money(total_need_money),//選中商品價錢
.?total_refund_money(total_refund_money),//找零金額
.?duanxuan1(duanxuan1),//數(shù)碼房段選顯示
.?weixuan1(weixuan1),?//數(shù)碼房位選顯示
.?duanxuan2(duanxuan2),//數(shù)碼房段選顯示
.?weixuan2(weixuan2)?//數(shù)碼房位選顯示
);
endmodule

點擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=342

  • 2-23121F944023E.doc
    下載

相關(guān)推薦