數(shù)碼管是一種常見的用于顯示的電子器件,根據(jù)數(shù)碼管大致可以分為共陰極和共陽極兩種,下圖所示的是一個共陽極的數(shù)碼管的電路圖(摘自金沙灘工作室的 51 開發(fā)板電路圖),我的 AX301 開發(fā)板與這張圖的情況類似,幾乎所有的教科書上都會講到數(shù)碼管的原理,這里我就不再詳述了。
由于多個數(shù)碼管的段選信號(下圖中的 DB0~DB7)是共用的,想要顯示多個數(shù)字需要用到動態(tài)掃描,動態(tài)掃描電路需要使用時鐘。冒然的使用時鐘會使得初學(xué)者不知所措,所以在這篇基礎(chǔ)的組合邏輯電路中只點亮單個數(shù)碼管,這樣就不必涉及到時鐘了。時鐘、時序邏輯這些概念則會留到后面的章節(jié)中介紹。

由上圖可知,所有的引腳都是低電平有效的,如果想要在上圖中的 DS6 上顯示 8,需要把 LEDS5、DB7 ~ DB10 都置為低電平。
這次我們的實驗?zāi)康氖窃跀?shù)碼管上顯示一個 8,在查看自己開發(fā)板的電路圖后得知,需要將 FPGA 的輸出管腳 SEL0、DIG0~DIG6 設(shè)為低電平(DIG7 為小數(shù)點 DP),需要注意的是 SEL0 控制的是最右邊的數(shù)碼管。
我的開發(fā)板電路圖(摘自 黑金AX301 提供的 PDF 文件):

根據(jù)上面的總結(jié),新建名為 seg 的工程,為了使我們的代碼有一定的通用性,這里用到了參數(shù)聲明。
數(shù)碼管顯示模塊 seg_display 接受輸入信號 num 的值,并轉(zhuǎn)化編碼用于顯示。

頂層模塊 seg(必須和工程同名),在頂層模塊中調(diào)用了 seg_display 顯示模塊,并且告訴 seg_display 模塊需要在 SEL0 上顯示 8,這段代碼如下:

由于工程需要用到的管腳較多,如果手動分配可能會出現(xiàn)錯誤,這里介紹使用 tcl 腳本來分配管腳的方法。
如圖新建一個 TCL 文件:

板子附帶的資料有一個廠家寫好名為 ax301.tcl 的管腳分配文件,粘貼以下內(nèi)容并保存為 ax301.tcl。
可以看到,tcl 文件在第 2 行定義了芯片家族,第 3 行定義芯片型號,第 4 行設(shè)置不用的管腳為三態(tài)……

在 Quartus 主窗口下點擊 Tools,找到以下選項:

運行 tcl 文件。

最后編譯整個工程,編譯結(jié)束后查看管腳分配窗口,可以看到所有的管腳都自動分配成功了。

最后下載 sof 文件到您的板子上,看到您期待的數(shù)字了嗎?(*^__^*) ,此外如需顯示其他的數(shù)字,只需要修改 seg.v 中 num 的值即可。
-
FPGA
+關(guān)注
關(guān)注
1661文章
22440瀏覽量
637340 -
電子器件
+關(guān)注
關(guān)注
2文章
628瀏覽量
33390 -
數(shù)碼管
+關(guān)注
關(guān)注
32文章
1894瀏覽量
94218 -
開發(fā)板
+關(guān)注
關(guān)注
26文章
6320瀏覽量
118908
發(fā)布評論請先 登錄
【EASY EAI Nano-TB(RV1126B)開發(fā)板試用】+串行數(shù)碼管的顯示驅(qū)動
第5章 定時器與數(shù)碼管基礎(chǔ)(5.3)
FZH183 帶鍵盤掃描接口的LED(發(fā)光二極管顯示器)驅(qū)動控制專用電路--方中禾科技
FZH182 帶鍵盤掃描接口的LED(發(fā)光二極管顯示器)驅(qū)動控制專用電路
【瑞薩RA6E2】ADC數(shù)據(jù)采集與數(shù)碼管顯示
FZH181 一種帶鍵盤掃描接口的LED(發(fā)光二極管顯示器)驅(qū)動控制專用電路
原廠 FZH114C 一款LED(發(fā)光二極管、數(shù)碼管、點陣屏)驅(qū)動控制專用芯片
FZH114 LED(發(fā)光二極管、數(shù)碼管、點陣屏)驅(qū)動控制專用芯片,集成數(shù)字通訊電路、 解碼電路、數(shù)據(jù)鎖存器、震蕩器
點陣數(shù)碼管顯示芯片高抗干擾數(shù)顯IC芯片VK1S68C
級聯(lián)動態(tài)掃描顯示數(shù)碼管問題
抗噪數(shù)顯驅(qū)動數(shù)碼管顯示IC芯片VK1616
【應(yīng)用】工業(yè)現(xiàn)場的“智能顯示管家”:億佰特EID051-1xx系列 Modbus數(shù)碼管解析
FPGA設(shè)計之共陽極的數(shù)碼管的電路圖
評論