可编程逻辑器件技术 项目设计报告 课题名称:七段数码管显示译码器 班 级:1 3 电子(2 )班 姓 名:许宋如 指导老师:龚兰芳 一、设计要求 1)用 VHDL 语言设计一个可以实现以下功能的程序:输入时思位二进制数,输出时对应的十进制。 2)用四个开关代表四位二进制数,单个数码管显示对应的十进制数。 3)编完程序之后并在开发系统上进行硬件测试。 二、任务分析 用来驱动各种显示器件,从而将用二进制代码表示的数字,文字,符号翻译成人们习惯的形式直观的显示出来的电路,称为显示译码器。 这种显示译码器用多种发光器件构成。例如半导体发光二极管,液晶灯。 以发光二极管的七段数码管显示译码器为例进行说明。 七段字形译码器的真值表: 设计原理图: 四、硬件要求 主芯片 EPM240T100C5,4个开关,一个共阴七段数码管。 五、源程序 library ieee; use ieee.std_logic_1164.all; entity yima is port( l:out std_logic_vector(5 downto 0); d0,d1,d2,d3:in std_logic; a,b,c,d,e,f,g:out std_logic ); end yima; architecture behav of yima is signal m:std_logic_vector(3 downto 0); signal seg7:std_logic_vector(6 downto 0); begin l<=”011111”; m<=d3&d2&d1&d0; with m select seg <=”011111”when ”0000”, “0000110”when “0001”, “1011011”when “0010”, “1001111”when “0011”, “1100110”when “0100”, “1101101”when “0101”, “1111101”when “0110”, “0000111”when “0111”, “1111111”when “1000”, “1100111”when “1001”, “1110111”when “1010”, “0111001”when “1011”, “0111001”when “1100”, “1011110”when “1101”, “1111001”when “1110”, “1110001”when “1111”, “0000000”when others; g<=seg7(6); f<=seg7(5); e<=seg7(4); d<=seg7(3); c<=seg7(2); b<=seg7(1); a<=seg7(0); end behav; 六、接线图 七、现象描述 在硬件上测试,现象结果是,当被分配的引脚的四个拨码开关打到相应位置的二进制对应的七段显示器数码管上显示出相应的字形,例如:当拨码开关对应的二进制为 1000的是字形 8. 八、总结 通过这次课题实验,熟悉了各程序模块的编写特点,主要是进程语句模块,和结构体以及实体模块的程序编写。相较之前现在可以比较熟练的使用这几个模块。对硬件的认识也比较清晰,在分配引脚时可以比较灵活应用,不用都照搬书里内容。