eda课程设计报告16x16点阵显示大学论文Word格式文档下载.docx

上传人:b****6 文档编号:21109711 上传时间:2023-01-27 格式:DOCX 页数:16 大小:106.14KB
下载 相关 举报
eda课程设计报告16x16点阵显示大学论文Word格式文档下载.docx_第1页
第1页 / 共16页
eda课程设计报告16x16点阵显示大学论文Word格式文档下载.docx_第2页
第2页 / 共16页
eda课程设计报告16x16点阵显示大学论文Word格式文档下载.docx_第3页
第3页 / 共16页
eda课程设计报告16x16点阵显示大学论文Word格式文档下载.docx_第4页
第4页 / 共16页
eda课程设计报告16x16点阵显示大学论文Word格式文档下载.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

eda课程设计报告16x16点阵显示大学论文Word格式文档下载.docx

《eda课程设计报告16x16点阵显示大学论文Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《eda课程设计报告16x16点阵显示大学论文Word格式文档下载.docx(16页珍藏版)》请在冰豆网上搜索。

eda课程设计报告16x16点阵显示大学论文Word格式文档下载.docx

Q1

W1

CLK

图2-2电路连接简图

三、功能模块的划分

3.1系统的总体框图

3-1模块图

四、主要功能的实现

4.118进制加法器设计

CNT8.vhd是8进制的计数器,其每计一次数,输出一个字。

例如当计数为“000B”时显示“湖”,当计数为“001B”时显示“南”。

给其脉冲周期为1S。

4.2216进制计数器设计

CNT16.vhd是16进制的计数器,其输出端控制行和列驱动控制器的输出数据;

4.3列驱动设计

HANG.vhd为列驱动控制器,该模块控制所亮的行,当输出为0001H时,给点阵的第一行高电平,输出为0010H时,给点阵的第二行高电平,依次类推,逐次给每行高电平。

4.4字体显示控制器

XIANSHI.vhd为字体显示控制器,SHI控制的是所显示的字。

例如当SHI为00H时,表示显示第一个字;

当SHI为01H时,表示显示第二个字,依次类推。

WEI控制所显示的为字的第几行,例如当WEI为0000B时,表示输出字的第一行文字信息;

WEI为0001B时,表示输出字的第二行文字信息,依次类推。

4.5顶层文件设计

JUZHEN16.vhd是顶层文件设计,文件在实体中首先定义了顶层设计元件的端口信号,然后在architecture和begin之间利用component语句对准备调用的元件做了声明,并定义了c,d两个信号作为器件内部的连接线。

最后利用端口映射语句PORTMAP()将两个计数器和列驱动,字体显示驱动连接起来构成一个完整的器件。

五、系统调试与仿真

5.1程序仿真图

图5-1CNT16.vhd仿真波形图

图5-2HANG.vhd仿真波形图

图5.3顶层仿真图

5.216*16LED点阵显示引脚分配

16×

16点阵信号名称

FPGA引脚

说明

DOC-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

图5.4引脚分配

5.3程序运行结果

程序仿真完全正确后,线封锁引脚,然后连接硬件,再次编译,没有错误后下载程序到硬件之中,当拨码开关闭合时,得到点阵LED显示结果,其中每个汉字显示时间为一秒,一秒过后自动换下一个汉字,直到显示完“考试必过”,再循环显示以上内容;

当拨码开关断开时,点阵LED不显示任何内容

六、附件

LIBRARYIEEE;

USEIEEE.STD_LOGIC_1164.ALL;

USEIEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITYCNT8IS

PORT(CLK1:

INSTD_LOGIC;

QOUT:

OUTSTD_LOGIC_VECTOR(2DOWNTO0));

ENDENTITYCNT8;

ARCHITECTUREBEHVOFCNT8IS

SIGNALCQI:

STD_LOGIC_VECTOR(2DOWNTO0);

BEGIN

PROCESS(CLK1)

IF(CLK1'

EVENTANDCLK1='

1'

)THEN

CQI<

=CQI+1;

ENDIF;

QOUT<

=CQI;

ENDPROCESS;

ENDARCHITECTUREBEHV;

ENTITYCNT16IS

PORT(CLK:

OUTSTD_LOGIC_VECTOR(3DOWNTO0));

ENDENTITYCNT16;

ARCHITECTUREBEHVOFCNT16IS

STD_LOGIC_VECTOR(3DOWNTO0);

PROCESS(CLK)

IF(CLK'

EVENTANDCLK='

ENTITYHANGIS

PORT(DATAIN:

INSTD_LOGIC_VECTOR(3DOWNTO0);

ROW:

OUTSTD_LOGIC_VECTOR(15DOWNTO0));

ENDENTITYHANG;

ARCHITECTUREBEHVOFHANGIS

SIGNALHANG:

STD_LOGIC_VECTOR(15DOWNTO0);

BEGIN

PROCESS(DATAIN)

CASEDATAINIS

WHEN"

0000"

=>

ROW<

="

1000000000000000"

;

0001"

0100000000000000"

0010"

0010000000000000"

0011"

0001000000000000"

0100"

0000100000000000"

0101"

0000010000000000"

0110"

0000001000000000"

0111"

0000000100000000"

1000"

0000000010000000"

1001"

0000000001000000"

1010"

0000000000100000"

1011"

0000000000010000"

1100"

0000000000001000"

1101"

0000000000000100"

1110"

0000000000000010"

1111"

0000000000000001"

WHENOTHERS=>

0000000000000000"

ENDCASE;

LIBRARYieee;

USEieee.std_logic_1164.all;

ENTITYXIANSHIIS

PORT(WEI:

INSTD_LOGIC_VECTOR(3downto0);

SHI:

INSTD_LOGIC_VECTOR(2downto0);

Q:

OUTSTD_LOGIC_VECTOR(15downto0));

ENDXIANSHI;

ARCHITECTUREXIANSHI_architectureOFXIANSHIIS

process(shi,wei)

variableb:

std_logic_vector(15downto0);

begin

caseshiis

When"

000"

caseweiis

when"

=>

b:

1111111111111111"

1011111111110111"

1101111111110000"

1110111011101110"

1111111101110110"

1000000001110000"

0010011111111001"

1110111101110110"

1111111101110000"

1111110000010110"

1111010111010110"

1110110111010110"

1101110000010110"

1011111111011110"

whenothers=>

null;

endcase;

When"

001"

1111111110111111"

1111111101111111"

1110000000000111"

1111110111111111"

1111101111111111"

1111000000000111"

1111011011010111"

1111011010110111"

1111010000010111"

1111011101110111"

010"

1111111111110111"

1000000000000011"

1111111011111111"

1111111011111011"

011"

1111011111111111"

1110111100000111"

1000111101110111"

1110111101110111"

1000000111111111"

1110111000000011"

1100011111011111"

1010101000000011"

0110101111011111"

0110110111011111"

1110111111111111"

100"

1101110111110111"

1110111011110111"

1111111111011111"

1000000000000001"

1011111111111101"

0111111111111011"

1110000000011111"

1111111001111011"

1111101011111111"

101"

1111011110011111"

1110101111101111"

1101110100000001"

1101110011111110"

1100001011000110"

1101001111111111"

1100010111010111"

1101101111010111"

1101111111010111"

1101111110010111"

1101111110110101"

1101111101110000"

whenothers=>

endcase;

q<

=b;

endprocess;

ENDXIANSHI_architecture;

ENTITYJUZHEN16IS

PORT(a,b:

INSTD_LOGIC;

Q1,W1:

ENDENTITYJUZHEN16;

ARCHITECTUREJZ16OFJUZHEN16IS

COMPONENTCNT8

ENDCOMPONENT;

COMPONENTCNT16

COMPONENTHANG

COMPONENTXIANSHI

PORT(WEI:

ENDCOMPONENT;

SIGNALc:

STD_LOGIC_VECTOR(3downto0);

SIGNALd:

STD_LOGIC_VECTOR(2downto0);

BEGIN

U1:

CNT8PORTMAP(CLK1=>

b,QOUT=>

d);

U2:

CNT16PORTM

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1