首页 > 其他分享 >1(4)计数器

1(4)计数器

时间:2024-11-21 16:28:59浏览次数:1  
标签:cnt led Name xxx 计数器 ro reg

Proteus仿真计数器

工程搭建

计数器从0计数到15,当计数到10时触发led灯
代码:

点击查看代码
`timescale 1ns / 1ps
//////////////////////////////////////////////////////////////////////////////////
// Company: 
// Engineer: 
// 
// Create Date: 2024/11/21 15:41:56
// Design Name: 
// Module Name: count_module
// Project Name: 
// Target Devices: 
// Tool Versions: 
// Description: 
// 
// Dependencies: 
// 
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////


//////////////////////////////////////////////////////////////////////////////////
// Company:         xxx
// Engineer:        dahunzi
// 
// Create Date:     2023/07/01
// Design Name:     xxx
// Module Name:     xxx
// Project Name:    xxx
// Target Devices:  xxx
// Tool Versions:   VIVADO2017.4
// Description:     xxx
// 
// Dependencies:    xxx
// 
// Revision:     v0.1
// Revision 0.01 - File Created
// Additional Comments:
// 
//////////////////////////////////////////////////////////////////////////////////

module count_module#(
    parameter       P_CNT_WIDTH = 8   
)(
    input                       i_clk       ,
    input                       i_rst       ,
    input                       i_en        ,    

    output  [P_CNT_WIDTH-1:0]   o_cnt       ,
    output                      o_led
);

/***************function**************/

/***************parameter*************/

/***************port******************/             

/***************mechine***************/

/***************reg*******************/
reg [P_CNT_WIDTH-1:0]           ro_cnt      ;
reg                             ro_led      ;


/***************wire******************/

/***************component*************/

/***************assign****************/
assign o_cnt = ro_cnt;
assign o_led = ro_led;

/***************always****************/
always @(posedge i_clk or negedge i_rst) begin
    if(!i_rst) begin
        ro_cnt <= 8'd0; //大位宽赋值给小位宽允许(自动截位),小位宽赋值给大位宽不允许(软件不会自动补位)
    end
    else begin
        ro_cnt <= ro_cnt + 1;
    end
end

always @(posedge i_clk or negedge i_rst) begin
    if(!i_rst) begin    //上电复位初值
        ro_led <= 1'd0; 
    end
    else if(ro_cnt == 8'd10) begin
            ro_led <= 1'd1;
        end
    else begin
        ro_led <= 1'd0;
    end
end

endmodule

这节课没上板)
他这个代码的i_en没用到
不过代码中没有直接将端口设置为reg,而是另外定义了reg寄存器然后assign给了端口的操作还是值得学习的

标签:cnt,led,Name,xxx,计数器,ro,reg
From: https://www.cnblogs.com/xuxuxu69/p/18561057

相关文章

  • Java虚拟机JVM-程序计数器 讲解
    目录Java8的JVM内存结构程序计数器的功能程序技术器的具体细节class文件的字节码视图的内容程序计数器的特性Java8的JVM内存结构程序计数器的功能记录每个线程正在执行的字节码指令的地址,帮助JVM确定下一条需要执行的指令。程序技术器的具体细节class文件的......
  • 数字逻辑电路-74194模5扭环形计数器、74160同步7-23加计数器-Quartus2-时序逻辑电路:
    (建议两个实验分成两个项目做,只有LowFreqClk设计会重复)(有些地方会省略文件置顶和编译,有问题的话看看是不是文件没置顶或没编译)一、实验预习:用双向移位寄存器74194和门电路设计一个右移模5的扭环计数器;并画出电路图二、实验内容:1.双向移位寄存器74194的应用——扭环形......
  • SWJTU数电实验:可控分频计数器
    一、实验要求基本实验内容1、设计一个可控分频器,clk_in为分频器时钟输入(50MHz,已固定连接在PIN_90),sel为选择开关,clk_out[1:0]为分频器信号输出。当sel=0时,clk_out[0]=sn[3:0]Hz,clk_out[1]=sn[3:0]/2Hz;当sel=1时,clk_out[0]=sn[3:0]H......
  • RCountDownLatch 分布式计数器锁的使用示例
    RCountDownLatch是Redisson提供的一种分布式计数器锁,类似于Java的CountDownLatch。它允许一个或多个线程等待其他操作完成后再执行,适用于分布式环境中需要协调多任务的场景。以下示例设计来自ChatGPT。1.示例场景假设有5个任务,主线程需要等这5个任务全部完成后再继......
  • 【JVM第4课】程序计数器
    Java程序计数器(ProgramCounterRegister)是Java虚拟机(JVM)运行数据区的一个组成部分。每个线程都有它自己的程序计数器,这部分内存用于存储该线程下一条要执行的字节码指令的地址。如果该方法为本地方法(NativeMethod),则程序计数器的值为未定义。特点:线程私有:每个线程都拥有独立的......
  • 定时/计数器
    由T0 T1、工作方式寄存器TMOD、控制寄存器TCON 构成      作为计数器使用:计数时钟来源于外部信号引脚     作为定时器使用:计数时钟来源于内部时钟信号(晶振)T0和T1:  T0计数器 TH0(高八位)TL0(低八位)T1计数器 TH1(高八位)TL1(低八位)    ......
  • C#异步计数器的使用
    1、CancellationTokenSourcecancellationToken=newCancellationTokenSource();publicvoidInitData(){cancellationToken.Token.Register(()=>{Name="被取消了";});intcount=0;Task.Run(()=>{whi......
  • 基于HTML、CSS和JavaScript的滚动数字显示效果,类似于老式计数器或电子表上的数字滚动
    这段代码实现了一个基于HTML、CSS和JavaScript的滚动数字显示效果,类似于老式计数器或电子表上的数字滚动效果。以下是代码的详细解释说明:HTML结构基础设置:<!DOCTYPEhtml> 声明文档类型为HTML5。<htmllang="en"> 指定文档语言为英文。<metacharset="UTF-8"> 和......
  • Spring boot中使用实现Redis Lua计数器
    Springboot中使用实现RedisLua计数器在SpringBoot中使用RedisLua脚本实现计数器,可以通过以下步骤来完成。这个示例将展示如何使用Lua脚本在Redis中安全地增加计数器的值。步骤1:添加依赖首先,确保你的pom.xml文件中包含了SpringDataRedis和Lettuce的依赖:<dependency>......
  • 万象更新 Html5 - css: counter 计数器
    源码https://github.com/webabcd/Html5作者webabcd万象更新Html5-css:counter计数器示例如下:css\src\counter.html<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title>counter计数器</titl......