七段数码管显示译码器[技巧]
课
名称:七段数码管显示译码器
班 级:13电子(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.
八、总结