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

自動(dòng)售貨機(jī)Verilog代碼vivado ego1開(kāi)發(fā)板

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

2-24010310310SN.doc

共1個(gè)文件

名稱:自動(dòng)售貨機(jī)Verilog代碼vivado? ego1開(kāi)發(fā)板

軟件:vivado

語(yǔ)言:Verilog

代碼功能:

1、待售商品有兩種15元和3元(可通過(guò)開(kāi)關(guān)或按鍵選擇,用led指示選擇結(jié)果)。

2、可投硬幣有兩種:5角和1元。分別用兩個(gè)按鍵表示,按下按鍵代表投入硬幣,同時(shí)數(shù)碼管顯示投入硬幣的總金額。

3、當(dāng)投入金額與所選商品標(biāo)價(jià)相同時(shí),使用led燈進(jìn)行提示。

4、增加待售商品數(shù)量。

5、增加硬幣種類為:5角、1元、2元。(至少增加至三種,金額可自定)。

6、自行設(shè)計(jì)售貨機(jī)其他功能,比如找零等。

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

本代碼已在ego1開(kāi)發(fā)板驗(yàn)證,ego1開(kāi)發(fā)板如下,其他開(kāi)發(fā)板可以修改管腳適配:

ego1開(kāi)發(fā)板.png

演示視頻:

設(shè)計(jì)文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. 管腳分配

5. RTL圖

6. Testbench

7. 仿真圖

整體仿真圖

按鍵消抖模塊

控制模塊

顯示模塊

部分代碼展示:

//自動(dòng)售貨機(jī)
module?auto_sell(
input?clk_in,//100M
input?rst,//高電平有效
//按鍵?高電平有效(SW0,1,2,3)
input?Selection_goods_10,//選商品1元
input?Selection_goods_20,//選商品2元
input?Selection_goods_30,//選商品3元
input?Selection_goods_15,//選商品1.5元
//按鍵?高電平有效(S1,S2,S3)
input?throw_into_10_down,//投1.0元
input?throw_into_05_down,//投0.5元
input?throw_into_20_down,//投2.0元
//按鍵?高電平有效
input??confirm_button,//確認(rèn)購(gòu)買,高電平有效(SW7)
output?[7:0]?LED,//閃爍報(bào)警(3s)(D9~16)
output??outgo_done_10,//出貨指示燈(D1)
output??outgo_done_20,//出貨指示燈(D2)
output??outgo_done_30,//出貨指示燈(D3)
output??outgo_done_15,//出貨指示燈(D4)
output??[7:0]?dig_led_1,//數(shù)碼管段選顯示
output??[3:0]?wei_led_1,?//數(shù)碼管位選顯示
output??[7:0]?dig_led_2,//數(shù)碼管段選顯示
output??[3:0]?wei_led_2?//數(shù)碼管位選顯示
);
//所有按鍵取上升沿
wire?throw_into_10_down_out;
wire?throw_into_05_down_out;
wire?throw_into_20_down_out;
wire?confirm_button_out;
//按鍵消抖模塊
key_xiaodou??throw_into_10?
(
????.??clk_in(clk_in),?
????.??key_in(throw_into_10_down),
????.??key_out(throw_into_10_down_out)
);
//按鍵消抖模塊
key_xiaodou??throw_into_05?
(
????.??clk_in(clk_in),?
????.??key_in(throw_into_05_down),
????.??key_out(throw_into_05_down_out)
);
//按鍵消抖模塊
key_xiaodou??throw_into_20
(
????.??clk_in(clk_in),?
????.??key_in(throw_into_20_down),
????.??key_out(throw_into_20_down_out)
);
//按鍵消抖模塊
key_xiaodou??confirm_btt?
(
????.??clk_in(clk_in),?
????.??key_in(confirm_button),
????.??key_out(confirm_button_out)
);
wire?[7:0]?total_throw_inmoney;//投入總錢幣
wire?[7:0]?total_need_money;//選中商品價(jià)錢
wire?[7:0]?total_refund_money;//找零金額
//售貨狀態(tài)控制模塊
state_control?state_control_u(
.?clk_in(clk_in),
.?rst(rst),
.?Selection_goods_10(Selection_goods_10),
.?Selection_goods_20(Selection_goods_20),
.?Selection_goods_30(Selection_goods_30),
.?Selection_goods_15(Selection_goods_15),
.?throw_into_10_down_out(throw_into_10_down_out),
.?throw_into_05_down_out(throw_into_05_down_out),
.?throw_into_20_down_out(throw_into_20_down_out),
.?confirm_button_out(confirm_button_out),
.?LED(LED),
.?outgo_done_10(outgo_done_10),//出貨指示燈1
.?outgo_done_20(outgo_done_20),//出貨指示燈2
.?outgo_done_30(outgo_done_30),//出貨指示燈3
.?outgo_done_15(outgo_done_15),//出貨指示燈4
.?total_throw_inmoney_out(total_throw_inmoney),//投入總錢幣
.?total_need_money_out(total_need_money),//選中商品價(jià)錢
.?total_refund_money_out(total_refund_money)//找零金額
);
///////////////////////////////////////////////////////////////////////////////////////////////
//顯示模塊
display_num?i_display_num(
.?clk(clk_in),//100M
.?total_throw_inmoney(total_throw_inmoney),//投入總錢幣
.?total_need_money(total_need_money),//選中商品價(jià)錢
.?total_refund_money(total_refund_money),//找零金額
.?dig_led_1(dig_led_1),//數(shù)碼管段選顯示
.?wei_led_1(wei_led_1),//數(shù)碼管位選顯示
.?dig_led_2(dig_led_2),//數(shù)碼管段選顯示
.?wei_led_2(wei_led_2)//數(shù)碼管位選顯示
);
endmodule

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

  • 2-24010310310SN.doc
    下載

相關(guān)推薦

方案定制

去合作
方案開(kāi)發(fā)定制化,2000+方案商即時(shí)響應(yīng)!