FPGA對(duì)LED顯示器_第1頁(yè)
FPGA對(duì)LED顯示器_第2頁(yè)
FPGA對(duì)LED顯示器_第3頁(yè)
FPGA對(duì)LED顯示器_第4頁(yè)
FPGA對(duì)LED顯示器_第5頁(yè)
已閱讀5頁(yè),還剩8頁(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、8.2 FPGA對(duì)LED顯示器的控制 1LED數(shù)碼管的工作原理 LED數(shù)碼管用8段發(fā)光二極管來(lái)顯示數(shù)字,每一段都是一個(gè)發(fā)光二極管,如圖8.2.1所示。一般把所有段的相同一端相連,連接到地(共陰極接法)或者是連接到電源(共陽(yáng)極接法)。 共陰LED數(shù)碼管的公共端連接到地,另一端分別接一個(gè)限流電阻后再接到控制電路的信號(hào)端,當(dāng)信號(hào)端為高電平時(shí),該段即被點(diǎn)亮,否則不亮。共陽(yáng)極接法則相反,公共端連接到電源,另一端分別接一個(gè)限流電阻后再接到控制電路的信號(hào)端,只有信號(hào)端為低電平時(shí)才被點(diǎn)亮,否則不亮。2在數(shù)字邏輯電路中,可用74LS48(共陽(yáng))/74LS49(共陰)譯碼驅(qū)動(dòng)電路來(lái)控制LED顯示。在FPGA中,用

2、硬件描述語(yǔ)言設(shè)計(jì)一個(gè)譯碼驅(qū)動(dòng)器,例如進(jìn)行一個(gè)74LS48的功能設(shè)計(jì)。由于FPGA和硬件描述語(yǔ)言的靈活性,可以設(shè)計(jì)出能顯示更多內(nèi)容的譯碼驅(qū)動(dòng)模塊。 3FPGA實(shí)現(xiàn)LED靜態(tài)顯示控制運(yùn)用硬件描述語(yǔ)言(如VHDL)設(shè)計(jì)一個(gè)顯示譯碼驅(qū)動(dòng)器,即將要顯示的字符譯成8段碼。由于FPGA有相當(dāng)多的引腳端資源,如果顯示的位數(shù)N較少,可以直接使用靜態(tài)顯示方式,即將每一個(gè)數(shù)碼管都分別連接到不同的8個(gè)引腳線(xiàn)上,共需要8N條引腳線(xiàn)控制,如左圖所示。4采用FPGA實(shí)現(xiàn)LED數(shù)碼管動(dòng)態(tài)顯示控制N個(gè)LED數(shù)碼管以靜態(tài)方式顯示時(shí),需用到8N條引腳線(xiàn)。在較為復(fù)雜的系統(tǒng)中,F(xiàn)PGA的引腳端資源是有限的。因此對(duì)于多個(gè)LED數(shù)碼管顯示

3、,可以采用掃描方式來(lái)實(shí)現(xiàn)LED數(shù)碼管動(dòng)態(tài)顯示。實(shí)現(xiàn)方法是依次點(diǎn)亮各個(gè)LED數(shù)碼管,循環(huán)進(jìn)行顯示,即一個(gè)數(shù)碼管顯示之后另一個(gè)數(shù)碼管馬上顯示,利用人眼的視覺(jué)暫留特性,可以到多個(gè)數(shù)碼管同時(shí)顯示的效果。采用掃描方式來(lái)實(shí)現(xiàn)LED數(shù)碼管動(dòng)態(tài)顯示,控制好數(shù)碼管之間的延時(shí)是相當(dāng)重要。接下頁(yè)5根據(jù)人眼視覺(jué)暫留原理,LED數(shù)碼管每秒的導(dǎo)通16次以上,人眼就無(wú)法分辨LED數(shù)碼管短暫的不亮,認(rèn)為是一直點(diǎn)亮的(其實(shí)LED數(shù)碼管是以一定頻率在閃動(dòng)的)。但是,延時(shí)(導(dǎo)通頻率)也不是越小越好,因?yàn)長(zhǎng)ED數(shù)碼管達(dá)到一定亮度需要一定時(shí)間。如果延時(shí)控制的不好則會(huì)出現(xiàn)閃動(dòng),或者亮度不夠。據(jù)經(jīng)驗(yàn),延時(shí)0.005秒可以達(dá)到滿(mǎn)意的效果。接

4、下頁(yè)6修改延時(shí),亦能得到更多的顯示效果,如加長(zhǎng)延時(shí),使得數(shù)碼管顯示一小段時(shí)間,再點(diǎn)亮下一個(gè),即可得到數(shù)碼管逐個(gè)顯示的效果。另外,顯示的字符有變化時(shí),可在延時(shí)到達(dá)后送一個(gè)低電平(共陰極數(shù)碼管)讓LED數(shù)碼管先短暫熄滅,再顯示下一個(gè)字符,可使在視覺(jué)上字符的變化更清晰。 7FPGA實(shí)現(xiàn)LED動(dòng)態(tài)方式顯示的控制電路8FPGA驅(qū)動(dòng)LED靜態(tài)顯示程序(1)library IEEE;use IEEE.STD_LOGIC_1164.ALL;use IEEE.STD_LOGIC_ARITH.ALL;use IEEE.STD_LOGIC_UNSIGNED.ALL;entity decoder isPort (se

5、g:in std_logic_vector(3 downto 0 ); -四位二進(jìn)制碼輸入q3:out std_logic_vector(6 downto 0) ); -輸出LED七段碼end decoder;architecture Behavioral of decoder isbegin9FPGA驅(qū)動(dòng)LED靜態(tài)顯示程序(1)process(seg)begincase seg iswhen 0000 = q3 q3 q3 q3 q3 q3 q3 q3 q3 q3 q3=1111111;end case; end process; end Behavioral;10FPGA驅(qū)動(dòng)LED動(dòng)態(tài)顯示

6、(4位)entity dynamic is Port ( clk,reset: in std_logic; din1 : in std_logic_vector(6 downto 0);-譯碼后的數(shù)據(jù)信號(hào)1 din2 : in std_logic_vector(6 downto 0); -譯碼后的數(shù)據(jù)信號(hào)2 din3 : in std_logic_vector(6 downto 0); -譯碼后的數(shù)據(jù)信號(hào)3 din4 : in std_logic_vector(6 downto 0); -譯碼后的數(shù)據(jù)信號(hào)4 shift: out std_logic_vector(3 downto 0); -位

7、選信號(hào) bus4 : out std_logic_vector(6 downto 0); -數(shù)據(jù)信號(hào)end dynamic;architecture Behavioral of dynamic issignal scan_clk:std_logic_vector(1 downto 0);11process(clk,scan_clk,reset) -分頻進(jìn)程variable scan:std_logic_vector(17 downto 0);beginif reset=1 then scan:=0000000; scan_clk=00;elsif clkevent and clk=1then scan:=scan+1;end if;scan_clk bus4=din1;shif

溫馨提示

  • 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)論