当前位置: 首页 > wzjs >正文

邹平网站定制b站推广网站入口2023的推广形式

邹平网站定制,b站推广网站入口2023的推广形式,领导不愿意做招聘网站怎么办,广州小型网站建设公司目录 一、六位流水灯 二、按键控制流水灯 总结 一、六位流水灯 代码实现分为三阶段: 复位阶段:当 rst_n 为低电平时,模块复位。计数器 cnt_1s 清零。LED 状态 led 初始化为 6b000001(第一个 LED 亮,其余灭&#xff09…

目录

一、六位流水灯

二、按键控制流水灯

总结


一、六位流水灯

代码实现分为三阶段:

  1. 复位阶段:当 rst_n 为低电平时,模块复位。计数器 cnt_1s 清零。LED 状态 led 初始化为 6'b000001(第一个 LED 亮,其余灭)。

  2. 正常运行阶段:当 rst_n 为高电平时,模块开始工作:LED 状态向左循环移位一次。当计数器达到 TIME_1s - 1 时:end_cnt_1s 信号变为 1,触发 LED 状态更新。计数器清零。计数器 cnt_1s 在每个时钟上升沿加 1。

  3. 循环流水灯效果:LED 状态每 1 秒更新一次,依次向左移动,形成流水灯效果。

具体代码如下:

module led (input  clk,        // 时钟信号input  rst_n,      // 复位信号(低电平有效)output reg[5:0] led // 6位LED输出
);parameter  TIME_1s = 50_000_000; // 1秒的时间常数(假设时钟频率为25MHz)reg    [30-1:0]    cnt_1s     ; // 30位宽的计数器wire   add_cnt_1s ,  end_cnt_1s ; // 计数器使能信号和结束信号// 计数器逻辑always @(posedge clk or negedge rst_n) if (!rst_n)cnt_1s  <= 30'b0; // 复位时计数器清零else if (add_cnt_1s )if (end_cnt_1s )cnt_1s <=30'b0; // 计数器达到1秒时清零else cnt_1s  <= cnt_1s  +1'd1; // 计数器加1else cnt_1s  <= cnt_1s ; // 保持计数器值assign add_cnt_1s  = 1'b1; // 计数器始终使能assign end_cnt_1s  = add_cnt_1s  && (TIME_1s-1 == cnt_1s ); // 计数器达到1秒时结束信号为1// LED控制逻辑always @(posedge clk or negedge rst_n)if(!rst_n)led <= 6'b000001; // 复位时第一个LED亮,其余灭else if(end_cnt_1s)led <= {led[4:0], led[5]}; // 每1秒LED向左循环移位一次elseled <= led; // 保持LED状态endmodule

实现效果如下:

6位流水灯

二、按键控制流水灯

按键按下时流水灯停止移动,再次按下时恢复移动。

  1. 按键输入信号 key:按键按下时为低电平(0),松开时为高电平(1)。

  2. 暂停状态寄存器 pause:用于控制流水灯的移动。当 pause 为 1 时,流水灯停止移动;当 pause 为 0 时,流水灯继续移动。

  3. 按键处理逻辑:在时钟上升沿检测按键状态,如果按键按下(key 为低电平),则切换 pause 的状态。

  4. LED控制逻辑:在 end_cnt_1s 为 1 且 pause 为 0 时,流水灯才会移动。

module led (input  clk,        // 时钟信号input  rst_n,      // 复位信号(低电平有效)input  key,        // 按键信号(按下为低电平)output reg[5:0] led // 6位LED输出
);parameter  TIME_1s = 50_000_000; // 1秒的时间常数(假设时钟频率为25MHz)reg    [30-1:0]    cnt_1s     ; // 30位宽的计数器wire   add_cnt_1s ,  end_cnt_1s ; // 计数器使能信号和结束信号reg    pause;                   // 暂停状态寄存器// 计数器逻辑always @(posedge clk or negedge rst_n) if (!rst_n)cnt_1s  <= 30'b0; // 复位时计数器清零else if (add_cnt_1s )if (end_cnt_1s )cnt_1s <=30'b0; // 计数器达到1秒时清零else cnt_1s  <= cnt_1s  +1'd1; // 计数器加1else cnt_1s  <= cnt_1s ; // 保持计数器值assign add_cnt_1s  = 1'b1; // 计数器始终使能assign end_cnt_1s  = add_cnt_1s  && (TIME_1s-1 == cnt_1s ); // 计数器达到1秒时结束信号为1// 按键处理逻辑always @(posedge clk or negedge rst_n)if (!rst_n)pause <= 1'b0; // 复位时暂停状态为0(流水灯移动)else if (!key) // 按键按下(低电平有效)pause <= ~pause; // 切换暂停状态// LED控制逻辑always @(posedge clk or negedge rst_n)if(!rst_n)led <= 6'b000001; // 复位时第一个LED亮,其余灭else if(end_cnt_1s && !pause) // 只有在不暂停时才会移动LEDled <= {led[4:0], led[5]}; // 每1秒LED向左循环移位一次elseled <= led; // 保持LED状态endmodule

实现效果如下:

按键控制流水灯


总结

从简单的流水灯入手,开始逐步对verilog语言有更深入的了解。

http://www.dtcms.com/wzjs/320934.html

相关文章:

  • 个人风采网站制作注册一个网站
  • 网站的建设价格专业seo培训学校
  • 洛阳网站备案大型网站建设公司
  • 济南网络免费推广网站深圳网站优化平台
  • 网站正能量晚上不用下载直接进入网络app推广是什么工作
  • 阿里网站官网入口山东潍坊疫情最新消息
  • wordpress 插件长岭网站优化公司
  • 专门做试题的网站厦门seo专业培训学校
  • 专业英文网站制作百度搜索一下
  • 旅游公司网站开发与实现厦门网站建设平台
  • 福建住房和城乡建设厅网站seo网上培训多少钱
  • 一个专门做各种恐怖片的电影网站色盲测试卡
  • 做的不错的h5高端网站佛山网站建设正规公司
  • 做外贸网站费用seo推广怎么做视频教程
  • 网站建设微信文章自动的网站设计制作
  • 在浏览器上建设网站买链接
  • 网站设计怎么收费全面网络推广营销策划
  • 珠海营销型网站建设企业网络推广技巧
  • 廊坊企业网站建设中国最新新闻
  • 西安专业做网站的公司有哪些引流推广
  • 独立站是什么意思软文营销范文100字
  • 聊天软件开发需要多少钱广州网站优化费用
  • 网站开发是什么费用网站服务器搭建与管理
  • wordpress桌面客户端高粱seo博客
  • 织梦做网站被告优化大师官网登录入口
  • 广东网站制作哪家强自媒体营销的策略和方法
  • 用自己的电脑做网站需要备案吗cpa广告联盟平台
  • 做欧洲电商看哪个网站uc信息流广告投放
  • 西安市城乡建设管理局网站江苏提升关键词排名收费
  • 网站除了域名还要什么用网站建设优化收费