CPLD在LED点阵屏上实现字符滚动.docVIP

  1. 1、本文档共4页,可阅读全部内容。
  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文档。上传文档
查看更多
CPLD在LED点阵屏上实现字符滚动

CPLD在LED点阵屏上实现字符滚动 本实验箱是16*16LED点阵屏,采用共阳极发光二极管,在某一时刻点阵屏只有一列中的指定的发光二极管发光,原理图如下: CPLD提供四个控制信号来为LED点阵屏的某一列提供电源,D6为0时,IC1起作用,根据D4、D5、P163的值来译中L1~L8中的某一列;D6为1时,IC2起作用,根据D4、D5、P163的值来译中L9~L16中的某一列。 而行数据是通过两片74LS373来控制的,当P175接高电平1时,IC3起作用,根据输入来显示出某一列的R1~R8行数据;当P176接高电平1时,IC4起作用,根据输入来显示出某一列的R9~R16行数据。 (1)顶层模块原理图 该原理图包括三个模块:分频模块(fp模块)、存储器模块(rom模块)和滚动控制模块(scancontrol模块),如下图所示: (1)分频模块 该模块将50MHz时钟信号分频为1MHz和1Hz两个时钟信号,用于对字符滚动的控制。 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity fp is port(inclk:in std_logic; clk1Hz,clk1MHz:out std_logic); end entity; architecture arch_fp of fp is signal fp1:std_logic_vector(24 downto 0); signal fp2:std_logic_vector(4 downto 0); signal f1,f2:std_logic; begin process(inclk) begin if(inclkevent and inclk=1) then if fp1then fp1=0000000000000000000000000; f1=not f1; -- f1产生1Hz的频率 else fp1=fp1+1; end if; if fp2=24 then fp2=00000; f2=not f2; -- f2产生1MHz的频率 else fp2=fp2+1; end if; end if; end process; clk1Hz=f1; clk1MHz=f2; end arch_fp; (2)rom模块 该模块用于存储要显示的字符的字模信息,字模信息可以从专用的字模提取软件中提取出来。针对本实验箱,需要纵向提取字模信息,每个汉字包括32个字节,然后将字模信息存放于ROM中,这样就得到了一个待显示数据序列。 (2)滚动控制模块 该模块实现字符由右向左实现滚动显示,且每次滚动一列。它是通过寻址的方式来控制待显示数据序列的释放过程来实现的,其原理示意图为: 0 1 2 3 … k k+1 k+2 k+3 … k+29 k+30 k+31 N-1 N idsp_code字符信息定位 0 1 2 3 … 29 30 31 scan_code点阵扫描定位 由此可知,某一时刻能在显示序列中定位带显示数据的地址能用下式计算: address=idsp_code + scan_code; 其中,idsp_code的取值范围为0~N,它控制字符显示的滚动速度;scan_code的取值范围为0~31,它与LED点阵屏的列驱动速度相关。因此,控制idsp_code扫遍全部待显示数据的时间,可调节字符信息的滚动速度;改变scan_code的重复扫描周期,可改善在LED点阵屏上显示完整字符信息的稳定性。 由显示原理,可以构造出它所对应的硬件实现结构图,如下图: 其VHDL语言源代码如下: LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY scancontrol IS PORT(clk1Hz,clk1MHz,reset:IN STD_LOGIC; adress:OUT STD_LOGIC_VECTOR(7 DOWNTO 0); --ROM中待显示数据的地址 scan:OUT STD_LOGIC

文档评论(0)

wuyuetian + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档