【友晶科技】基于FPGA的贪吃蛇游戏设计(二)——数码管驱动模块

DE10-Standard/DE1-SoC/DE2-115

数码管介绍

在数字电路中,7段数码管是一个应用非常广泛的显示器件,它有7个可独立点亮的线段(LED灯), 用户可以通过控制点亮7个线段中某些线段来显示十六进制数0~F。

【友晶科技】基于FPGA的贪吃蛇游戏设计(二)——数码管驱动模块_第1张图片

目前有两种类型的7段数码管显示器件:共阴极数码管和共阳极数码管。

共阴极数码管是7个LED的阴极端一起接地,每个阳极端单独连接到控制端(比如接到FPGA的GPIO pin)。共阴极数码管器件是高电平有效。

共阳极数码管是7个LED的阳极端一起连接VCC,每个阴极端单独接控制端(比如接到FPGA的GPIO pin)。 共阳极数码管器件是低电平有效。

【友晶科技】基于FPGA的贪吃蛇游戏设计(二)——数码管驱动模块_第2张图片

给7段数码管每一段编号如下:

【友晶科技】基于FPGA的贪吃蛇游戏设计(二)——数码管驱动模块_第3张图片

FPGA控制的时候一般按照6-5-4-3-2-1-0的顺序给值,比如想要显示数字0,拿共阳极数码管举例则5-4-3-2-1-0段点亮,6段熄灭,输出数据7’b1000_000即可。

DE10-Standard开发板的数码管

DE10-Standard开发板(或者是DE1-SOC、DE2-115)上面的数码管是共阳极数码管,所以是低电平点亮。

【友晶科技】基于FPGA的贪吃蛇游戏设计(二)——数码管驱动模块_第4张图片

数码管驱动模块设计

共阳极数码管显示的各数字对应的输出到数码管的代码如下表:

显示数字

二进制码

输出到数码管

0

0000

1000000

1

0001

1111001

2

0010

0100100

3

0011

0110000

4

0100

0011001

5

0101

0010010

6

0110

0000010

7

0111

1111000

8

1000

0000000

9

1001

0011000

A

1010

0001000

b

1011

0000011

C

1100

1000110

d

1101

0100001

E

1110

0000110

F

1111

0001110

数码管显示控制模块seg_display.v的信号描述如下:

【友晶科技】基于FPGA的贪吃蛇游戏设计(二)——数码管驱动模块_第5张图片

数码管显示控制模块seg_display.v的完整代码如下:

【友晶科技】基于FPGA的贪吃蛇游戏设计(二)——数码管驱动模块_第6张图片

贪吃蛇系列连载文章:

  ​
1. 基于FPGA的贪吃蛇游戏设计(一)

2. 基于FPGA的贪吃蛇游戏设计(二)——数码管驱动模块

3. 基于FPGA的贪吃蛇游戏设计(三)——计分模块

4. 基于FPGA的贪吃蛇游戏设计(四)——VGA驱动模块色块显示

5. 基于FPGA的贪吃蛇游戏设计(五)——VGA驱动模块字符显示

6. 基于FPGA的贪吃蛇游戏设计(六)——VGA驱动模块图片显示

7. 基于FPGA的贪吃蛇游戏设计(七)——食物(苹果)的产生

8. 基于FPGA的贪吃蛇游戏设计(八)——状态机设计

9. 基于FPGA的贪吃蛇游戏设计(九)——蛇身控制

关注“友晶Terasic”公众号可获取源码下载地址。

移植到DE1-SOC、DE2-115时代码无需改变,只需修改引脚分配即可。

【友晶科技】基于FPGA的贪吃蛇游戏设计(二)——数码管驱动模块_第7张图片

你可能感兴趣的:(DE10-Standard,DE2-115,DE1-SOC,fpga开发,游戏)