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

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

Quartus地鐵自動售票機verilog代碼青創(chuàng)QC-FPGA開發(fā)板

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

2-2312210ZS2157.doc

共1個文件

名稱:Quartus地鐵自動售票機verilog代碼青創(chuàng)QC-FPGA開發(fā)板

軟件:Quartus

語言:Verilog

代碼功能:

地鐵自動售票機

1.一共20站,1~5站2元;6~10站3元,11~15站5元,16~20站7元。

2.投錢可以投1元,5元,10元,20元。

3.若投入錢幣大于票價,顯示購買成功并找零。

4.若投幣低于票價可以退還錢幣,不出票。

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

本代碼已在青創(chuàng)QC-FPGA開發(fā)板驗證,青創(chuàng)QC-FPGA開發(fā)板如下,其他開發(fā)板可以修改管腳適配:青創(chuàng)QC-FPGA開發(fā)板.png

演示視頻:

設(shè)計文檔:

1.工程文件

2.程序文件

3.程序編譯

4.RTL圖

5.仿真圖

1. 整體仿真圖

2. 二進制轉(zhuǎn)BCD模塊仿真圖

3. 按鍵下降沿檢測模塊

4. 數(shù)碼管顯示模塊

5. 地鐵售票控制模塊仿真

上圖中,station_p按了3次,表示選擇了3站(data_1=3),所以票價是2(data_2=2)元,按下confirm_p鍵后,開始投幣,1,5,10,20分別投幣一次,共投幣36元(data_1=36),再按下confirm_p鍵后,開始找零,同時buy_succeed變?yōu)?a class="article-link" target="_blank" href="/tag/%E9%AB%98%E7%94%B5%E5%B9%B3/">高電平表示購票成功,找零34元(data_2=34),再按下confirm_p鍵后表示取票成功。

部分代碼展示:

module?subway(
input?clk_48M,
input?resetin,
input?confirm_key_n,
input?station_key_n,
output?[1:0]row_keys,
input[1:0]line_keys,
output?buy_succeed,
output?[7:0]data,
output?[3:0]com
);
wire?coin_1_p;
wire?coin_5_p;
wire?coin_10_p;
wire?coin_20_p;
wire?clk_1KHz;
wire?[7:0]?data_1;
wire?[7:0]?data_2;
wire?confirm_p;
wire?station_p;
key_jitter?key_jitter_1(
.?clkin(clk_1KHz),????
.?key_in(confirm_key_n),
.?key_negedge(confirm_p)
);
key_jitter?key_jitter_2(
.?clkin(clk_1KHz),????
.?key_in(station_key_n),
.?key_negedge(station_p)
);
matrix_key?i_matrix_key
(
.clkin(clk_48M),
.resetin(resetin),
.row_keys(row_keys),
.line_keys(line_keys),
.clk_1KHz(clk_1KHz),
.coin_1(coin_1_p),
.coin_5(coin_5_p),
.coin_10(coin_10_p),
.coin_20(coin_20_p)
);
subway_ctrl?i_subway_ctrl(
.?clk(clk_1KHz),
.?reset_n(resetin),
.?confirm_p(confirm_p),
.?station_p(station_p),
.?coin_1_p(coin_1_p),
.?coin_5_p(coin_5_p),
.?coin_10_p(coin_10_p),
.?coin_20_p(coin_20_p),
.?buy_succeed(buy_succeed),
.?data_1(data_1),
.?data_2(data_2)
);
wire?[3:0]data_1_ten;
wire?[3:0]data_1_one;
wire?[3:0]data_2_ten;
wire?[3:0]data_2_one;
wire?[7:0]data_1_BCD;?
wire?[7:0]data_2_BCD;?
b_to_bcd?i1_b_to_bcd
(
.clk(clk_48M),
.rst_n(resetin),
.binary(data_1),
.state_en(1'b1),
.BCD(data_1_BCD)
???);
b_to_bcd?i2_b_to_bcd
(
.clk(clk_48M),
.rst_n(resetin),
.binary(data_2),
.state_en(1'b1),
.BCD(data_2_BCD)
???);
assign?data_1_ten=data_1_BCD[7:4];
assign?data_1_one=data_1_BCD[3:0];
assign?data_2_ten=data_2_BCD[7:4];
assign?data_2_one=data_2_BCD[3:0];
led_sm?i_led_sm
(
.clkin(clk_48M),
.resetin(resetin),
.data_1_in(data_1_one),
.data_10_in(data_1_ten),
.data_100_in(data_2_one),
.data_1000_in(data_2_ten),
.data(data),
.com(com)
);
endmodule

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

  • 2-2312210ZS2157.doc
    下載

相關(guān)推薦