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

Quartus卡式電話計費器Verilog代碼遠程云端平臺

06/04 14:34
126
加入交流群
掃碼加入
獲取工程師必備禮包
參與熱點資訊討論

2-23121Z91TGF.doc

共1個文件

名稱:Quartus卡式電話計費器Verilog代碼遠程云端平臺

軟件:Quartus

語言:Verilog

代碼功能:

卡式電話計費器設(shè)計要求:

(1) 該計費器在卡插入后,能讀出卡中的余額并顯示;在通話中,根據(jù)通話種類進行扣費,卡內(nèi)余額每分鐘更新一次;對通話時間計時并顯示出來。

(2) 話務種類分為三種:市話、長途和特話。其中市話按每分鐘3角錢計算,長話按每分鐘6角錢計算,特話免費。

(3) 當卡中余額少于當前話務種類對應的一分鐘費用,產(chǎn)生告警信號,警告燈亮。

(4) 當告警時間達到15s時切斷當前通話。

(5) 設(shè)定卡內(nèi)余額最大為20角。

(6) 利用數(shù)碼管顯示卡內(nèi)余額和通話時間,燈顯示讀卡信號、寫卡信號、告警信號和切斷信號。

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

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

遠程平臺照片.png

演示視頻:

設(shè)計文檔:

1. 工程文件

2. 程序文件

3. 程序編譯

4. RTL圖

5. 管腳分配

6. 仿真文件

7. 仿真圖

部分代碼展示:

//頂層
module?telephone(
input?clk_1KHz,
input?rst,
input?card_key,//插卡按鍵,1表示插入
input?[1:0]oncall_key,//撥號--00表示不撥號,01表示市話,10表示長途,11表示特話
output?card_led,//插卡指示燈
output?[2:0]call_led,//通話指示燈
output?reminder_led,//告警信號,警告燈亮
//?利用數(shù)碼管顯示卡內(nèi)余額和通話時間
output?[7:0]?SEG1,//段選顯示
output?[3:0]?SEL1,?//位選顯示
output?[7:0]?SEG2,//段選顯示
output?[3:0]?SEL2?//位選顯示
);
wire?[7:0]?money_left;//卡內(nèi)余額
wire?[7:0]?minute;//通話時間
wire?[7:0]?second;//通話時間
telephone_ctrl?i_telephone_ctrl(
.?clk_1KHz(clk_1KHz),
.?rst(rst),
.?card_key(card_key),//插卡按鍵,1表示插入
.?oncall_key(oncall_key),//撥號--00表示不撥號,01表示市話,10表示長途,11表示特話
.?card_led(card_led),//插卡指示燈
.?call_led(call_led),//通話指示燈
.?reminder_led(reminder_led),//告警信號,警告燈亮
//?利用數(shù)碼管顯示卡內(nèi)余額和通話時間
.?money_left(money_left),//卡內(nèi)余額
.?minute(minute),//通話時間
.?second(second)//通話時間
);
//數(shù)碼管顯示模塊
display?i_display(
.?clk_1K(clk_1KHz),
//?利用數(shù)碼管顯示卡內(nèi)余額和通話時間
.?money_left(money_left),//卡內(nèi)余額
.?minute(minute),//通話時間
.?second(second),//通話時間
.?SEG1(SEG1),//段選顯示
.?SEL1(SEL1),?//位選顯示
.?SEG2(SEG2),//段選顯示
.?SEL2(SEL2)?//位選顯示
);
endmodule

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

  • 2-23121Z91TGF.doc
    下載

相關(guān)推薦