FPGA对LED显示器的课件.pptVIP

  1. 1、本文档共13页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

FPGA對LED顯示器的控制LED數碼管的工作原理LED數碼管用8段發光二極體來顯示數字,每一段都是一個發光二極體,如圖8.2.1所示。一般把所有段的相同一端相連,連接到地(共陰極接法)或者是連接到電源(共陽極接法)。共陰LED數碼管的公共端連接到地,另一端分別接一個限流電阻後再接到控制電路的信號端,當信號端為高電平時,該段即被點亮,否則不亮。共陽極接法則相反,公共端連接到電源,另一端分別接一個限流電阻後再接到控制電路的信號端,只有信號端為低電平時才被點亮,否則不亮。在數字邏輯電路中,可用74LS48(共陽)/74LS49(共陰)解碼驅動電路來控制LED顯示。在FPGA中,用硬體描述語言設計一個解碼驅動器,例如進行一個74LS48的功能設計。由於FPGA和硬體描述語言的靈活性,可以設計出能顯示更多內容的解碼驅動模組。FPGA實現LED靜態顯示控制運用硬體描述語言(如VHDL)設計一個顯示解碼驅動器,即將要顯示的字元譯成8段碼。由於FPGA有相當多的引腳端資源,如果顯示的位數N較少,可以直接使用靜態顯示方式,即將每一個數碼管都分別連接到不同的8個引腳線上,共需要8×N條引腳線控制,如左圖所示。採用FPGA實現LED數碼管動態顯示控制N個LED數碼管以靜態方式顯示時,需用到8×N條引腳線。在較為複雜的系統中,FPGA的引腳端資源是有限的。因此對於多個LED數碼管顯示,可以採用掃描方式來實現LED數碼管動態顯示。實現方法是依次點亮各個LED數碼管,迴圈進行顯示,即一個數碼管顯示之後另一個數碼管馬上顯示,利用人眼的視覺暫留特性,可以到多個數碼管同時顯示的效果。採用掃描方式來實現LED數碼管動態顯示,控制好數碼管之間的延時是相當重要。接下頁根據人眼視覺暫留原理,LED數碼管每秒的導通16次以上,人眼就無法分辨LED數碼管短暫的不亮,認為是一直點亮的(其實LED數碼管是以一定頻率在閃動的)。但是,延時(導通頻率)也不是越小越好,因為LED數碼管達到一定亮度需要一定時間。如果延時控制的不好則會出現閃動,或者亮度不夠。據經驗,延時0.005秒可以達到滿意的效果。接下頁修改延時,亦能得到更多的顯示效果,如加長延時,使得數碼管顯示一小段時間,再點亮下一個,即可得到數碼管逐個顯示的效果。另外,顯示的字元有變化時,可在延時到達後送一個低電平(共陰極數碼管)讓LED數碼管先短暫熄滅,再顯示下一個字元,可使在視覺上字元的變化更清晰。FPGA實現LED動態方式顯示的控制電路FPGA驅動LED靜態顯示程式(1)libraryIEEE;useIEEE.STD_LOGIC_1164.ALL;useIEEE.STD_LOGIC_ARITH.ALL;useIEEE.STD_LOGIC_UNSIGNED.ALL;entitydecoderisPort(seg:instd_logic_vector(3downto0);--四位二進位碼輸入q3:outstd_logic_vector(6downto0));--輸出LED七段碼enddecoder;architectureBehavioralofdecoderisbeginFPGA驅動LED靜態顯示程式(1)process(seg)begincasesegiswhen0000=q3=0000001;--0when0001=q3=1001111;--1when0010=q3=0010010;--2when0011=q3=0000110;--3when0100=q3=1001100--4when0101=q3=0100100;--5when0110=q3=0100000;--6when0111=q3=0001111;--7when1000=q3=0000000;--8when1001=q3=0000100;--9whenothers=q3=1111111;endcase;endprocess;endBehavioral;FPGA驅動LED動態顯示(4位)entitydynamicis Port(clk,reset:instd_logic; din1:instd_logic_vector(6downto0);--解碼後的數據信號1din2:instd_logic_vector(6downto0);--解碼後的數據信號2din3:instd_logic_ve

文档评论(0)

爱遛弯的张先生 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档