计数译码显示电路设计
一、实验目的:
1、学习计数译码显示电路的设计; 2、学习VHDL的CASE语句应用方法。 二、实验原理:
7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。作为7段译码器,输出信号LED7S的7位分别接数码管的7个段,高位在左,低位在右。接有高电平的段发亮。
参考程序:(二) LIBRARY IEEE ;
USE IEEE.STD_LOGIC_11.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 IS
WHEN \"0000\" => LED7S <= \"0111111\" ; WHEN \"0001\" => LED7S <= \"0000110\" ; WHEN \"0010\" => LED7S <= \"1011011\" ; WHEN \"0011\" => LED7S <= \"1001111\" ; WHEN \"0100\" => LED7S <= \"1100110\" ; WHEN \"0101\" => LED7S <= \"1101101\" ; WHEN \"0110\" => LED7S <= \"1111101\" ; WHEN \"0111\" => LED7S <= \"0000111\" ; WHEN \"1000\" => LED7S <= \"1111111\" ; WHEN \"1001\" => LED7S <= \"1101111\" ;
WHEN \"1010\" => LED7S <= \"1110111\" ; WHEN \"1011\" => LED7S <= \"1111100\" ; WHEN \"1100\" => LED7S <= \"0111001\" ; WHEN \"1101\" => LED7S <= \"1011110\" ; WHEN \"1110\" => LED7S <= \"1111001\" ;
WHEN \"1111\" => LED7S <= \"1110001\" ; WHEN OTHERS => NULL ; END CASE ; END PROCESS ; END ;
三、实验内容及步骤:
1、在QuartusII上进行编辑、编译、综合、适配。 2、引脚锁定及硬件测试。
建议选实验电路模式6,用数码8显示译码输出(PIO46-PIO40),键8、7、6和5控制输入。 三、实验报告:
根据以上的实验内容写出实验报告,包括程序设计、软件编译、硬件测试和实验过程;设计程序、程序分析报告。