Quartus卡式电话计费器Verilog代码远程云端验证

名称:Quartus卡式电话计费器Verilog代码远程云端平台(文末获取)

软件:Quartus

语言:Verilog

代码功能:

卡式电话计费器设计要求

该计费器在卡插入后,能读出卡中的余额并显示;在通话中,根据通话种类进行扣费,卡内余额每分钟更新一次;对通话时间计时并显示出来。 (2) 话务种类分为三种:市话、长途和特话。其中市话按每分钟3角钱计算,长话

按每分钟6角钱计算,特话免费

 当卡中余额少于当前话务种类对应的一分钟费用,产生告警信号,警告灯亮

当告警时间达到15s时切断当前通话。

设定卡内余额最大为20角。

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

本代码已在远程云端平台验证,远程云端平台如下,其他远程云端平台可以修改管脚适配:

远程平台照片.png

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) //位选显示
);
endmodule
源代码

 扫描文章末尾的公众号二维码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值