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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

FPGA 400進制 8倍計數器代碼

[復制鏈接]
跳轉到指定樓層
樓主
ID:537367 發表于 2019-5-13 20:35 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
module QQ(clk,clk_out);
input clk;
output reg clk_out;
reg [31:0] cnt;
always@(posedge clk)
  begin
          if(cnt<=5000000)
                begin
                   clk_out<=0;
                       cnt<=cnt+1;
                end
              elseif((cnt>2500000)&&(cnt<5000000))
                begin
                  clk_out<=1;
                      cnt<=cnt+1;
                end
              else
       begin
                   clk_out<=1;
                       cnt<=0;
                end
       end  
endmodule
module QQQ(clk,count_c,counter_out);
input clk;
output reg count_c;
output reg [7:0] counter_out;
reg current_state;
reg next_state;
always@( current_state)
begin
    case(current_state)
            1'b0:
                  begin
                         count_c=0;                         if(counter_out<58)
                               next_state=0;
                             else
                               next_state=1;
                      end
                1'b1:
                  begin
                         next_state=0;
                             count_c=1;
                      end
                default:
                  begin
                      end
         endcase
  end
always@(posedge clk)
  begin
          current_state<=next_state;
               if(counter_out<58)
               counter_out<=counter_out+1;
              else
               counter_out<=0;
       end
endmodule
module smg(
input clk,
input count_c,
input [7:0]counter_out,
output [7:0]duan,//數碼管段選
output [2:0]wei//數碼管位選  
        );
reg [32:0] cnt;// 時鐘分頻計數器
parameter system_clk = 50_000_000;
localparam cnt1_MAX = system_clk/1000/2-1;
reg [14:0] cnt1;   //分頻計數器
reg clk_1k;         //掃描時鐘,1KHz
reg [2:0]flag_wei;     //數碼管位選
reg [7:0]flag_duan;     //數碼管段選
reg [3:0]disp_data; //單位顯示數據緩存
reg [32:0]flagf1;
reg [32:0]flagm1;
reg [32:0]flagm2;
//1KHz時鐘分頻計數器
always@(posedge clk)
begin
  if(cnt1==cnt1_MAX)cnt1<=0;
  else cnt1<=cnt1+1'b1;
end
//得到1KHz時鐘
always@(posedge clk)
if(cnt1==cnt1_MAX)
  clk_1k<=~clk_1k;
always@(posedge clk)
begin
  if(clk)
     begin
        flagm2<=counter_out/10;//個位
        flagm1<=counter_out%10;//十位
        flagf1<=count_c;
     end
end  
   
//位選信號控制
always@(posedge clk_1k)
  if(flag_wei == 3'd5)
     flag_wei<=3'd0;
  else
     flag_wei<=flag_wei+1'b1;
//根據不同的數碼管位選擇不同的待顯示數據
always@(*)
begin
  case(flag_wei)
     3'd0:disp_data<=0;
     3'd1:disp_data<=0;
     3'd2:disp_data<=0;
     3'd3:disp_data<=flagf1;
     3'd4:disp_data<=flagm2;
     3'd5:disp_data<=flagm1;
     default :disp_data<=4'd0;
  endcase
end
//顯示小數點,分割時分秒
always @ (*)
begin
       case(flag_wei)  
              0: flag_duan[7] = 1'b1;                                 
              1: flag_duan[7] = 1'b1;                                 
              2: flag_duan[7] = 1'b1;                                   
              3: flag_duan[7] = 1'b1;                                 
              4: flag_duan[7] = 1'b1;                                   
              5: flag_duan[7] = 1'b1;                                   
              default: flag_duan[7] = 1'b1;                          
              
       endcase      
end
//數據譯碼,將待顯示數據翻譯為符合數碼管顯示的編碼
always@(*)
begin
  case(disp_data)
     4'd0:       flag_duan[6:0]=7'b1000000;
     4'd1:      flag_duan[6:0]=7'b1111001;
     4'd2:      flag_duan[6:0]=7'b0100100;
     4'd3:      flag_duan[6:0]=7'b0110000;
     4'd4:      flag_duan[6:0]=7'b0011001;
     4'd5:      flag_duan[6:0]=7'b0010010;
      4'd6:      flag_duan[6:0]=7'b0000010;
     4'd7:      flag_duan[6:0]=7'b1111000;
     4'd8:      flag_duan[6:0]=7'b0000000;
     4'd9:      flag_duan[6:0]=7'b0010000;
     default :  flag_duan[6:0]=7'b1111111;
  endcase
end
assign wei = flag_wei;
assign duan = flag_duan;
endmodule

評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91在线看| 成人免费在线视频 | 国产 日韩 欧美 中文 在线播放 | 国产亚洲一区二区精品 | 国产成人网| 国产乱人伦 | 午夜免费福利片 | 欧美极品少妇xxxxⅹ免费视频 | 久久久毛片| 欧美精品v国产精品v日韩精品 | 黄在线| 性生活毛片 | 日一区二区 | 精品乱码一区二区三四区 | 国产精品国产成人国产三级 | 九九爱这里只有精品 | 一区二区三区在线免费看 | 国产日韩精品一区二区 | 涩涩视频大全 | 91免费在线视频 | 国产日韩欧美中文字幕 | 欧美日韩最新 | 91成人免费观看 | 天天操天天干天天曰 | 亚洲国产精品99久久久久久久久 | 成人a免费| 日本一区二区三区在线观看 | 成人伊人网| 国产一区二区三区 | 成人一级视频在线观看 | 久久不射网 | 国产免费观看久久黄av片涩av | 毛片免费看 | 伊人在线 | 国产四虎 | 午夜小电影 | 99成人| 黑人巨大精品欧美黑白配亚洲 | 亚洲精品高清视频 | 中文字幕一区二区三区四区五区 | 日韩毛片免费看 |