汉字点阵显示电子两字.doc

  1. 1、本文档共10页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
汉字点阵显示电子两字

EDA实验报告 汉字矩阵显示 计科非师范 20121105982 余路生 一、实验目的: 用VHDL语言设计一程序,点阵法静态显示“电子”两个字,然后从左向右推出。 二、实验原理: 以下为16×16点阵LED外观及引脚图及其等效电路,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,则Y0=1,X0=0即可。应用时限流电阻可以放在X轴或Y轴。 图2.1 16×16点阵LED外观图 图2.2 16×16点阵LED等效图 扫描频率必须大于16×64=1024Hz,周期小于1ms即可。若使用第二和第三种方式,则频率必须大于16×8=128Hz,周期小于7.8ms即可符合视觉暂留要求。此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则LED亮度会不足。 汉字的存储用动态分时扫描技术使LED点阵模块显示图像,需要进行两步工作。第一步是获得数据并保存,即在存贮器中建立汉字数据库。第二步是在扫描模块的控制下,配合行扫描的次序正确地输出这些数据。获得图像数据的步骤是,先将要显示的每一幅图像画在一个如图3.3所示的被分成16×16共256个小方格的矩形框中,再在有笔划下落处的小方格里填上“1”,无笔划处填上“0”,这样就形成了与这个汉字所对应的二进制数据在该矩形框上的分布,再将此分布关系以32×16的数据结构组成64个字节的数据,并保存在只读存贮器ROM中。以这种方式将若干个汉字的数据贮存在存贮器内,就完成了图像数据库的建立工作。 4 图3.3 16×16LED点阵模块然后,依次对多汉字抽取像素信息,并按序排队存放起来,便可得到一个待显示数据序列。将这个序列存到ROM中进一步通过寻址的方法来控制该数据序列的释放过程,就可实现在LED 发光二极管点阵上滚动显示多汉字信息的目的。 图2.3 滚动显示多汉字信息的原理示意图 汉字的显示第二步工作的步骤是:先在扫描模块的控制下,由地址线确定每次由ROM送出某一列的16个LED所要显示的汉字的控制字节数据,同时由扫描模块输出的5位扫描码经两个4-16译码器解码后决定相应的某一列可以被点亮,而另外31列都不能被点亮。该状态持续约0.4毫秒后,就接着进行下一行的扫描。当完成了一次32行的扫描后,也就完成了一帧画面的显示。重复上述过程不断修改ROM的地址区间的起始地址,转向下一幅画面的数据传送和显示。如此进行,就可以在LED点阵模块上滚动显示ROM中存储的汉字。library IEEE; use IEEE.std_logic_1164.all; use IEEE.std_logic_unsigned.all; use IEEE.std_logic_arith.all; entity DATA2 is port(clk :in std_logic; set:in std_logic; R:out std_logic_vector(3 downto 0); L:out std_logic_vector(15 downto 0)); end DATA2 ; architecture ONE of DATA2 is signal clk1:std_logic; signal R_val:std_logic_vector(3 downto 0); signal cnt:integer range 0 to 250000; signal d0,d1,d2,d3,d4,d5,d6,d7,d8,d9,d10,d11,d12,d13,d14,d15:std_logic_vector(15 downto 0); signal sel:integer range 0 to 1; begin d0= X0000when sel=0 else ------------电字第1列 X0000; -------否则熄灭第1列所有LED d1= X03F8when sel=0 else ------------电字第2列 X0000; -------否则熄灭第2列所有LED d2= X0248when sel=0 else ------------电字第3列 X0000; -------否则熄灭第3列所有LED d3= X0248when sel=0 else ------------电字第4列 X0000; -------否则熄灭第4列所有LED d4= X1FFCwhen sel=0 else ------------电字第5列

文档评论(0)

liwenhua11 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档