EDA课程设计.docx
- 文档编号:2461213
- 上传时间:2022-10-29
- 格式:DOCX
- 页数:19
- 大小:119.99KB
EDA课程设计.docx
《EDA课程设计.docx》由会员分享,可在线阅读,更多相关《EDA课程设计.docx(19页珍藏版)》请在冰豆网上搜索。
EDA课程设计
课程设计报告
课程名称数字系统与逻辑设计
课题名称16*16点阵显示
专业通信工程
班级通信1101
学号
姓名
指导教师乔汇东胡瑛谭小兰
2013年7月7日
湖南工程学院
课程设计任务书
课程名称数字系统与逻辑设计
课题16*16点阵显示
专业班级通信1101
学生姓名皮锋
学号201103020127
指导老师乔汇东胡瑛谭小兰
审批乔汇东
任务书下达日期2013年6月29日
任务完成日期2013年7月7日
目录
一.16*16点阵显示的总体设计1
1.1.问题描述1
1.2.功能描述2
1.3.引脚分配2
二.16*16点阵显示的模块划分3
2.1.显示的时序控制模块3
2.2.汉字的点阵显示3
2.3.系统的总体框图4
三.主要功能的实现4
3.1.时序控制模块的设计4
3.2.汉字显示控制模块的设计5
3.3.点阵LED显示屏模块的设计6
四.系统调试与仿真7
4.1.系统调试7
4.2.仿真图10
五.总结与体会10
六.附件11
七.评分表18
一.16*16点阵显示的总体设计
1.1问题描述
本实验主要完成汉字字符在LED上的显示,16*16扫描LED点阵的工作原理与8位扫描数码管类似,只是显示的方式与结果不一样而已。
下面就本实验系统的16*16点阵的工件原理做一些简单的说明。
16*16点阵由此256个LED通过排列组合而形成16行*16列的一个矩阵式的LED阵列,俗称16*16点阵。
单个的LED的电路如下图11-1所示:
图11-1单个LED电路图
由上图可知,对于单个LED的电路图当Rn输入一个高电平,同时Cn输入一个低电平时,电路形成一个回路,LED发光。
也就是LED点阵对应的这个点被点亮。
16*16点阵也就是由16行和16列的LED组成,其中每一行的所有16个LED的Rn端并联在一起,每一列的所有16个LED的Cn端并联在一起。
通过给Rn输入一个高电平,也就相当于给这一列所有LED输入了一个高电平,这时只要某个LED的Cn端输入一个低电平时,对应的LED就会被点亮。
具体的电路如下图11-2所示:
图11-216*16点阵电路原理图
在点阵上显示一字符是根据其字符在点阵上的显示的点的亮灭来表示的,如下图11-3所示:
图11-3字符在点阵上的显示
在上图中,显示的是一个“汉”字,只要将被“汉”字所覆盖的区域的点点亮,则在点阵中就会显示一个“汉”字。
根据前面我们所介绍的点阵显示的原理,当我们选中第一列后,根据要显示汉字的第一列中所需要被点亮的点对应的Rn置为高电平,则在第一列中需要被点亮的点就会被点亮。
依此类推,显示第二列、第三列……第N列中需要被点亮的点。
然后根据人眼的视觉原理,将每一列显示的点的间隔时间设为一定的值,那么我们就会感觉显示一个完整的不闪烁的汉字。
同时也可以按照这个原理来显示其它的汉字。
下图11-4是一个汉字显示所需要的时序图:
图11-4显示时序图
1.2功能描述
本实验的示例程序依次显示的是“湖南工程学院”,要求每隔一秒换下一个字显示。
1.3引脚分配
显示:
16×16点阵LED模块
16×16点阵LED模块
16×16点阵信号名称
FPGA引脚
说明
DOT-C0
F7
列
DOT-C1
E8
列
DOT-C2
J8
列
DOT-C3
G9
列
DOT-C4
G10
列
DOT-C5
F11
列
DOT-C6
F9
列
DOT-C7
F10
列
DOT-C8
G2
列
DOT-C9
F1
列
DOT-C10
E1
列
DOT-C11
E2
列
DOT-C12
D1
列
DOT-C13
D2
列
DOT-C14
C2
列
DOT-C15
B2
列
DOT-R0
B3
行选择
DOT-R1
C3
行选择
DOT-R2
H1
行选择
DOT-R3
J2
行选择
DOT-R4
L2
行选择
DOT-R5
J13
行选择
DOT-R6
H15
行选择
DOT-R7
V11
行选择
DOT-R8
E10
行选择
DOT-R9
F12
行选择
DOT-R10
E12
行选择
DOT-R11
F13
行选择
DOT-R12
F14
行选择
DOT-R13
E15
行选择
DOT-R14
F15
行选择
DOT-R015
F16
行选择
时钟:
Clk
N1
图1-3引脚说明图
二.16*16点阵显示的模块划分
2.1显示的时序控制模块
用信号count进行时钟计数累加,用信号q进行单个汉字扫描控制,用信号k控制单个汉字的行扫描。
在时钟上升沿来时,当count小于1000,count加1,一旦count等于1000,count归零,同时如果q小于5,q加1,否则q等于零。
在时钟上升沿来时,如果k小于15,k加1,否则k等于0。
2.2汉字的点阵显示
用取模软件对“湖南工程学院”六个字进行按行取模,得到16进制数,然后转换成二进制位表示。
因为是按行扫描,所以低电平“0”为点亮一个LED灯,所以表示成二进制位后取反输出。
2.3系统的总体框图
图2-3系统的总体框图
三.主要功能的实现
3.1时序控制模块的设计
设置三个信号:
signalk:
integer:
=0;
signalq:
integer:
=0;
signalcount:
integerrange0to1000:
=0;
时序控制进程为:
process(clk)--显示时序控制
begin
ifclk'eventandclk='1'then
count<=count+1;--计数累加
ifcount=1000thencount<=0;
ifq<5thenq<=q+1;--控制单个汉字扫描周期
elseq<=0;
endif;
endif;
ifk<15thenk<=k+1;
elsek<=0;
endif;
endif;
endprocess;
3.2汉字显示控制模块的设计
程序按行扫描,所以设置一个变量控制点阵的行扫描:
variabler:
std_logic_vector(15downto0);
行扫描进程为:
process(k)
variabler:
std_logic_vector(15downto0);
begin
casekis
when0=>r:
="0000000000000001";
when1=>r:
="0000000000000010";
when2=>r:
="0000000000000100";
when3=>r:
="0000000000001000";
when4=>r:
="0000000000010000";
when5=>r:
="0000000000100000";
when6=>r:
="0000000001000000";
when7=>r:
="0000000010000000";
when8=>r:
="0000000100000000";
when9=>r:
="0000001000000000";
when10=>r:
="0000010000000000";
when11=>r:
="0000100000000000";
when12=>r:
="0001000000000000";
when13=>r:
="0010000000000000";
when14=>r:
="0100000000000000";
when15=>r:
="1000000000000000";
whenothers=>r:
="0000000000000000";
endcase;
cn<=r;
3.3点阵LED显示屏模块的设计
用取模软件按行取模,得到“湖南工程学院”六个字的二进制代码,然后在进程中按行进行扫描,例如“湖”字:
当k等于0时扫描“湖”字:
process(k,q)
variablec:
std_logic_vector(15downto0);
begin
caseqis
when0=>
casekis--显示湖字
when0=>c:
="0100001000000000";
when1=>c:
="0010001000111100";
when2=>c:
="0010001000100100";
when3=>c:
="0000001000100100";
when4=>c:
="1000111110111100";
when5=>c:
="0101001000100100";
when6=>c:
="0001001000100100";
when7=>c:
="0010111110111100";
when8=>c:
="0010100010100100";
when9=>c:
="0010100010100100";
when10=>c:
="1100100010100100";
when11=>c:
="0100100010100100";
when12=>c:
="0100111111000100";
when13=>c:
="0100000001000100";
when14=>c:
="0100000010010100";
when15=>c:
="0100000100001000";
whenothers=>c:
="0000000000000000";
endcase;
四.系统调试与仿真
4.1系统调试
4.1.1创建工程
利用newprejectwizard工具创建一个工程,工程名为L16_16,顶层文件实体名为 L16_16.
选择目标芯片,芯片为EP2C35F672C8,如图所示:
图4.1.1工程创建图
4.1.2新建一个VHDLfile
在刚建立的工程中新建一个file,选择VHDLfile,如图:
图4.1.2VHDL文件创建图
4.1.3建立一个仿真文件
新建一个file,选择othersfile,然后选择VectorWaveformFile,如图所示:
图4.1.3仿真文件创建图
程序仿真完全正确后,设置引脚,然后再次编译,没有错误后下载程序到硬件之中,得到点阵LED显示结果,其中每个汉字显示时间为一秒,一秒过后自动换下一个汉字,直到显示完“湖南工程学院”,再循环显示以上内容。
4.2仿真图
图4-2程序仿真图
五.总结与体会
在做课设的过程中,我们遇到了很多难题。
在程序编写前,我们不知道该怎样着手。
经过一天的思考,我们初步确定了编写
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- EDA 课程设计