数码管控制器

一、实验目的

1、进一步熟悉QuartusⅡ11.0软件的使用及设计流程;
2、了解7段数码管的工作原理;。

二、实验电路图

图2-1 开关电路图

图2-2 数码管电路图
注:本实验箱中所有的LED数码管均是共阴级的,采用分时控制方式。

三、实验内容

本实验要求用开关作为控制,在任意的数码管上显示数字。数码管选择由三个开关控制,具体数字由四个开关控制,所以本实验应有七个输入,八个输出(其中一个是小数点),电路包括二个部分,一个是选择数码管,一个是显示的数字转换成数码管显示的格式。

四、实验连线

实验连线同彩灯控制器实验

五、实验现象

拨动开关,在选定的数码管上显示相应的数据。

我的vhdl代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
ENTITY LED IS
PORT(A:IN STD_LOGIC_VECTOR (3 DOWNTO 0);
B:IN STD_LOGIC_VECTOR (2 DOWNTO 0);
LED:OUT STD_LOGIC_VECTOR (6 DOWNTO 0);
C:OUT STD_LOGIC_VECTOR (2 DOWNTO 0));
END;
ARCHITECTURE one OF LED IS
BEGIN
PROCESS(B)
BEGIN
C<=B;
END PROCESS;
PROCESS (A)
BEGIN
CASE A IS
WHEN "0000"=> LED<="0111111";
WHEN "0001"=> LED<="0000110";
WHEN "0010"=> LED<="1011011";
WHEN "0011"=> LED<="1001111";
WHEN "0100"=> LED<="1100110";
WHEN "0101"=> LED<="1101101";
WHEN "0110"=> LED<="1111101";
WHEN "0111"=> LED<="0000111";
WHEN "1000"=> LED<="1111111";
WHEN "1001"=> LED<="1101111";
WHEN "1010"=> LED<="1110111";
WHEN "1011"=> LED<="1111100";
WHEN "1100"=> LED<="0111001";
WHEN "1101"=> LED<="1011110";
WHEN "1110"=> LED<="1111001";
WHEN "1111"=> LED<="1110001";
WHEN OTHERS=> NULL;
END CASE;
END PROCESS;
END;

引脚连接如下