• 方案介绍
  • 附件下载
  • 相关推荐
申请入驻 产业图谱

数码管显示电路设计VHDL代码Quartus仿真

08/14 08:20
1150
加入交流群
扫码加入
获取工程师必备礼包
参与热点资讯讨论

2-240RQ64A9500.doc

共1个文件

名称:数码管显示电路设计VHDL代码Quartus仿真

软件:Quartus

语言:VHDL

代码功能:

一、课题目的

1.实现十六进制计数显示。

2.实现常见英语字母显示。

二、课题原理

用数码管除了可以显示0~9的阿拉伯数字外,还可以显示一些英语字母。

数码管由7段显示输出,利用7个位的组合输出,就可以形成相关的英语字母的对应显示(注意:不是所有字母都能显示!)。下表显示常见的字母与7段显示关系。

       段

字母

A

b

c

d

e

f

g

A

1

1

1

0

1

1

1

B

0

0

1

1

1

1

1

C

1

0

0

1

1

1

0

D

0

1

1

1

1

0

1

E

1

0

0

1

1

1

1

F

1

0

0

0

1

1

1

H

0

1

1

0

1

1

1

P

1

1

0

0

1

1

1

L

0

0

0

1

1

1

0

常见的字母与7段显示关系

三、课题内容

1.查找资料,理解设计原理。

2.用VHDL语言 编写一个简单的0~9和字母显示电路(数码管类别不限)。

3.在QuartusⅡ上完成设计输入、全程编译和功能仿真。

四、设计提示

1.字母轮换显示电路可以采用状态图的方式设计,对于每一个时钟脉冲,将改变一种态。

FPGA代码Verilog/VHDL代码资源下载:www.hdlcode.com

演示视频:

设计文档:

1. 工程文件

2. 程序文件

3. 程序编译

4. 状态图

5. 仿真图

仿真图说明,以上图中显示B为例,仿真图显示值为1111100,也就是

hex[6]=1,-----对应g

hex[5]=1,-----对应f

hex[4]=1,-----对应e

hex[3]=1,-----对应d

hex[2]=1,-----对应c

hex[1]=0,-----对应b

hex[0]=0,-----对应a

查询下表可知显示的是b,故仿真正确。

部分代码展示:

library IEEE;
use IEEE.std_logic_1164.all;
--数码管译码模块
entity segment is
port (
CLK: in std_logic;--时钟
    RST: in std_logic;--复位
    hex: out std_logic_vector(6 downto 0)); --数码管信号,gfedcba,g为最高位,a为最低位
end segment;
architecture behav of segment is
TYPE states IS (st_0,st_1,st_2,st_3,st_4,st_5,st_6,st_7,st_8,st_9,st_A,st_B,st_C,st_D,st_E,st_F,st_H,st_P,st_L);--定义各个状态
signal PST:states;
begin
process(CLK,RST)
begin
IF(RST='1')then
PST<=st_0;--复位到st_0
ELSIF rising_edge (CLK) then
case PST IS--对于每一个时钟脉冲,改变一种状态
when st_0=> PST<=st_1;--依次按顺序变化
when st_1=> PST<=st_2;
when st_2=> PST<=st_3;
when st_3=> PST<=st_4;
when st_4=> PST<=st_5;
when st_5=> PST<=st_6;
when st_6=> PST<=st_7;
when st_7=> PST<=st_8;
when st_8=> PST<=st_9;
when st_9=> PST<=st_A;
when st_A=> PST<=st_B;
when st_B=> PST<=st_C;
when st_C=> PST<=st_D;
when st_D=> PST<=st_E;
when st_E=> PST<=st_F;
when st_F=> PST<=st_H;
when st_H=> PST<=st_P;
when st_P=> PST<=st_L;
when st_L=> PST<=st_0;--回到初始状态
when others => PST<=st_0;
end case;
end if;

点击链接获取代码文件:http://www.hdlcode.com/index.php?m=home&c=View&a=index&aid=978

  • 2-240RQ64A9500.doc
    下载

相关推荐