Verilog HDL語言 四位數(shù)字頻率計 課程設(shè)計_第1頁
Verilog HDL語言 四位數(shù)字頻率計 課程設(shè)計_第2頁
Verilog HDL語言 四位數(shù)字頻率計 課程設(shè)計_第3頁
Verilog HDL語言 四位數(shù)字頻率計 課程設(shè)計_第4頁
Verilog HDL語言 四位數(shù)字頻率計 課程設(shè)計_第5頁
已閱讀5頁,還剩1頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、1、設(shè)計目的和要求1、設(shè)計一個4位十進制數(shù)字頻率計。2、測量范圍19999Hz,采用4位數(shù)碼管顯示,有溢出指示。3、量程有1KHz,1MHz兩檔,用LED燈指示。4、讀數(shù)大于9999時,頻率計處于超量程狀態(tài),發(fā)出溢出指示,下次量程,量程自動增大一檔。5、讀數(shù)小時,頻率計處于前量程狀態(tài),下次測量,量程自動減小一檔。6、采用記憶顯示方式,在計數(shù)與顯示電路中間加以鎖存電路,每次計數(shù)結(jié)束,將計數(shù)結(jié)果送鎖存器鎖存,并保持到下一個計數(shù)結(jié)束。2、設(shè)計原理1、基本原理頻率測量的基本原理是計算每秒鐘內(nèi)待測信號的脈沖個數(shù)。這就要求sysclk能產(chǎn)生一個1s脈寬的周期信號,并對頻率計的每一個計數(shù)器cntp的使能端進

2、行同步控制。當clK_cnt高電平時允許計數(shù),并保持其所計的數(shù)。在停止計數(shù)期間,首先需要一個鎖存信號將計數(shù)器在前1s的計數(shù)值鎖存進鎖存器reg中,并由外部的7段譯碼器譯出并穩(wěn)定顯示。原理圖如圖1-1脈沖形成模塊計數(shù)模塊譯碼模塊控制模塊分頻模塊量程切換模塊被測信號鎖存清零使能基準信號圖1-12、模塊原理根據(jù)數(shù)字頻率計的基本原理,本文設(shè)計方案的基本思想是分為五個模塊來實現(xiàn)其功能,即整個數(shù)字頻率計系統(tǒng)分為分頻模塊、控制模塊、計數(shù)模塊、譯碼模塊和量程自動切換模塊等幾個單元,并且分別用VHDL對其進行編程,實現(xiàn)了閘門控制信號、計數(shù)電路、鎖存電路、顯示電路等。3、設(shè)計內(nèi)容1、分頻模塊由于晶體振蕩器提供的為

3、50MHz的時鐘,而在整個頻率計里將用到周期為2s,半個周期為1s的閘門信號,所以我們在此模塊先分頻產(chǎn)生0.5Hz的分頻信號。always(posedge sysclk)beginif(cnt=26b10_1111_1010_1111_0000_1000_0000)begin clk_cnt<=clk_cnt;cnt<=0;endelsebegin cnt<=cnt+1;endend二進制的26b10_1111_1010_1111_0000_1000_0000,即為十進制的50x107,由程序中的clk_cnt<=clk_cnt;cnt<=0;得知會產(chǎn)生我們想要的

4、周期為2s的clk_int信號。仿真結(jié)果如圖1-2.圖1-22、 4位十進制計數(shù)器模塊4位十進制計數(shù)器模塊包含4位十進制的計數(shù)器,用來對施加到時鐘脈沖輸入端的待測信號產(chǎn)生的脈沖進行計數(shù),十進制計數(shù)器具有清零控制和進位擴展輸出的功能。always(posedge clkint)beginif(clk_cnt)beginif(cntp1=b1001)begin cntp1<=b0000; cntp2<=cntp2+1;if(cntp2=b1001)begin cntp2<=b0000; cntp3<=cntp3+1;if(cntp3=b1001)begin cntp3<

5、;=b0000; cntp4<=cntp4+1;if(cntp4=b1001)begin cntp4<=b0000; led=1;本程序采用的是以累加的方法結(jié)合巧妙地if語句進行四重循環(huán),實現(xiàn)四位十進制不同的高低級別,實現(xiàn)計數(shù)。一位十進制原理圖仿真如圖1-3。圖1-3四位十進制原理圖仿真如圖1-4。圖1-43、鎖存模塊如果計數(shù)器輸出直接與譯碼器相連接,那么在計數(shù)過程中輸出端則隨輸入脈沖數(shù)的增加而不斷跳變,那么顯示數(shù)碼管則也會不斷閃爍跳變,讓人不能看到穩(wěn)定的輸出,設(shè)鎖存器后,則不再跳變,便可清晰讀出計數(shù)結(jié)果。其生成的功能模塊如圖所示:if(cntp1!=b0000|cntp2!=b0

6、000|cntp3!=b0000|cntp4!=b0000)begincntq1<=cntp1;cntq2<=cntp2;cntq3<=cntp3;cntq4<=cntp4; cntp1<='b0000;cntp2<=b0000;cntp3<=b0000;cntp4<=b0000;4、動態(tài)掃描模塊本設(shè)計采用掃描方式來實現(xiàn)LED數(shù)碼管動態(tài)顯示,控制好數(shù)碼管之間的延遲時間相當重要。根據(jù)人眼視覺暫留原理,LED數(shù)碼管每秒導(dǎo)通16次以上,人眼就無法LED數(shù)碼管短暫的不亮,認為是一直點亮的(其實LED數(shù)碼管是以一定頻率在閃動的)。但是,延時(導(dǎo)通頻

7、率)也不是越小越好,因為LED數(shù)碼管達到一定亮度需要一定時間。如果延時控制的不好則會出現(xiàn)閃動,或者亮度不夠,根據(jù)經(jīng)驗,延時0.005S可以達到滿意的效果。另外,顯示的字符有變化時,可在延時到達后送一個地電平(共陰極數(shù)碼管)LED數(shù)碼管先短暫熄滅,再顯示一個字符,可使在視覺上字符的變化更清楚。begincase(cnt14:13)'b00:begin scan<=b00000001;dat<=cntq1; end'b01:begin scan<=b00000010;dat<=cntq2; end'b10:begin scan<=b000001

8、00;dat<=cntq3; end'b11:begin scan<=b00001000;dat<=cntq4; enddefault:begin scan<=bx;dat<=bx; end5、譯碼模塊譯碼模塊是對計數(shù)出的數(shù)進行譯碼顯示出來。 endcasecase(dat3:0)4b0000:begin seg76:0=7b1111110:end4b0001:seg76:0=7b0110000;4b0010:seg76:0=7b1101101;4b0011:seg76:0=7b1111001;4b0100:seg76:0=7b0110011;4b0101

9、:seg76:0=7b1011011;4b0110:seg76:0=7b1011111;4b0111:seg76:0=7b1110000;4b1000:seg76:0=7b1111111;4b1001:seg76:0=7b1111011;default:seg76:0=bX;其中分別對應(yīng)著十進制的09這是個數(shù)字。6、編譯仿真最后的程序的編譯仿真結(jié)果如圖1-5。圖1-5附錄1: module cymometer(seg7,scan,sysclk,clkin);output6:0seg7;output7:0scan;output led;reg led;input sysclk; /20MHz時鐘

10、信號input clkin;reg6:0seg7;reg7:0scan;reg25:0cnt;reg clk_cnt;reg2:0cntp1,cntp2,cntp3,cntp4;reg2:0cntq1,cntq2,cntq3,cntq4;reg3:0dat;always(posedge sysclk)beginif(cnt=26b1_0111_1101_0111_1000_0100_0000)begin clk_cnt<=clk_cnt;cnt<=0;endelsebegin cnt<=cnt+1;endendalways(posedge clkint)beginif(clk

11、_cnt)beginif(cntp1=b1001)begin cntp1<=b0000; cntp2<=cntp2+1;if(cntp2=b1001)begin cntp2<=b0000; cntp3<=cntp3+1;if(cntp3=b1001)begin cntp3<=b0000; cntp4<=cntp4+1;if(cntp4=b1001)begin cntp4<=b0000; led=1;endendendendelse begin cntp1<=cntp+1;endendelse beginif(cntp1!=b0000|cntp2!

12、=b0000|cntp3!=b0000|cntp4!=b0000 |)begincntq1<=cntp1;cntq2<=cntp2;cntq3<=cntp3;cntq4<=cntp4; cntp1<='b0000;cntp2<=b0000;cntp3<=b0000;cntp4<=b0000; endendendalwaysbegincase(cnt14:13)'b00:begin scan<=b00000001;dat<=cntq1; end'b01:begin scan<=b00000010;dat<=cntq2; end'b10:begin scan<=b00000100;dat<=cntq3; end'b11:begin scan<=b00001000;dat<=cntq4; enddefault:begin scan<=bx;dat<=bx; endendcasecase(dat3:0)4b0000:begin seg76:0=7b1111110:end4b0001:seg76:0=7b0110000;4b0010:seg76:0=7b1101101;4b0011:seg

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論