中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

深圳網(wǎng)站建設哪家好附子seo

深圳網(wǎng)站建設哪家好,附子seo,胡蘆娃app軟件下載網(wǎng)站,重慶網(wǎng)站建設行業(yè)新聞文章目錄 項目要求項目設計 項目要求 設計一個時鐘秒表,共六個數(shù)碼管,前兩位顯示分鐘,中間兩位顯示時間秒,后兩位顯示毫秒的高兩位,可以通過按鍵來開始、暫停以及重新開始秒表的計數(shù)。 項目設計 為完成此項目共設計…

文章目錄

  • 項目要求
  • 項目設計

項目要求

設計一個時鐘秒表,共六個數(shù)碼管,前兩位顯示分鐘,中間兩位顯示時間秒,后兩位顯示毫秒的高兩位,可以通過按鍵來開始、暫停以及重新開始秒表的計數(shù)。

項目設計

為完成此項目共設計四個模塊,按鍵消抖模塊、時鐘計時器模塊、數(shù)碼管顯示模塊以及頂層文件模塊,詳細代碼設計如下:

按鍵消抖模塊:

/** @Description: 按鍵銷抖模塊(延遲方法銷抖)* @Author: Fu Yu* @Date: 2023-08-01 14:31:19* @LastEditTime: 2023-08-01 16:29:44* @LastEditors: Fu Yu*/module key_filter (input       wire        clk         ,input       wire        rst_n       ,input       wire        key_in      ,//按鍵輸入,低有效output      wire        key_down       //按鍵輸出,高有效
);parameter MAX_20MS = 20'd999_999;//20msreg key_r;//同步
reg key_r1;//打拍
reg key_r2;
wire nedge;//下降沿reg key_down_r;//保存key_down信號reg [19:0]  cnt_20ms;
reg flag;//計數(shù)開始標志信號
wire add_cnt_20ms;
wire end_cnt_20ms;//****************************************************************
//--同步打拍,檢測下降沿
//****************************************************************
always @(posedge clk or negedge rst_n) beginif(!rst_n) beginkey_r <= 1'b1;key_r1 <= 1'b1;key_r2 <= 1'b1;endelse beginkey_r <= key_in;key_r1 <= key_r;key_r2 <= key_r1;end
end//下降沿檢測
assign nedge = ~key_r1 & key_r2;//****************************************************************
//--flag信號定義
//****************************************************************
always @(posedge clk or negedge rst_n) beginif(!rst_n) beginflag <= 1'b0;endelse if(nedge) beginflag <= 1'b1;endelse if(end_cnt_20ms) beginflag <= 1'b0;endelse beginflag <= flag;end
end//****************************************************************
//--計數(shù)
//****************************************************************
always @(posedge clk or negedge rst_n)begin if(!rst_n)begincnt_20ms <= 20'd0;end else if(add_cnt_20ms)begin if(end_cnt_20ms)begin cnt_20ms <= 20'd0;endelse begin cnt_20ms <= cnt_20ms + 1'b1;end end
end assign add_cnt_20ms = flag;
assign end_cnt_20ms = add_cnt_20ms && cnt_20ms == MAX_20MS;//****************************************************************
//--key_down
//****************************************************************
always @(posedge clk or negedge rst_n) beginif(!rst_n) beginkey_down_r <= 1'b0;endelse if(end_cnt_20ms) beginkey_down_r <= ~key_r2;endelse beginkey_down_r <= 1'b0;end
endassign key_down = key_down_r;endmodule //key_filter

時鐘計時器模塊:

/** @Description: 通過輸入的按鍵控制計數(shù)開始與暫停,實現(xiàn)秒表設計(毫秒、秒、分計時)* @Author: Fu Yu* @Date: 2023-08-01 14:46:43* @LastEditTime: 2023-08-01 15:53:12* @LastEditors: Fu Yu*/module counter_time (input       wire        clk         ,input       wire        rst_n       ,input       wire        key_in      ,//銷抖后的脈沖信號,高有效output      wire [23:0] din_out         //輸出當前計數(shù)的值
);parameter MAX_1MS = 16'd49_999;//1ms
parameter MAX_1S = 10'd999;//1ms*1000 = 1s
parameter MAX_1MIN = 6'd59;//1s*60 = 1min
parameter MAX_1H = 6'd59;//1min*60 = 1hreg flag;//開始、暫停結束信號reg [15:0] cnt_1ms;
wire add_cnt_1ms;
wire end_cnt_1ms;reg [9:0] cnt_1s;
wire add_cnt_1s;
wire end_cnt_1s;reg [5:0] cnt_1min;
wire add_cnt_1min;
wire end_cnt_1min;reg [5:0] cnt_1h;
wire add_cnt_1h;
wire end_cnt_1h;reg [7:0] data_min;//保存此時有多少分鐘
reg [7:0] data_s;//保存此時有多少秒
reg [7:0] data_ms;//保存此時有多少毫秒,只取高兩位//****************************************************************
//--flag
//****************************************************************
always @(posedge clk or negedge rst_n) beginif(!rst_n) beginflag <= 1'b0;endelse if (key_in) beginflag <= ~flag;endelse beginflag <= flag;end
end//****************************************************************
//--1ms計數(shù)器
//****************************************************************
always @(posedge clk or negedge rst_n)begin if(!rst_n)begincnt_1ms <= 16'd0;end else if(add_cnt_1ms)begin if(end_cnt_1ms)begin cnt_1ms <= 16'd0;endelse begin cnt_1ms <= cnt_1ms + 1'b1;end end
end assign add_cnt_1ms = flag;
assign end_cnt_1ms = add_cnt_1ms && cnt_1ms == MAX_1MS;//****************************************************************
//--1s計數(shù)器
//****************************************************************always @(posedge clk or negedge rst_n)begin if(!rst_n)begincnt_1s <= 10'd0;end else if(add_cnt_1s)begin if(end_cnt_1s)begin cnt_1s <= 10'd0;endelse begin cnt_1s <= cnt_1s + 1'b1;end end
end assign add_cnt_1s = end_cnt_1ms;
assign end_cnt_1s = add_cnt_1s && cnt_1s == MAX_1S ;
//&& end_cnt_1ms//****************************************************************
//--1min計數(shù)器
//****************************************************************always @(posedge clk or negedge rst_n)begin if(!rst_n)begincnt_1min <= 6'd0;end else if(add_cnt_1min)begin if(end_cnt_1min)begin cnt_1min <= 6'd0;endelse begin cnt_1min <= cnt_1min + 1'b1;end end
end assign add_cnt_1min = end_cnt_1s;
assign end_cnt_1min = add_cnt_1min && cnt_1min == MAX_1MIN ;
//&& end_cnt_1s
//****************************************************************
//--1h計數(shù)器
//****************************************************************
always @(posedge clk or negedge rst_n)begin if(!rst_n)begincnt_1h <= 6'd0;end else if(add_cnt_1h)begin if(end_cnt_1h)begin cnt_1h <= 6'd0;endelse begin cnt_1h <= cnt_1h + 1'b1;end end
end assign add_cnt_1h = end_cnt_1min;
assign end_cnt_1h = add_cnt_1h && cnt_1h == MAX_1H;
// && end_cnt_1min
//****************************************************************
//--din_out
//****************************************************************
always @(posedge clk or negedge rst_n) beginif(!rst_n) begindata_min <= 8'd0;data_s <= 8'd0;data_ms <= 8'd0;endelse begindata_min <= cnt_1h;data_s <= cnt_1min;data_ms <= cnt_1s/10;end
endassign din_out = {data_min,data_s,data_ms};endmodule //counter_time

數(shù)碼管顯示模塊:

/** @Description: 數(shù)碼管顯示時鐘,前兩位顯示分鐘,中間兩位顯示秒,最后兩位顯示毫秒* @Author: Fu Yu* @Date: 2023-08-01 15:19:52* @LastEditTime: 2023-08-01 16:22:40* @LastEditors: Fu Yu*/module seg_sel (input       wire        clk         ,input       wire        rst_n       ,input       wire [23:0] din         ,output      wire [5:0]  sel         ,//位選信號output      wire [7:0]  dig             //段選信號
);parameter MAX_1MS = 16'd49_999;//1msparameter   ZERO  = 7'b100_0000,ONE   = 7'b111_1001,TWO   = 7'b010_0100,THREE = 7'b011_0000,FOUR  = 7'b001_1001,FIVE  = 7'b001_0010,SIX   = 7'b000_0010,SEVEN = 7'b111_1000,EIGHT = 7'b000_0000,NINE  = 7'b001_0000;reg [5:0]   point_n;//小數(shù)點位置
reg point_n_r;reg [15:0] cnt_1ms;
wire add_cnt_1ms;
wire end_cnt_1ms;reg [5:0]   sel_r;
reg [7:0]   dig_r;
reg [3:0]   disp_data   ;//每一位數(shù)碼管顯示的數(shù)值//****************************************************************
//--1ms計數(shù)器
//****************************************************************
always @(posedge clk or negedge rst_n)begin if(!rst_n)begincnt_1ms <= 16'd0;end else if(add_cnt_1ms)begin if(end_cnt_1ms)begin cnt_1ms <= 16'd0;endelse begin cnt_1ms <= cnt_1ms + 1'b1;end end
end assign add_cnt_1ms = 1'b1;
assign end_cnt_1ms = add_cnt_1ms && cnt_1ms == MAX_1MS;//****************************************************************
//--小數(shù)點
//****************************************************************
always @(posedge clk or negedge rst_n) beginif(!rst_n) beginpoint_n <= 6'b111111;endelse beginpoint_n <= 6'b110101;end
end//****************************************************************
//--sel信號
//****************************************************************
always @(posedge clk or negedge rst_n) beginif(!rst_n) beginsel_r <= 6'b111110;endelse if(end_cnt_1ms) beginsel_r <= {sel_r[4:0],sel_r[5]};//循環(huán)左移end
endassign sel = sel_r;//****************************************************************
//--disp_data
//****************************************************************always @(posedge clk or negedge rst_n)begin if(!rst_n)begindisp_data <= 'd0;point_n_r <= 1'b1;end else begin case (sel_r)6'b111_110 : begin disp_data <= din[23:16]/10  ; point_n_r <= point_n[0]; end//第一位數(shù)碼管顯示的數(shù)值6'b111_101 : begin disp_data <= din[23:16]%10  ; point_n_r <= point_n[1]; end6'b111_011 : begin disp_data <= din[15:8]/10 ; point_n_r <= point_n[2]; end6'b110_111 : begin disp_data <= din[15:8]%10 ; point_n_r <= point_n[3]; end6'b101_111 : begin disp_data <= din[7:0]/10 ; point_n_r <= point_n[4]; end6'b011_111 : begin disp_data <= din[7:0]%10 ; point_n_r <= point_n[5]; enddefault: disp_data <= 'd0;endcaseend end//****************************************************************
//--dig
//****************************************************************
always @(*)begin case (disp_data)0 :  dig_r <= {point_n_r,ZERO  };1 :  dig_r <= {point_n_r,ONE   };2 :  dig_r <= {point_n_r,TWO   };3 :  dig_r <= {point_n_r,THREE };4 :  dig_r <= {point_n_r,FOUR  };5 :  dig_r <= {point_n_r,FIVE  };6 :  dig_r <= {point_n_r,SIX   };7 :  dig_r <= {point_n_r,SEVEN };8 :  dig_r <= {point_n_r,EIGHT };9 :  dig_r <= {point_n_r,NINE  };default: dig_r <= 8'hff;endcaseendassign dig = dig_r;endmodule //seg_sel

頂層文件模塊:

module top (input       wire        clk         ,input       wire        rst_n       ,input       wire        key_in      ,output      wire [5:0]  sel         ,output      wire [7:0]  dig             
);wire key;
wire [23:0] data;key_filter u_key_filter(.       clk        (clk) ,.       rst_n       (rst_n),.       key_in      (key_in),.       key_down     (key)
);counter_time u_counter_time(. clk        (clk) ,. rst_n      (rst_n) ,. key_in     (key) ,. din_out      (data)
);seg_sel u_seg_sel(. clk      (clk)   ,. rst_n     (rst_n)  ,. din       (data)  ,. sel        (sel) ,. dig        (dig)  
);endmodule //top

效果展示:

秒表

http://www.risenshineclean.com/news/22455.html

相關文章:

  • 新電商平臺seo整站優(yōu)化吧
  • wordpress 插件被墻免費seo工具
  • 蘇州疫情最新政策seo外鏈資源
  • 淄博張店網(wǎng)站排名優(yōu)化怎么自己做一個網(wǎng)頁
  • 鷹潭做網(wǎng)站自己怎么做網(wǎng)站優(yōu)化
  • 南昌網(wǎng)站seo技術廠家如何做公司網(wǎng)站推廣
  • dedecms建手機網(wǎng)站游戲推廣是什么工作
  • 北京本地服務信息網(wǎng)西安seo站內(nèi)優(yōu)化
  • 永興縣網(wǎng)站建設公司哪家好湖人最新排名最新排名
  • 網(wǎng)站建設怎么記賬手機關鍵詞點擊排名軟件
  • 網(wǎng)站建設相關資料整理的重要性seo快排技術教程
  • nginx即代理又做網(wǎng)站競價托管哪家效果好
  • 國內(nèi)大型php網(wǎng)站建設線上銷售如何找到精準客戶
  • 順德外貿(mào)網(wǎng)站建設2024年新冠疫情最新消息今天
  • 網(wǎng)站收錄了怎么做排名百度關鍵詞是怎么排名靠前
  • 網(wǎng)站的外鏈怎么做免費刷seo
  • b2c的電子信息網(wǎng)站系統(tǒng)清理優(yōu)化工具
  • 泉州制作網(wǎng)站開發(fā)搜索引擎環(huán)境優(yōu)化
  • 企業(yè)網(wǎng)站建設和實現(xiàn) 論文關鍵詞推廣怎么做
  • 西京一師一優(yōu)課建設網(wǎng)站深圳優(yōu)化排名公司
  • 福州免費企業(yè)網(wǎng)站建站更先進的seo服務
  • 網(wǎng)站建設主題與建設目標最火網(wǎng)站排名
  • 濱城區(qū)住房和城鄉(xiāng)建設局網(wǎng)站seo優(yōu)化的優(yōu)點
  • 透視圖在什么網(wǎng)站上可以做企業(yè)網(wǎng)站設計欣賞
  • 北京個人網(wǎng)站建設多少錢西安市seo排名按天優(yōu)化
  • 交流網(wǎng)站建設心得體會百度指數(shù)查詢?nèi)肟?/a>
  • 交互動效庫 網(wǎng)站晨陽seo顧問
  • 網(wǎng)站 建設制作菜鳥教程建網(wǎng)站的流程
  • 金融做網(wǎng)站百度瀏覽器網(wǎng)頁
  • 日本人做爰過程網(wǎng)站南寧網(wǎng)站seo排名優(yōu)化