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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

基于FPGA的秒表程序,可用,diamond

[復制鏈接]
跳轉到指定樓層
樓主

//頂層
module timer_top(
                input         clk_12M,//12Mhz時鐘
                input        reset,//復位
                input        stop,//暫停
                output        [1:0]wela,//位選
                output        [7:0]dula1,//第一個數碼管段選
                output        [7:0]dula2//第二個數碼管段選
                );
        wire [7:0]sec;
               
        time_cnt u1(
                .clk_12M(clk_12M),
                .reset(reset),
                .stop(stop),
                .sec(sec)
                );//例化分頻計數模塊
        
        display u2(
                .clk_12M(clk_12M),
                .sec(sec),
                .wela(wela),
                .dula1(dula1),
                .dula2(dula2)
                );//例化顯示模塊
endmodule

//分頻計數
module time_cnt(
                input         clk_12M,
                input         reset,
                input        stop,
                output        [7:0] sec
                );
/*12M時鐘分頻1s  計數6M次*/

reg [23:0]cnt;
reg clk_1s;

always @(posedge clk_12M or negedge stop)
begin
        if(!stop)//暫停信號為0時有效
                begin
                        cnt <= 0;
                end//停止信號有效時,暫停
        else if(cnt == 24'h5b8d80)//計數為5999999
                        begin
                                clk_1s <= ~clk_1s;
                                cnt <= 0;
                        end
        else
                begin
                        cnt <= cnt+1;
                        clk_1s <= clk_1s;
                end//暫停信號無效時繼續計時
end        

/*用于產生1s的秒表計數*/

reg [7:0]sec_reg=0;

always @(posedge clk_1s or negedge reset)
        begin
                if(!reset)//復位信號為0時有效
                        begin
                                sec_reg <= 0;//復位信號有效時置0
                        end
                else if(sec_reg[3:0] == 4'd9)//秒個位計數到9
                        begin
                                if(sec_reg[7:4] == 4'd5)//秒十位計數到5
                                        begin
                                                sec_reg <= 0;//清0
                                        end        
                                else
                                        begin
                                                sec_reg[7:4] <= sec_reg[7:4] + 1;//秒十位加1
                                                sec_reg[3:0] <= 0;//秒個位清零
                                        end
                        end
                else
                        begin
                                sec_reg[3:0] <= sec_reg[3:0] + 1;
                        end
        end
assign sec = sec_reg;

endmodule

//顯示
module display(
                input        clk_12M,
                input        [7:0]sec,
                output        reg [1:0]wela=0,
                output        reg [7:0]dula1=0,
                output         reg [7:0]dula2=0
                );
               
/*數碼管需要動態掃描,所以產生一個1ms的時鐘*/
reg [12:0]cnt;
reg clk_1ms;
always @(posedge clk_12M)
        begin
                if(cnt == 13'h1770)
                        begin
                                cnt <= 0;
                                clk_1ms <= ~clk_1ms;
                        end
                else
                        begin
                                cnt <= cnt + 1;
                                clk_1ms <= clk_1ms;
                        end
        end
reg state;
reg [3:0]sec_reg1;
reg [3:0]sec_reg2;
always @(posedge clk_1ms)
case(state)//位選
        0:begin
                wela<=2'b01;state<=1;sec_reg2 <= sec[3:0];
          end
        1:begin
                wela<=2'b10;state<=0;sec_reg1 <= sec[7:4];
          end
endcase
always @(posedge clk_12M)
        begin
        case(sec_reg1)
                0:dula1 <= 8'h3f;
                1:dula1 <= 8'h06;
                2:dula1 <= 8'h5b;
                3:dula1 <= 8'h4f;
                4:dula1 <= 8'h66;
                5:dula1 <= 8'h6d;
                6:dula1 <= 8'h7d;
                7:dula1 <= 8'h07;
                8:dula1 <= 8'h7f;
                9:dula1 <= 8'h6f;
        endcase
        end//第一個數碼管段選0~9
always @(posedge clk_12M)
        begin
        case(sec_reg2)
                0:dula2 <= 8'h3f;
                1:dula2 <= 8'h06;
                2:dula2 <= 8'h5b;
                3:dula2 <= 8'h4f;
                4:dula2 <= 8'h66;
                5:dula2 <= 8'h6d;
                6:dula2 <= 8'h7d;
                7:dula2 <= 8'h07;
                8:dula2 <= 8'h7f;
                9:dula2 <= 8'h6f;
        endcase
        end//第二個數碼管段選0~9
endmodule

//測試文件
module timer_tb();
reg clk_12M;
reg stop;
reg reset;
wire [7:0]dula1;
wire [7:0]dula2;
wire [1:0]wela;

timer_top u1(
                .clk_12M(clk_12M),
                .stop(stop),
                .reset(reset),
                .dula1(dula1),
                .dula2(dula2),
                .wela(wela)
                );
                initial
                begin
                        clk_12M=1;
                        reset=0;
                        stop=0;
                        #10 reset=1;stop=1;
                        #20 stop=0;
                        #5        reset=0;
                        #20 $stop;
                end
                always #1 clk_12M=~clk_12M;

endmodule

全部資料51hei下載地址:
timer.zip (677.37 KB, 下載次數: 31)

評分

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

查看全部評分

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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久免费精品视频 | 久久男人 | 精品一区二区三区入口 | 久久r精品 | 国产精品久久亚洲7777 | 精品国产伦一区二区三区观看说明 | 亚洲欧美精品一区 | 6080yy精品一区二区三区 | 日韩欧美国产精品 | 2021天天干夜夜爽 | 国产免费一区二区 | 91免费版在线观看 | 国产精品久久久久久一级毛片 | 久久亚洲精品视频 | 国产99视频精品免视看9 | 国产香蕉视频 | 欧美日韩国产一区二区三区不卡 | 亚洲高清在线 | 黄色三级毛片 | 九九热精品免费 | 欧美中文字幕在线 | 伊人婷婷 | 精品国产伦一区二区三区观看说明 | 在线高清免费观看视频 | 亚洲精品视频二区 | 欧美日韩视频在线第一区 | 丝袜一区二区三区 | 精品国产精品国产偷麻豆 | 波多野结衣一二三区 | 自拍偷拍第一页 | 精品国产一区二区三区久久久四川 | 亚洲日本中文 | 国产japanhdxxxx麻豆 | 国产欧美日韩一区 | 一级片在线视频 | 亚洲一区综合 | 人人人人干 | 欧美中文字幕 | 俺去俺来也www色官网cms | 国产成人免费视频网站高清观看视频 | 2019天天操|