实验五 7段数码显示译码器设计重点讲义.doc
文本预览下载声明
实验五 7段数码管显示译码器设计
岭南师范学院(信息工程学院)
实验目的:
学会使用锁相环和分频器做分频处理并使用分频后的信号
学习和掌握数码管的电路原理图及如何使用数码管显示相应的字符
学习7段数码显示译码器设计、多层次设计方法、和总线数据输入方式的功能实现。
实验原理:
7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用VHDL译码程序在FPGA或CPLD中实现。本项实验很容易实现这一目的。作为7段BCD码译码器的设计,输出信号LED7S的7位分别接如图7-1数码管的7个段,高位在左,低位在右。
实验仪器及设备
1.计算机 2.FPGA(Max 10)开发板 3.Quartus软件
实验内容
在开发板上的七段数码管实现显示数字并且自动增加
实验步骤:
打开Quartus15.1建立一个工程文件
添加一个VHDL File,然后进行代码的输入(这些代码的作用是实现数码管的显示字符的)代码如下:
LIBRARY IEEE ;
USE IEEE.STD_LOGIC_1164.ALL ;
ENTITY DecL7S IS
PORT ( A : IN STD_LOGIC_VECTOR(3 DOWNTO 0) ;
LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0) ) ;
END ;
ARCHITECTURE one OF DecL7S IS
BEGIN
PROCESS( A )
BEGIN
CASE A(3 DOWNTO 0) IS
WHEN 0000 = LED7S = 1000000 ; -- X“3F”-0
WHEN 0001 = LED7S = 1111001 ; -- X“06”-1
WHEN 0010 = LED7S = 0100100 ; -- X“5B”-2
WHEN 0011 = LED7S = 0110000 ; -- X“4F”-3
WHEN 0100 = LED7S = 0011001 ; -- X“66”-4
WHEN 0101 = LED7S = 0010010 ; -- X“6D”-5
WHEN 0110 = LED7S = 0000010 ; -- X“7D”-6
WHEN 0111 = LED7S = 1111000 ; -- X“07”-7
WHEN 1000 = LED7S = 0000000 ; -- X“7F”-8
WHEN 1001 = LED7S = 0010000 ; -- X“6F”-9
WHEN 1010 = LED7S = 0001000 ; -- X“77”-10
WHEN 1011 = LED7S = 0000011 ; -- X“7C”-11
WHEN 1100 = LED7S = 1000110 ; -- X“39”-12
WHEN 1101 = LED7S = 0100001 ; -- X“5E”-13
WHEN 1110 = LED7S = 0000110 ; -- X“79”-14
WHEN 1111 = LED7S = 0001110 ; -- X“71”-15
WHEN OTHERS = NULL ;
END CASE ;
END PROCESS ;
END ;
将该文件设置为顶层,然后进行进行编译,无误后。进行Create Symbol Files For Current File。生成一个project文件,为下一步做准备
再添加一个VHDL File,然后进行代码的输入(这些代码的作用是控制数码管的显示字符的以及清零使能使用)代码如下:
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
ENTITY CNT4B IS
PORT (CLK : IN STD_LOGIC;
RST : IN STD_
显示全部