名称:脉冲按键电话8位显示的电话按键显示器
软件:QuartusII
语言:Verilog
代码功能:
1、 设计一个具有8位显示的电话按键显示器;
2、能准确地反映按键数字;
3、显示器显示从低位向高位前移,逐位显示按键数字,最低位为当前输入位;
4、 设置一个“重拨”键,按下此键,能显示最后一次输入的电话号码;
5、 挂机2秒后或按熄灭按键,熄灭显示器显示。
FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com
本代码已在睿智FPGA开发板验证,开发板如下,其他开发板可以修改管脚适配:
设计文档:
工程文件
程序文件
程序编译
RTL图
部分代码展示:
//按键电话显示 module phone_num( input clk, input rst_n,//复位 input key0_in,//按键输入 input key1_in,//按键输入 input key2_in,//按键输入 input key3_in,//按键输入 input key4_in,//按键输入 input recall_key,//重播键 input close_key,//挂机键 input dark_key,//熄灭键 output [7:0] DIG,//数码管位选 output [7:0] SEG//数码管段选 ); wire [3:0] key_number;//输入数 wire [31:0] phone_number;//电话号码 wire key0; wire key1; wire key2; wire key3; wire key4; //4个按键消抖模块 key4 i_key4( . clkin(clk), . key0_in(key0_in),//输入 . key1_in(key1_in),//输入 . key2_in(key2_in),//输入 . key3_in(key3_in),//输入 . key4_in(key4_in),//输入 . key0(key0),//消抖后按键 . key1(key1),//消抖后按键 . key2(key2),//消抖后按键 . key3(key3),//消抖后按键 . key4(key4) //消抖后按键 ); //控制模块 num_ctrl i_num_ctrl( . clk(clk), . rst_n(rst_n),//复位 . key0(key0), . key1(key1), . key2(key2), . key3(key3), . key4(key4), . recall_key(recall_key),//重播键 . close_key(close_key),//挂机键 . dark_key(dark_key),//熄灭键 . key_number(key_number),//输入数量 . phone_number(phone_number)//电话号码 ); //显示模块 segment i_segment( . clk(clk), . key_number(key_number),//输入数量 . phone_number(phone_number),//电话号码 . DIG(DIG),//数码管位选 . SEG(SEG)//数码管段选 ); endmodule