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

邹平网站定制哪家公司建设网站好

邹平网站定制,哪家公司建设网站好,有域名怎么做网站,新疆建设职业学院网站目录 一、六位流水灯 二、按键控制流水灯 总结 一、六位流水灯 代码实现分为三阶段: 复位阶段:当 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/532486.html

相关文章:

  • 南昌网站页面优化seo网站推广专员招聘
  • 重庆有名的网站建设网站链接分析工具
  • 专业网站建设搭建百度竞价推广点击软件奔奔
  • wordpress免费的音乐插件seo站长工具推广平台
  • 建筑网格布搭接seo收费低
  • wordpress主题yeti1.9.2武汉网站推广优化
  • 做网站推广弊端百度知道app
  • 网站收录在哪里可以查看在线建站平台免费建网站
  • 怎么学做电子商务网站谷歌seo优化怎么做
  • 做的网站空白了微信推广平台
  • 搭建网站属于什么专业网络营销推广的总结
  • 网站漏洞以及找后台入口 等功能.外贸营销网站建设
  • 网站建设发展前景百度指数行业排行
  • 广州网站设计价格合肥seo网站建设
  • 企业网站建设背景百度站内搜索
  • 海口企业网站建设优化网站排名茂名厂商
  • dedecms制作网站地图在哪里找软件开发公司
  • 用bootstrap做的网站口碑营销经典案例
  • 学做网站要学什么软件微信公众平台开发
  • 公司网站运营方案百度投诉中心入口
  • 邢台专业网站建设公司推荐百度app优化
  • 四川广安网站建设免费网站推广工具
  • 网站建设推广代理公司关于网络推广的方法
  • 国外设计网站behance打不开百度app下载安装普通下载
  • 基于jsp的网站开发网站推广方案范文
  • 网站运营维护合同广东做seo的公司
  • 17网站一起做网店东莞免费网站在线客服系统源码
  • 毕设做网站 方面的论文网络营销研究背景及意义
  • 成都专业做网站的公司有哪些权威seo技术
  • 清博大数据舆情监测平台上海seo推广服务