久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3136|回復: 0
打印 上一主題 下一主題
收起左側

FPGA Verilog呼吸燈程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:471101 發表于 2019-11-8 14:26 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
Verilog程序,實現LED逐漸變亮逐漸變暗功能
  1. /*-----------------------------------------------------------
  2. filename:Breath_led.v
  3. Author: Terry
  4. Data:2019-02-17
  5. Version:0.1
  6. Description: ??????

  7. ----------------------------------------------------------------*/

  8. module Breath_led (
  9.                  input wire sys_clk,
  10.                  input wire reset,
  11.                  output reg [3:0]one_led,
  12.                  output reg o_1Mhz );

  13.         parameter END_CNT1=99,
  14.                    END_CNT2=999,
  15.                     END_CNT3=999;
  16.    reg [6:0] count_1Mhz;  //49
  17.         reg [10:0] count_1Khz; //999
  18.         reg [10:0] count_1hz;  //999   
  19.         reg       flag_1khz;
  20.         reg       flag_state;
  21.       //     0-49???????
  22.                   
  23.    always @(posedge sys_clk or negedge reset )
  24.                     if (reset==0)
  25.                       count_1Mhz <= 0;
  26.                    else if(count_1Mhz==END_CNT1)
  27.                   count_1Mhz <= 0;
  28.             else
  29.                   count_1Mhz <= count_1Mhz+1;     
  30.                   
  31.       //    1MHZ???????? ?????????????????????

  32.         always @(posedge sys_clk or negedge reset )
  33.                     if (reset==0)
  34.                        o_1Mhz <= 0;
  35.                    else if(count_1Mhz==END_CNT1)
  36.                    o_1Mhz <= 1;
  37.             else
  38.                    o_1Mhz <= 0;
  39.                   
  40.       //    ??1MHZ???м??? 1000??

  41.         always @(posedge sys_clk or negedge reset )
  42.                     if (reset==0)
  43.                        count_1Khz <= 0;
  44.                    else if((o_1Mhz==1)&&(count_1Khz==END_CNT2))
  45.                          begin
  46.                    count_1Khz <= 0;
  47.                    flag_1khz <= 1;
  48.                   end
  49.                   
  50.             else if(o_1Mhz==1)
  51.                    count_1Khz <= count_1Khz+1;
  52.             else   
  53.                    begin
  54.                    count_1Khz <= count_1Khz;
  55.                    flag_1khz <= 0;
  56.                    end
  57.    
  58.          //    ??flag_1khz???????м??? 1000??

  59.         always @(posedge sys_clk or negedge reset )
  60.                     if (reset==0)
  61.                           begin
  62.                        count_1hz <= 0;
  63.                                  flag_state <=0;
  64.                           end
  65.                    else if((flag_1khz==1)&&(count_1hz==END_CNT3))  
  66.                    begin                        
  67.                    count_1hz <= 0;
  68.                                                  flag_state <=~flag_state;
  69.                    end
  70.             else if(flag_1khz==1)
  71.                    count_1hz <= count_1hz+1;
  72.             else   
  73.                    begin
  74.                    count_1hz <= count_1hz;
  75.              //      flag_1khz <= 0;         //同一個寄存器在兩個always中賦值會出錯
  76.                    end   
  77.         // ??????            
  78.       always @(posedge sys_clk or negedge reset )
  79.                     if (reset==0)
  80.                        one_led <= 0;
  81.            else if ((count_1Khz>count_1hz)&&(flag_state==1))
  82.                    one_led <=4'b1111 ;
  83.            else if ((count_1Khz>count_1hz)&&(flag_state==0))
  84.                    one_led <=4'b0000 ;
  85.                      else if ((count_1Khz<=count_1hz)&&(flag_state==1))
  86.                    one_led <=4'b0000;
  87.            else if ((count_1Khz<=count_1hz)&&(flag_state==0))
  88.                    one_led <=4'b1111 ;                                 
  89.            else
  90.                   one_led<=one_led;

  91. endmodule                                                
復制代碼
全部資料51hei下載地址:
Breath_led.rar (3.06 MB, 下載次數: 30)

評分

參與人數 1黑幣 +50 收起 理由
admin + 50 共享資料的黑幣獎勵!

查看全部評分

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏2 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 中文一区二区 | 国产精品成av人在线视午夜片 | 中文字幕综合在线 | 天天噜天天干 | 激情五月婷婷在线 | 成人黄色在线观看 | 久久久久久国 | 午夜影晥 | 久久精品国产免费一区二区三区 | 欧美一级欧美三级在线观看 | 久久精品1 | 69堂永久69tangcom | 九九免费在线视频 | 在线视频一区二区 | 国产午夜精品一区二区 | 亚洲精品免费在线观看 | 欧美在线日韩 | 先锋资源在线 | 欧美国产中文字幕 | 99亚洲国产精品 | 91麻豆精品国产91久久久久久久久 | 国产女人与拘做受免费视频 | 国产精品国产三级国产aⅴ中文 | 成人福利网| 久草热线 | 国产极品车模吞精高潮呻吟 | 国产精品99久久久久久宅男 | 激情 一区 | 久久在线免费 | 免费看啪啪网站 | 亚洲免费一区 | www.久久 | 日韩精品在线播放 | 国产日韩免费观看 | 久久久久久久综合 | 国产精品美女久久久 | 国产午夜精品一区二区三区四区 | 黄免费观看 | 欧美日韩一区二区三区在线观看 | 狠狠干网站 | 中文字幕国产 |