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

南昌企业免费建站武汉网络营销公司排名

南昌企业免费建站,武汉网络营销公司排名,wordpress meta key,简述网站制作过程模块接口说明 信号方向描述clk输入系统时钟(100MHz,周期10ns)rst_n输入低电平有效的异步复位信号led_en输入总使能信号(1开启呼吸灯,0关闭)speed_en输入呼吸速度调节使能信号speed[2:0]输入呼吸速度分级&a…

模块接口说明

信号方向描述
clk输入系统时钟(100MHz,周期10ns)
rst_n输入低电平有效的异步复位信号
led_en输入总使能信号(1=开启呼吸灯,0=关闭)
speed_en输入呼吸速度调节使能信号
speed[2:0]输入呼吸速度分级(0-7对应8级速度,0最慢,7最快)
led输出即PWM输出(受led_en控制)

模块代码:

/* 呼吸灯模块例化
led_breath #(.STEP     (1)
) led_breath(.clk      (clk     ),         .rst_n    (rst_n   ),.led_en   (led_en  ),.speed_en (speed_en),     .speed    (speed   ),.led      (led     )   
);
*/`timescale 1ns/1ps
// 呼吸灯模块(输出PWM波实现)
module led_breath #(parameter STEP = 1      //默认PWM占空比变化步长
)(input  wire clk,        // 时钟(100MHz)input  wire rst_n,      // 复位input  wire led_en,     // LED使能控制信号 1亮 0灭input  wire speed_en,   // 设置LED呼吸频率使能信号input  wire [2:0]speed, // LED呼吸频率(8级调节 0最慢 7最快)output wire led         // LED(PWM波)
);
localparam T_MAX    = 100000;// 占空比阈值变化周期的计数上限(1ms阈值变化一次)
localparam DUTY_MAX = 1000;  // 占空比计数上限(也是PWM波周期,同一占空比下周期长短不影响平均电压)
// 占空比阈值1ms变化一次,占空比计数上限1000,最小步长为1,最大8:因此LED呼吸一次周期最长2s、最短0.25sreg [3:0]  step;            // PWM波占空比变化步长
reg [23:0] t_cnt;           // 呼吸周期计数器
reg [15:0] duty;            // 当前占空比阈值
reg [15:0] duty_cnt;        // 占空比计数
reg direction;              // 亮度变化方向 0变亮 1变暗
wire PWM;                   //PWM波信号线// 设置PWM波占空比步长(最小步长为1,最大8)
always @(posedge clk or negedge rst_n) beginif (!rst_n) step <= STEP;else if (speed_en)step <= (speed==7) ? 8 : (speed+1); //步长+1:最小步长1、最大8
end// 呼吸周期计数器
always @(posedge clk or negedge rst_n) beginif (!rst_n) t_cnt <= 0;else if (t_cnt == T_MAX-1)t_cnt <= 0;elset_cnt <= t_cnt + 1;
end// PWM占空比阈值变化
always @(posedge clk or negedge rst_n) beginif (!rst_n) beginduty      <= 0;direction <= 0;endelse if (t_cnt == T_MAX-1) begin if (direction == 0) begin //变亮if (duty +step < DUTY_MAX) //防止占空比阈值不超过最大duty <= duty + step;elsedirection <= 1;endelse begin //变暗if (duty -step > 0 && duty -step < DUTY_MAX) //防止减法溢出的情况duty <= duty - step;elsedirection <= 0;endend
end// 占空比计数器
always @(posedge clk or negedge rst_n) beginif (!rst_n)duty_cnt <= 0;else if (duty_cnt == DUTY_MAX-1)duty_cnt <= 0;elseduty_cnt <= duty_cnt + 1;
end
// PWM波输出
assign PWM = (duty_cnt <= duty);// LED使能输出
assign led = led_en && PWM;endmodule
http://www.dtcms.com/wzjs/295603.html

相关文章:

  • 展览公司前十名seo推广和百度推广的区别
  • 一个购物交易网站怎么做推广手段和渠道有哪些
  • 金华农村网站建设河北seo公司
  • 池州网站公司线上营销的优势
  • 网站描述多个词怎么分隔淘宝客seo推广教程
  • 农产品价格实时价格网seo是谁
  • 小企业网站建设怎么做好免费友情链接网页
  • 做网站怎么收费的怎么创造自己的网站
  • 安徽动漫公司 网站制作 安徽网新app广告联盟平台
  • 开淘宝的店铺网站怎么做百度购物平台客服电话
  • 做网站样式模板seo关键词排名价格
  • 教育培训类网站建设模板视频互联网推广选择隐迅推
  • 创业开网站建设公司营销策划书范文1000字
  • 外发加工网是真的吗杭州seo网站
  • 用dw做淘宝网站武汉seo优化公司
  • 用阿里云和大淘客做网站凡科建站的免费使用
  • diy网站建设关联词有哪些五年级
  • 适合个人做的网站有哪些东西吗公司推广方法有哪些
  • 做网站宽度和长度布局长春网站优化咨询
  • 大学学风建设专题网站网站建设策划书
  • 环境建设公司属于什么企业外贸seo建站
  • 临沭县住房和城乡建设局网站什么软件可以排名次
  • 南昌网站建设公司cps广告是什么意思
  • 江苏网站建设定制奶茶店营销软文
  • 360摄像头海澳門地区限制解除宿州百度seo排名软件
  • 网站建设基本常识seo薪酬水平
  • 玉田网站制作公司网络推广方案
  • 做钢材的网站有哪些安徽360优化
  • php网站开发代做百度软件优化排名
  • 长沙市建设网站深圳竞价托管公司