vhdl实验报告-16乘16点阵-列选-显示.docxVIP

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

综合实践总结报告

综合实践名称:EDA技术与实践

综合实践地点、时间

题目功能分析和设计

实验的要求有如下三点:

1.用16*16点阵的发光二极管显示字符;

2.可显示字符为0~9的数字字符与A~F英文字母的大写;

3.输入为四位二进制矢量;

按照要求可知,LED点阵模块,共由16×16=256个LED发光二极管组成,如何在该点阵模块上显示数字和字母是本实验的关键。

先将要显示的每一幅图像画在一个16×16共256个小方格的矩形框中,再在有笔划下落处的小方格里填上“1”,无笔划处填上“0

以数字8为例,点阵分布为:

0000000000000000

0000000000000000

0000000000000000

0000000000000000

考虑到实际物理实验平台上点阵发光二极管的原理,以下为16×16点阵LED外观图,只要其对应的X、Y轴顺向偏压,即可使LED发亮。例如如果想使左上角LED点亮,那么Y0=1,X0=0即可。

所以我采用行列扫描的方法,用四位二进制数做列选信号〔总共16列〕,如选中第一列,那么扫描第一列之中哪些行是高电平〔1〕,哪些行是低电平〔0〕;为高电平的那么点亮,为低电平的不亮。〔列信号都接地〕。如此,列选信号由“0000”变到“1111”时,16列扫描完毕,一个字也就出来了,列选信号重新由“0000”开始扫描。注意扫描频率必须要足够快,才能保证显示一个数字或字母时所有灯在肉眼看来是同时在闪烁的。

再者,就是字变换的问题。题目要求可显示字符为0~9的数字字符与A~F英文字母的大写;16个字正好用四位二进制表示,字选信号。每个字选信号对应一个0到9,A到F中的一个字模〔像前面列出的8的字模一样〕。通常情况下是1s变一个字符,但我在实验时考虑到仿真的问题,将字选信号的变化周期缩小很多,以便仿真。

要注意的是,列选信号变化频率一定是比字选信号大得多的。

总体模块划分

字选模块

输入为一个时钟信号,输出为4位二进制〔用xuan表示〕字选信号,用来顺序输出题目要求的16个字。因为设计采用字选模块和列选模块使用同一个输入时钟脉冲,但是字选信号的变化频率比列选信号要小得多。所以该模块中还应该设置一个计数器,计数器满,那么Q加1,即变向下一个字,同时计数器重新置零。

列选模块

输入为一个时钟信号,输出为4位二进制〔用sel表示〕列选信号,用来选中列,进行扫描。

显示模块

输入为字选信号和列选信号,输出为16位二进制,用来表示一列,该列中的1的位置就表示亮灯的位置,0的位置表示不亮。每扫描一列就输出一列,看该列中哪些行是1,哪些行是0。该模块应该包含0~9,A~F这16个字模。

顶层模块

该模块采用图形模式(.gdf),将所有的模块按要求合理连接起来后,再添加上顶层的输入输出信号。附顶层图:

代码实现

1.顶层模块:

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYdianzhenIS

PORT(k1,clk,reg,red,RES:INSTD_LOGIC;

SEL:OUTSTD_LOGIC_VECTOR(3DOWNTO0);

Q:OUTSTD_LOGIC_VECTOR(15DOWNTO0));

ENDDIANZHEN;

ARCHITECTUREAOFDIANZHENIS

COMPONENTXUANZI

PORT(CLK:INSTD_LOGIC;

Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0)

);

ENDCOMPONENT;

COMPONENTXUANZ

PORT(CLK:INSTD_LOGIC;

Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0)

);

ENDCOMPONENT;

COMPONENTXUA

PORT(CLK:INSTD_LOGIC;

Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0)

);

ENDCOMPONENT;

COMPONENTXU

PORT(CLK:INSTD_LOGIC;

Q:OUTSTD_LOGIC_VECTOR(3DOWNTO0)

);

ENDCOMPONENT;

COMPONENTXUS

PORT(red,REG:INSTD_LOGIC;

ZI,si,MI,NI:inSTD_LOGIC_VECTOR(3DOWNTO0);

文档评论(0)

181****7662 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档