基于CPLDFPGA的呼吸灯效果实现(附全部verilog源码).docVIP

基于CPLDFPGA的呼吸灯效果实现(附全部verilog源码).doc

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
1. 讲废话 ? ??作为一个 HYPERLINK / \t _blank 电子爱好者,我也会常常买个开发板回家鼓捣一番,总是对未知充满着好奇。而有时候,当我闲下来,默默凝视它的时候,又觉得它冷冰冰的,像个沉睡的宝宝。 ? ? 在这个激情四射的年纪,我多想让每天陪伴我的“宝宝”能够有一份春意盎然的生机,让我感受她的呼吸,她的心跳。? ?? ?? ? ? ? 。。。。。咳咳。。。此处省略9999个字。。。。。。 ? ? 说点正事儿,那就是如何让你的板子上那颗晶莹剔透的LED,摇身变成一个会呼吸的小精灵,像你智能 HYPERLINK /zhuti_tel_1.html \t _blank 手机上的呼吸灯一样,每一次闪烁都给你暖暖的感觉。 ? ? 现在,电脑前的你,不要犹豫,果断的把下面的干货放到你的CPLD/ HYPERLINK /zhuti_fpga_1.html \t _blank FPGA里吧,瞬间实现你盼望已久的呼吸灯效果,赋予她(LED)生命的气息! 2. 晒干货 例化时,仅需要按您的需求修改代码中带★号的参数? ?ps.?只有一处需要修改哦亲 /***************************************** Declaration *************************************************** File Name: breathe_led.v Function:??实现呼吸灯功能 Author:??Bob Liu E-mail:?? HYPERLINK mailto:shuangfeiyanworld@163.com \t _blank shuangfeiyanworld@163.com? Version: V1.0 Update:??2013-04-07 **********************************************************************************************************/ module breathe_led ( input? ?clk, output reg??led ); parameter FREQUENCE=50_000_000; //★此默认值是基于50MHZ的系统时钟设置的,当您调用此呼吸灯模块的时候, ? ?? ?? ?//??仅仅需要将此值改为连接到clk端口上的实际频率值即可(这样使得呼吸一次的时间为2s),以下所有参数均不需改动;? ? ?? ?? ?//??如果想加快呼吸速度,可减小此值,反之增大此值 parameter??WIDTH=9; reg [WIDTH:0] state0; reg [WIDTH-1:0] state1; //============================================= //控制每个占空比的持续时间 //============================================= reg [31:0] cnt0; always @ (posedge clk) begin if(cnt0==(FREQUENCE/(2**WIDTH))) ??begin ? ?cnt0=0; ? ?state0=state0+1b1; ??end else ??begin ? ?cnt0=cnt0+1b1; ??end end //============================================= //控制占空比增大与减小 //============================================= always @ (posedge clk) begin if(state0[WIDTH]) ??state1=state0[WIDTH-1:0]; else ??state1=~state0[WIDTH-1:0];? end //============================================= //生成与state1进行大小比较的计数器cnt1 //============================================= wire [WIDTH-1:0] time_over; assign time_over={WIDTH{1b1}}; reg [WIDTH-1:0] cnt1; always @ (posedge clk) begin? if(cnt1==time_over) ??begin ? ?cnt1=0; ??end else ??begin ? ?cnt1=cnt1+1b1; ?

文档评论(0)

jiupshaieuk12 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:6212135231000003

1亿VIP精品文档

相关文档