七段數(shù)碼管的動態(tài)顯示_第1頁
七段數(shù)碼管的動態(tài)顯示_第2頁
七段數(shù)碼管的動態(tài)顯示_第3頁
七段數(shù)碼管的動態(tài)顯示_第4頁
七段數(shù)碼管的動態(tài)顯示_第5頁
已閱讀5頁,還剩3頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、七段數(shù)碼管的動態(tài)顯示1、實(shí)驗(yàn)內(nèi)容:數(shù)碼管的動態(tài)顯示利用實(shí)驗(yàn)板上的某四位數(shù)碼管依次顯示 16 進(jìn)制的0000FFFF。為實(shí)現(xiàn)功能重用的目的,我們?nèi)匀粚⑾到y(tǒng)劃分為幾個部分:(1)時鐘分頻模塊:將開發(fā)板上的 50MHz 高速時鐘進(jìn)行分頻產(chǎn)生一個5Hz 的時鐘用于計數(shù)。(2)計數(shù)模塊:實(shí)現(xiàn)從 0000FFFF 的計數(shù)功能。用4位十六進(jìn)制數(shù)來實(shí)現(xiàn),其中 1512 位表示十六進(jìn)制數(shù)的最高位,118 位表示次高位,74 位表示次低位,30位表示最低位(3)數(shù)碼管動態(tài)顯示模塊:將計數(shù)模塊的輸出作為顯示字符的輸入值,分時送出相應(yīng)段碼,實(shí)現(xiàn)數(shù)碼管的動態(tài)顯示效果。2、參考程序:module SegDynamicDi

2、sp(CLK,rst_n,SEG0,SEG1,SEG2,SEG3);/數(shù)碼管動態(tài)顯示模塊? input CLK;input rst_n;output 7:0SEG0;/定義輸出數(shù)碼管0的段碼帶output 7:0SEG1;/定義輸出數(shù)碼管1的段碼帶output 7:0SEG2;/定義輸出數(shù)碼管2的段碼帶output 7:0SEG3;/定義輸出數(shù)碼管3的段碼帶/.reg 7:0SEG0;/定義輸出數(shù)碼管0的段碼帶reg 7:0SEG1;/定義輸出數(shù)碼管1的段碼帶reg 7:0SEG2;/定義輸出數(shù)碼管2的段碼帶reg 7:0SEG3;/定義輸出數(shù)碼管3的段碼帶/.parameter seg0=8

3、'hC0,seg1=8'hF9,seg2=8'hA4,seg3=8'hB0,seg4=8'h99,seg5=8'h92,seg6=8'h82,seg7=8'hF8,seg8=8'h80,seg9=8'h90,sega=8'h88,segb=8'h83,segc=8'hC6,segd=8'hA1,sege=8'h86,segf=8'h8E;/.reg23:0 cnt;/定義計數(shù)寄存器,用來實(shí)現(xiàn)定時的功能reg 15:0counter;/定義計數(shù)寄存器,用于實(shí)現(xiàn)顯示的數(shù)值

4、always (posedge CLK or negedge rst_n)/計數(shù)過程,記錄當(dāng)前顯示的位選序號 if(!rst_n)begincnt<=24'D0;/復(fù)位時cnt初始化為0counter<=2'b00;/復(fù)位時counter初始化為0endelsebegincnt<=cnt+1'b1;/實(shí)現(xiàn)計數(shù)的功能if(cnt=24'D10000000)begincnt<=0;/當(dāng)達(dá)到計數(shù)值以后回復(fù)初始值counter<=counter+1;/當(dāng)達(dá)到計時時間以后顯示的數(shù)值也相應(yīng)的+1 endend/.always (posedge

5、CLK or negedge rst_n)if(!rst_n)beginSEG0<=0;SEG1<=0;SEG2<=0;SEG3<=0;endelsealways (counter)begincase(counter3:0)4'h0: sm_dbr <= seg0;4'h1: sm_dbr <= seg1;4'h2: sm_dbr <= seg2;4'h3: sm_dbr <= seg3;4'h4: sm_dbr <= seg4;4'h5: sm_dbr <= seg5;4'h6

6、: sm_dbr <= seg6;4'h7: sm_dbr <= seg7;4'h8: sm_dbr <= seg8;4'h9: sm_dbr <= seg9; 4'ha: sm_dbr <= sega;4'hb: sm_dbr <= segb;4'hc: sm_dbr <= segc;4'hd: sm_dbr <= segd;4'he: sm_dbr <= sege;4'hf: sm_dbr <= segf;default: ;endcasecase(count

7、er7:4)4'h0: sm_dbr <= seg0;4'h1: sm_dbr <= seg1;4'h2: sm_dbr <= seg2;4'h3: sm_dbr <= seg3;4'h4: sm_dbr <= seg4;4'h5: sm_dbr <= seg5;4'h6: sm_dbr <= seg6;4'h7: sm_dbr <= seg7;4'h8: sm_dbr <= seg8;4'h9: sm_dbr <= seg9;4'ha: sm_d

8、br <= sega;4'hb: sm_dbr <= segb;4'hc: sm_dbr <= segc;4'hd: sm_dbr <= segd;4'he: sm_dbr <= sege;4'hf: sm_dbr <= segf;default: ;endcasecase(counter11:8)4'h0: sm_dbr <= seg0;4'h1: sm_dbr <= seg1;4'h2: sm_dbr <= seg2;4'h3: sm_dbr <= seg3;

9、4'h4: sm_dbr <= seg4;4'h5: sm_dbr <= seg5; 4'h6: sm_dbr <= seg6; 4'h7: sm_dbr <= seg7; 4'h8: sm_dbr <= seg8; 4'h9: sm_dbr <= seg9; 4'ha: sm_dbr <= sega; 4'hb: sm_dbr <= segb; 4'hc: sm_dbr <= segc; 4'hd: sm_dbr <= segd; 4'he: s

10、m_dbr <= sege; 4'hf: sm_dbr <= segf; default: ;endcasecase(counter15:12)4'h0: sm_dbr <= seg0; 4'h1: sm_dbr <= seg1; 4'h2: sm_dbr <= seg2; 4'h3: sm_dbr <= seg3; 4'h4: sm_dbr <= seg4; 4'h5: sm_dbr <= seg5; 4'h6: sm_dbr <= seg6; 4'h7: sm_db

11、r <= seg7; 4'h8: sm_dbr <= seg8; 4'h9: sm_dbr <= seg9; 4'ha: sm_dbr <= sega; 4'hb: sm_dbr <= segb; 4'hc: sm_dbr <= segc; 4'hd: sm_dbr <= segd; 4'he: sm_dbr <= sege; 4'hf: sm_dbr <= segf; default: ;endcaseendendmodule3、接口:clk-PIN_N2rst_n-PIN_

12、N25SEG00-PIN_AF10 SEG01-PIN_AB12SEG02-PIN_AC12SEG03-PIN_AD11SEG04-PIN_AE11SEG05-PIN_V14SEG06-PIN_V13SEG10-PIN_V20SEG11-PIN_V21SEG12-PIN_W21SEG13-PIN_Y22SEG14-PIN_AA24SEG15-PIN_AA23SEG16-PIN_AB24SEG20-PIN_AB23SEG21-PIN_V22SEG22-PIN_AC25SEG23-PIN_AC26SEG24-PIN_AB26SEG25-PIN_AB25SEG26-PIN_Y24SEG30-PIN_

13、Y23SEG31-PIN_AA25SEG32-PIN_AA26SEG33-PIN_Y26SEG34-PIN_Y25SEG35-PIN_U22SEG36-PIN_W244、上機(jī)程序module SegDynamicDisp(CLK,rst_n,SEG0,SEG1,SEG2,SEG3); input CLK;input rst_n;output 6:0SEG0;output 6:0SEG1;output 6:0SEG2;output 6:0SEG3;reg 6:0SEG0;reg 6:0SEG1;reg 6:0SEG2;reg 6:0SEG3;/.以上是定義的一些輸入輸出接口. parameter

14、 seg0=7'hC0,seg1=7'hF9,seg2=7'hA4,seg3=7'hB0,seg4=7'h99,seg5=7'h92,seg6=7'h82,seg7=7'hF8,seg8=7'h80,seg9=7'h90,sega=7'h88,segb=7'h83,segc=7'hC6,segd=7'hA1,sege=7'h86,segf=7'h8E;/.以上是定義的參數(shù),用來標(biāo)記段代碼. reg23:0 cnt;reg 15:0counter;always (pos

15、edge CLK or negedge rst_n)if(!rst_n)begincnt<=24'D0;counter<=2'b00;endelsebegincnt<=cnt+1'b1;if(cnt=24'D10000000)begincnt<=0;counter<=counter+1;endend/.用來實(shí)現(xiàn)計數(shù)功能和控制數(shù)字遞增的速度. always (counter)begincase(counter3:0)4'h0: SEG0 <= seg0; 4'h1: SEG0 <= seg1; 4'

16、h2: SEG0 <= seg2; 4'h3: SEG0 <= seg3; 4'h4: SEG0 <= seg4; 4'h5: SEG0 <= seg5; 4'h6: SEG0 <= seg6; 4'h7: SEG0 <= seg7; 4'h8: SEG0 <= seg8; 4'h9: SEG0 <= seg9; 4'ha: SEG0 <= sega; 4'hb: SEG0 <= segb; 4'hc: SEG0 <= segc; 4'hd:

17、 SEG0 <= segd; 4'he: SEG0 <= sege; 4'hf: SEG0 <= segf; default: ; endcasecase(counter7:4)4'h0: SEG1 <= seg0; 4'h1: SEG1 <= seg1; 4'h2: SEG1 <= seg2; 4'h3: SEG1 <= seg3; 4'h4: SEG1 <= seg4; 4'h5: SEG1 <= seg5; 4'h6: SEG1 <= seg6; 4'

18、;h7: SEG1 <= seg7; 4'h8: SEG1 <= seg8; 4'h9: SEG1 <= seg9; 4'ha: SEG1 <= sega; 4'hb: SEG1 <= segb; 4'hc: SEG1 <= segc; 4'hd: SEG1 <= segd; 4'he: SEG1 <= sege; 4'hf: SEG1 <= segf; default: ; endcasecase(counter11:8)4'h0: SEG2 <= seg0;

19、4'h1: SEG2 <= seg1; 4'h2: SEG2 <= seg2; 4'h3: SEG2 <= seg3;4'h4: SEG2 <= seg4;4'h5: SEG2 <= seg5;4'h6: SEG2 <= seg6;4'h7: SEG2 <= seg7;4'h8: SEG2 <= seg8;4'h9: SEG2 <= seg9;4'ha: SEG2 <= sega;4'hb: SEG2 <= segb;4'hc: SEG2 <= segc;4'hd: SEG2 <

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論