vhdl实验报告_16乘16点阵_列选_显示 下载本文

内容发布更新时间 : 2024/11/14 15:21:28星期一 下面是文章的全部内容请认真阅读。

综 合 实 践 总 结 报 告

综合实践名称: EDA技术与实践 综合实践地点、时间

一. 题目功能分析和设计

实验的要求有如下三点:

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

2.可显示字符为0~9的数字字符与A~F英文字母的大写; 3.输入为四位二进制矢量;

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

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

“0”,这样就形成了与这个汉字所对应的二进制数据在该矩形框上的分布

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

0000000000000000 0000000000000000 0001111111111000 0001111111111000 0001100000011000 0001100000011000 0001100000011000 0001111111111000 0001111111111000 0001100000011000 0001100000011000 0001100000011000 0001111111111000 0001111111111000 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变一个字符,但我在实验时考虑到仿真的问题,将字选信号的变化周期缩小很多,以便仿真。

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

二. 总体模块划分

1. 字选模块

输入为一个时钟信号,输出为4位二进制(用xuan 表示)字选信号,用来顺序输出题目要求的16个字。因为设计采用字选模块和列选模块使用同一个输入时钟脉冲,但是字选信号的变化