• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

卡式电话计费器设计Verilog代码Quartus仿真

09/25 11:24
225
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24103119194CU.doc

共1个文件

名称:卡式电话计费器设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

卡式电话计费器设计要求

该计费器在卡插入后,能读出卡中的余额并显示;在通话中,根据通话种类进行扣费,卡内余额每分钟更新一次;对通话时间计时并显示出来。 (2) 话务种类分为三种:市话、长途和特话。其中市话按每分钟3角钱计算,长话按每分钟6角钱计算,特话免费当卡中余额少于当前话务种类对应的一分钟费用,产生告警信号,警告灯亮,当告警时间达到15s时切断当前通话。

设定卡内余额最大为20角。利用数码管显示卡内余额和通话时间,灯显示读卡信号、写卡信号、告警信号和切断信号。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

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,//告警信号,警告灯亮
//?利用数码管显示卡内余额和通话时间
output?[7:0]?SEG1,//段选显示
output?[3:0]?SEL1,?//位选显示
output?[7:0]?SEG2,//段选显示
output?[3:0]?SEL2?//位选显示
);
wire?[7:0]?money_left;//卡内余额
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),//告警信号,警告灯亮
//?利用数码管显示卡内余额和通话时间
.?money_left(money_left),//卡内余额
.?minute(minute),//通话时间
.?second(second)//通话时间
);
//数码管显示模块
display?i_display(
.?clk_1K(clk_1KHz),
//?利用数码管显示卡内余额和通话时间
.?money_left(money_left),//卡内余额
.?minute(minute),//通话时间
.?second(second),//通话时间
.?SEG1(SEG1),//段选显示
.?SEL1(SEL1),?//位选显示
.?SEG2(SEG2),//段选显示
.?SEL2(SEL2)?//位选显示
);

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=1304

  • 2-24103119194CU.doc
    下载

相关推荐