国产久操视频-国产久草视频-国产久热精品-国产久热香蕉在线观看-青青青青娱乐-青青青青在线成人视99

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

售貨機(jī)基于ego1開發(fā)板的自動飲料機(jī)verilog代碼vivado軟件

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

1-231124204I9533.doc

共1個文件

名稱:售貨機(jī)基于ego1開發(fā)板的自動飲料機(jī)verilog代碼vivado軟件(代碼在文末下載)

軟件:VIVADO

語言:Verilog

代碼功能:

設(shè)計一個自動飲料機(jī)邏輯電路,它的投幣口只能投入一枚五角或一元硬幣;

投入一元五角硬幣后機(jī)器自動給出一杯飲料,投入兩元硬幣后再給出飲料的同時找回一枚五角硬幣;

數(shù)碼管顯示投幣金額、商品單價、找零金額;

出貨時通過led燈指示。

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

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

ego1開發(fā)板.png

演示視頻:

設(shè)計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. 管腳分配

6. Testbench

7. 仿真圖

整體仿真圖

按鍵消抖模塊

控制模塊

顯示模塊

部分代碼展示:

//售貨狀態(tài)控制模塊
module?state_control(
input?clk_in,
input?rst,//高電平有效
input?throw_into_10_down_out,//1.0元
input?throw_into_05_down_out,//0.5元
output??outgo_done_15,//出貨指示燈
output?[7:0]?total_throw_inmoney_out,//投入總錢幣
output?[7:0]?total_need_money_out,//商品價錢
output?[7:0]?total_refund_money_out//找零金額
);
parameter?state_0=4'd0;//選擇商品
parameter?state_1=4'd1;//投錢
parameter?state_2=4'd2;//確認(rèn)購買
parameter?state_4=4'd4;//等待
parameter?state_5=4'd9;//結(jié)束
reg?[3:0]?state=4'd0;
reg?[7:0]?total_throw_inmoney=8'd0;//投入總錢幣
reg?[7:0]?total_need_money=8'd0;//選中商品價錢
reg?[7:0]?total_refund_money=8'd0;//找零金額
reg?[7:0]?accumulated_money=8'd0;//累計賣貨額
assign?total_throw_inmoney_out=total_throw_inmoney;
assign?total_need_money_out=total_need_money;
assign?total_refund_money_out=total_refund_money;
assign?total_accumulated_money=accumulated_money;
///////控制模塊:狀態(tài)機(jī),實現(xiàn)各個狀態(tài)的轉(zhuǎn)換//////////////////////////////////////////
reg?wait_second_time=1'd0;
always@(posedge?clk_in?or?posedge?rst)
if(rst)
state<=state_0;
else
case(state)
state_0://初始狀態(tài)
state<=state_1;
state_1://投錢
begin
if(total_throw_inmoney>=total_need_money)//投幣足夠
state<=state_2;//找零
else
state<=state_1;//繼續(xù)投錢
end
state_2://確認(rèn)購買
state?<=state_4;
state_4://等待
state<=state_5;
state_5://結(jié)束
state<=state_5;
default:state<=state_0;
endcase
reg?[7:0]?univalence=8'd0;//單價
reg?outgo_done=0;
always@(posedge?clk_in)
begin
case?(state)
state_0:?//商品選擇
begin
????univalence<=8'd15;//單價一元五角
total_need_money<=univalence;//單價
total_throw_inmoney<=8'd0;
total_refund_money<=8'd0;
outgo_done<=1'd0;
end
state_1:???????????????///////////////////////////////////////////////////投幣輸入////////////////////////////////
begin
if(throw_into_05_down_out?==1'd1)//投入0.5元
total_throw_inmoney<=total_throw_inmoney+8'd5;
else?if(throw_into_10_down_out?==1'd1)//投入1.0元
total_throw_inmoney<=total_throw_inmoney+8'd10;
else
total_throw_inmoney<=total_throw_inmoney;
total_need_money<=total_need_money;
total_refund_money<=total_refund_money;
outgo_done<=1'd0;
end
state_2:?//計算找零金額
begin
if(total_throw_inmoney>total_need_money)?//如果投入大于所需
begin
total_refund_money<=total_throw_inmoney-total_need_money;//找零
end
else?if(total_throw_inmoney==total_need_money)//如果投入等于所需
begin
total_refund_money<=8'd0;
end
else
total_refund_money<=total_throw_inmoney;//退幣
total_need_money<=total_need_money;
total_throw_inmoney<=total_throw_inmoney;
outgo_done<=1'd0;//
end
state_4,state_5:
begin
total_need_money<=total_need_money;
total_throw_inmoney<=total_throw_inmoney;
total_refund_money<=total_refund_money;
outgo_done<=1'd1;
end

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

  • 1-231124204I9533.doc
    下載

相關(guān)推薦

轮台县| 西宁市| 页游| 陈巴尔虎旗| 壤塘县| 蒙城县| 贡觉县| 科技| 宁晋县| 华亭县| 普安县| 凉山| 永济市| 上蔡县| 邳州市| 邢台县| 满洲里市| 南澳县| 田林县| 大悟县| 萝北县| 栾川县| 德钦县| 清水县| 扎赉特旗| 阿克苏市| 千阳县| 库尔勒市| 师宗县| 彭泽县| 深圳市| 保靖县| 永仁县| 嵊州市| 都江堰市| 桐城市| 鲁甸县| 教育| 金湖县| 兴海县| 顺昌县|