基于FPGA驅(qū)動(dòng)數(shù)碼管_第1頁(yè)
基于FPGA驅(qū)動(dòng)數(shù)碼管_第2頁(yè)
基于FPGA驅(qū)動(dòng)數(shù)碼管_第3頁(yè)
基于FPGA驅(qū)動(dòng)數(shù)碼管_第4頁(yè)
基于FPGA驅(qū)動(dòng)數(shù)碼管_第5頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、Word 文檔驅(qū)動(dòng)數(shù)碼管數(shù)碼管作為一種外設(shè),首先我們需要了解它的工作原理以及它和外設(shè)電路的 對(duì)應(yīng)關(guān)系,七段數(shù)碼管原理圖如下:顧名思義,七段數(shù)碼管就是使用七段點(diǎn)亮的線(xiàn)段來(lái)拼成常見(jiàn)的數(shù)字和某些字 母,這種顯示方式我們?cè)跀?shù)字電路中非常容易見(jiàn)到。再加上右下角顯示的小數(shù)點(diǎn),實(shí) 際上一個(gè)顯示單元包括了8根信號(hào)線(xiàn)。根據(jù)電路設(shè)計(jì)的不同,這些信號(hào)線(xiàn)可能高有效 也可能低有效。我們通過(guò)FPGA控制這些線(xiàn)段的亮滅,達(dá)到顯示效果。對(duì)于多個(gè)數(shù)碼管的顯示模塊,將每一個(gè)都連接到FPGA的管腳會(huì)耗用大量FPGA的管腳資源。因此我們同樣引入一種類(lèi)似矩陣鍵盤(pán)的掃描方式。任何時(shí)刻 我們只使用8根信號(hào)點(diǎn)亮一個(gè)數(shù)碼管,但是8個(gè)數(shù)碼管是隨

2、著時(shí)鐘步調(diào)交替點(diǎn)亮 的,只要時(shí)鐘的速度夠快,我們觀(guān)察到數(shù)碼管就好像幾個(gè)同時(shí)點(diǎn)亮一樣原理圖如下:亶羽參 日日日日日日如圖所示,我們的使用的是六位共陽(yáng)極數(shù)碼管,六個(gè)PNP型三極管分別作為六組數(shù)碼管電源的輸入開(kāi)關(guān),也就是我們常說(shuō)的位選信號(hào), PNP三極管為低電 平導(dǎo)通,所以我們的位選信號(hào)低有效。在這里,為了節(jié)約FPGA的IO資源,我們把 六個(gè)位選信號(hào)連接到了三八譯碼器 74HC138D,該三八譯碼器的真值表如下:FUNCTION TABLEINPUTSOUTPUTSENABLESELECTG1G2AC2BCBAYOY1Y234Y5Y6Y7XHXXXXHHHHHHHHXXHXXXHHHHHHHHLXX

3、XXXHHHHHHHHHLLLLLLHHHHHHHMLLLLHHLHHHHHHHLLLHLHHLHHHHHHLLLHHHHHLHHHHHLLHLLHHHHLHHHHLLHLHHHHHHLHHHLLHHLHHHHHHLHHLLHHHHHHHHHHL由止匕,我們可以得出結(jié)論,當(dāng)SEL2, SEL1, SEL0=3000時(shí),Y0變?yōu)榈碗娖?,而由于Y0連接到了第一個(gè)數(shù)碼管,所以第一個(gè)數(shù)碼管點(diǎn)亮。當(dāng) SEL2,SEL1,SEL0=3b001時(shí),對(duì)應(yīng)第二個(gè)數(shù)碼管點(diǎn)亮,以此類(lèi)推。SEG_0到SEG_7分別對(duì)應(yīng)二極管a-g以及“小數(shù)點(diǎn)”,即我們所說(shuō)的段選信號(hào)。由于是共陽(yáng)極數(shù)碼管,所以 二極管只要給低電平就可以

4、點(diǎn)亮,根據(jù)點(diǎn)亮的二極管不同,就可以顯示出不同 的字符。假如我們要點(diǎn)亮第一個(gè)數(shù)碼管,并且顯示出字符“ A”,那么我們就只需 要選中第一個(gè)數(shù)碼管SEL2, SEL1, SEL0=b000,而且 SEG=8b1000_1000。好了,既然思路和原理已經(jīng)明了于心,那么接下來(lái)我們可以開(kāi)始寫(xiě)驅(qū)動(dòng)代碼,驗(yàn)證思路是否可以實(shí)現(xiàn),首先我們新建工程如下:新建一個(gè)頂層文件,編寫(xiě)模塊框架并保存如下:ThVt m分析開(kāi)發(fā)板對(duì)應(yīng)數(shù)碼管原理圖可知 FPGA只需要輸出位選和段選信號(hào)即可,所以我們可以設(shè)計(jì)如下代碼:系統(tǒng)輸入elk. 5M系統(tǒng)時(shí)鐘輸入 rst_n, 低電平復(fù)位信號(hào) 系統(tǒng)輸出品目,/數(shù)碼管段選sei 數(shù)碼管位選234

5、 -.0 67890/聲明輸入輸出端口input elk; 50M系統(tǒng)時(shí)鐘輸入 input 丁st_n ;/低電平復(fù)位信號(hào)Word3 4 5 6 7 8901234 5 6 7 8111111122222 2 222output reg F二0seg二”瀕碼管段選 output reg 2:0sel : /,常先always(posedge elk or negedge rst n) beginj if ! rst_n) begin! seg=8,bllll 1111:全部熄滅; sel-3J bOOO;I end i else begin選中第一個(gè)數(shù)碼管!bl000000: /檄碼管顯示字符

6、=“endend endmoduleWord 文檔alk ( W=C.won r_nil. 11JA;厘二aj通*第一-T聲明xf 2 ! - 2 1- - P W B H L* 二H”工 X3 :. J - ll PlAW? f:11 W4MIQILT.p411k. “阿岳他打神,3.4l1艮6,犀,物|署/Wv=eBR.物幅旗匕T”*/附用國(guó)用現(xiàn)在我們只是實(shí)現(xiàn)了一個(gè)數(shù)碼管的點(diǎn)亮,如果要讓數(shù)碼管“全部亮起來(lái),并同 時(shí)顯示相同字符”,那我們只能通過(guò)比較快速的切換位選信號(hào)來(lái)實(shí)現(xiàn)這一目的。但是切 換頻率如果過(guò)高,數(shù)碼管顯示也會(huì)出現(xiàn)不穩(wěn)定的狀態(tài),這和器件的工藝有關(guān),我們可 以選擇切換的經(jīng)驗(yàn)頻率0.0

7、1MHZ。那么這時(shí),我們就需要用到鎖相環(huán)PLL來(lái)進(jìn)行分頻,將50MHZ的晶振時(shí)鐘分頻成我們所需要的0.01MHZ。由于鎖相 環(huán)的應(yīng)用前面已經(jīng)有了很詳細(xì)的論述,所以就不再贅述,新建一4PLL IP核如下:點(diǎn)擊 - 垸成。然后新建一個(gè)頂層文件如下:右鍵點(diǎn)擊top.v文件,將其設(shè)置為頂層如下:切換到頂層視圖,可以看到top文件現(xiàn)在為項(xiàng)目的頂層接下來(lái)在top中實(shí)例化PLL和數(shù)碼 管驅(qū)動(dòng)模塊,代碼如下:345ti7fi-yo11.-s456-7s9ol234fiE789nT 5 6 - 8 9 0222229-2333333333j-444444444&2 22223然后更改數(shù)碼管驅(qū)動(dòng)程序,用狀態(tài)機(jī)的顯示,逐步選通每個(gè)位選信號(hào),更改begint rLiii:0 : begin.sel-Jh hOOQ. sxateC1;i end1:beR insel=JJ b(X)l; stat e=.end;hfre i nb010; atate=3; endR:bee in&el=3F bOll;3tate_=4 :9ncl4:bein ael=3b blOO: Tate=3;i i oriel3 * begin.stated =0, endII上門(mén)室經(jīng)編k. dk如0), /CO h系統(tǒng)EF鐘睛入-mi二倍5j 系統(tǒng)輸出* sagCseg),

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論