扫码加入

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

使能复位加载显示切换的8位计数器设计Verilog代码Quartus仿真

2025/08/28
1199
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-24091QG1505N.doc

共1个文件

名称:使能复位加载显示切换的8位计数器设计Verilog代码Quartus仿真

软件:Quartus

语言:Verilog

代码功能:

功能要求:

1、8位计数器,也就是可以从0计数到255(8’b11111111);

2、使能(命名为EN):同步使能EN=1, 则允许加载或计数;复位(命名为RST):RST=0时, 对计数器寄存器单元异步清零;

3、加载数值(命名为LOAD):当LOAD=0, 向内部寄存器加载数据;

4、显示切换(命名为jinzhi):当jinzhi=1,使用3个数码管(数码管5、6、7)以10进制显示计数值;当jinzhi=0,使用2个数码管(数码管5、6)以16进制显示计数值,数码管7显示0;

5、按键8、7、6、5、4对应CLK,RST,EN,LOAD,jinzhi;

6、工程命名以个人名字的小写拼音命名,例如:张三,则工程命名为zhangsan;

HDL代码要添加适当的注释。

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

演示视频:

设计文档:

1. 工程文件

2. 原理图

3. 代码

计数模块

显示模块

4. 仿真图

整体仿真图

计数模块

显示模块

部分代码展示:

//计数器模块
module counter(
input CLK,//时钟
input RST,//复位,RST=0时, 对计数器寄存器单元异步清零
input EN,//使能,同步使能
input LOAD,//加载数值,当LOAD=0, 向内部寄存器加载数据
input [7:0] load_data,
output reg [7:0] count_data//计数值
);
always@(posedge CLK or negedge RST)
if(RST==0)//RST=0时, 对计数器寄存器单元异步清零
count_data<=8'd0;
else if(EN==1)//同步使能EN=1, 则允许加载或计数
if(LOAD==0)//加载数值,当LOAD=0, 向内部寄存器加载数据
count_data<=load_data;
else
count_data<=count_data+1;//正常计数
else
count_data<=count_data;//EN=0,不计数
endmodule

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

  • 2-24091QG1505N.doc
    下载

相关推荐