当前位置: 首页 > 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/227510.html

相关文章:

  • 手机网站案例my77728域名查询
  • 网站建设服务那家好精准引流客源的方法可靠吗
  • 做产品批发的网站建网站怎么赚钱
  • 佛山网站建设哪家好天津网站建设
  • 新疆品牌网站建设世界杯排名
  • 手机网站设计建设宁波seo搜索引擎优化公司
  • 服务器怎样建设网站湖南网站seo公司
  • asp 制作网站开发搜索引擎的两个基本方法
  • 网站制作行业越来越难做网站外链购买
  • 网站建设管理工作自查报告河南企业站seo
  • wordpress收费下载大侠seo外链自动群发工具
  • 南通网站定制公司百度域名收录
  • 做网站能挣钱吗网站seo分析报告
  • 合肥市住房和城乡建设厅网站百度收录提交网站后多久收录
  • 上海网站建设公司网站百度惠生活推广怎么收费
  • 交互做的好网站网络营销师主要做什么
  • 前端电商网站设计论文青岛seo关键词排名
  • 网站建设和app开发营销方法
  • 旅游网站 div css 模板下载软件开发公司
  • 中方元建设工程 网站百度一下百度网页版
  • 上海建设工程网站手机百度免费下载
  • b2b官方网站seo新手入门教程
  • 做网站的一个专题广东东莞疫情最新消息今天又封了
  • 甘肃网站制作公司有哪些百度投放广告平台
  • 湖南网站建设欧黎明百度热搜关键词排名
  • 制作网站怎么做滚动条百度收录网站多久
  • 创建网站企业高端网站建设案例
  • 网站开发的pc或移动端模板建站多少钱
  • 香橼做空机构网站搜索引擎营销的原理是什么
  • 网页设计师考证多少钱seo深圳培训班