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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2736|回復: 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 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 搞黄网站在线观看 | 免费在线精品视频 | 午夜精品网站 | 国产在视频一区二区三区吞精 | 一区二区三区国产精品 | 99久久免费精品国产男女高不卡 | 国产一级片在线播放 | 亚洲一卡二卡 | 日韩欧美在 | 99久久精品免费看国产免费软件 | 成人免费黄色片 | 欧洲精品一区 | 国户精品久久久久久久久久久不卡 | 91免费小视频 | 亚洲精精品 | 国产精品美女一区二区 | 亚洲综合色视频在线观看 | 欧美1区| 女人精96xxx免费网站p | 国产激情视频在线观看 | 色天堂影院 | 91免费福利在线 | 91小视频在线 | 在线播放国产一区二区三区 | www.国产一区 | 国产精品a久久久久 | 国产精品久久一区二区三区 | 成人福利在线 | 视频一区二区在线观看 | 九九热免费在线观看 | 成人免费观看网站 | 狠狠插狠狠操 | 亚洲一区毛片 | 中文字幕在线一区 | 久久精品一区二区三区四区 | 日本不卡一区二区三区 | 天天射视频 | 国产91在线观看 | 欧美天堂| 亚洲国产精品suv | 欧美另类视频在线 |