名稱:Quartus卡式電話計(jì)費(fèi)器Verilog代碼遠(yuǎn)程云端平臺(tái)
軟件:Quartus
語(yǔ)言:Verilog
代碼功能:
卡式電話計(jì)費(fèi)器設(shè)計(jì)要求:
(1) 該計(jì)費(fèi)器在卡插入后,能讀出卡中的余額并顯示;在通話中,根據(jù)通話種類進(jìn)行扣費(fèi),卡內(nèi)余額每分鐘更新一次;對(duì)通話時(shí)間計(jì)時(shí)并顯示出來(lái)。
(2) 話務(wù)種類分為三種:市話、長(zhǎng)途和特話。其中市話按每分鐘3角錢計(jì)算,長(zhǎng)話按每分鐘6角錢計(jì)算,特話免費(fèi)。
(3) 當(dāng)卡中余額少于當(dāng)前話務(wù)種類對(duì)應(yīng)的一分鐘費(fèi)用,產(chǎn)生告警信號(hào),警告燈亮。
(4) 當(dāng)告警時(shí)間達(dá)到15s時(shí)切斷當(dāng)前通話。
(5) 設(shè)定卡內(nèi)余額最大為20角。
(6) 利用數(shù)碼管顯示卡內(nèi)余額和通話時(shí)間,燈顯示讀卡信號(hào)、寫卡信號(hào)、告警信號(hào)和切斷信號(hào)。
FPGA代碼Verilog/VHDL代碼資源下載:www.hdlcode.com
本代碼已在遠(yuǎn)程云端平臺(tái)驗(yàn)證,遠(yuǎn)程云端平臺(tái)如下,其他遠(yuǎn)程云端平臺(tái)可以修改管腳適配:
演示視頻:
設(shè)計(jì)文檔:
1. 工程文件
2. 程序文件
3. 程序編譯
4. RTL圖
5. 管腳分配
6. 仿真文件
7. 仿真圖
部分代碼展示:
//頂層 module?telephone( input?clk_1KHz, input?rst, input?card_key,//插卡按鍵,1表示插入 input?[1:0]oncall_key,//撥號(hào)--00表示不撥號(hào),01表示市話,10表示長(zhǎng)途,11表示特話 output?card_led,//插卡指示燈 output?[2:0]call_led,//通話指示燈 output?reminder_led,//告警信號(hào),警告燈亮 //?利用數(shù)碼管顯示卡內(nèi)余額和通話時(shí)間 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;//通話時(shí)間 wire?[7:0]?second;//通話時(shí)間 telephone_ctrl?i_telephone_ctrl( .?clk_1KHz(clk_1KHz), .?rst(rst), .?card_key(card_key),//插卡按鍵,1表示插入 .?oncall_key(oncall_key),//撥號(hào)--00表示不撥號(hào),01表示市話,10表示長(zhǎng)途,11表示特話 .?card_led(card_led),//插卡指示燈 .?call_led(call_led),//通話指示燈 .?reminder_led(reminder_led),//告警信號(hào),警告燈亮 //?利用數(shù)碼管顯示卡內(nèi)余額和通話時(shí)間 .?money_left(money_left),//卡內(nèi)余額 .?minute(minute),//通話時(shí)間 .?second(second)//通話時(shí)間 ); //數(shù)碼管顯示模塊 display?i_display( .?clk_1K(clk_1KHz), //?利用數(shù)碼管顯示卡內(nèi)余額和通話時(shí)間 .?money_left(money_left),//卡內(nèi)余額 .?minute(minute),//通話時(shí)間 .?second(second),//通話時(shí)間 .?SEG1(SEG1),//段選顯示 .?SEL1(SEL1),?//位選顯示 .?SEG2(SEG2),//段選顯示 .?SEL2(SEL2)?//位選顯示 ); endmodule
點(diǎn)擊鏈接獲取代碼文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=361