Decodificador Bcd A 7 Segmentos (Contador)
12
Contador de 7 segmentos
Introducción
Gracias a esta práctica demostraremos y trataremos de entender como Programar un display, a través de un decodificador de BCD a 7 segmentos.
Ocupando como programa base, el programa VHDL que sirve para realizar una simulación de una función lógica, para ocupar posteriormente el programa Galaxy que nos dará unesquema de conexión dependiendo, que es lo que queremos programar y que queremos programar, en este caso, para probar nuestra función simplificada y nuestro gal programado utilizaremos una tablilla protoboard.
Objetivo
Demostrar y probar de qué modo conectar un display, para que, con una función lógica simplificada podamos obtener un contador de 7 segmentos con la ayuda de programas comoActive-VHDL y Galaxy
Desarrollo
Antes de comenzar a ocupar el programa VHDL tuvimos que aprender el idioma Básico de dicho programa, así también como reglas básicas del lenguaje con el cual nos comunicamos con el programa algunas condiciones y reglas:
* El archivo VHDL puede tener cualquier nombre que NO incluya comandos básicos del programa.
* El programa no es sensible a escritura conmayúsculas o minúsculas
Y otras más…
Como el Tema fue “Hacer un Decodificador de BCD a 7 segmentos”, antes de conocer y emplear el programa, de manera escrita Realizamos una “Tabla de verdad” que tuviera cuatro entradas (A, B, C, D) y siete salidas (a, b, c, d, e, f, g) respectivamente
Entrada | Salida |
A | B | C | D | a | b | c | d | e | f | g |
0 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |
0 |0 | 0 | 1 | 0 | 1 | 1 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 |
0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 1 |
0 | 1 | 0 | 0 | 0 | 1 | 1 | 0 | 0 | 1 | 1 |
0 | 1 | 0 | 1 | 1 | 0 | 1 | 1 | 0 | 1 | 1 |
0 | 1 | 1 | 0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |
0 | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 0 | 0 | 1 |
1 | 0 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
1 | 0 | 0 | 1 | 1 | 1 | 1 | 1 | 0 |1 | 1 |
Las letras de salida representan cada segmento del display como lo muestra la imagen, Por ejemplo, para representar el número cero en el display necesitamos encender los segmentos a, b, c, d, e, f por eso en las posiciones correspondientes a estas letras hay un “1”
La descripción de la función hecha en el programa HDL es la siguiente:
Library IEEE;
Use IEEE.std_logic_1164.all;--descripción de terminales
Entity decodificador is
Port(
B: in std_logic_vector(3 downto 0);
S:out std_logic_vector(6 downto 0)
);
End decodificador;
--descripcion de la arquitectura
Architecture simple of decodificador is
Begin
Process (b)
Begin
Case b is
When "0000"=> s<="1111110";
When"0001"=> s<="0110000";
When "0010"=> s<="1101101";
When "0011"=> s<="1111001";
When "0101"=> s<="0110011";
When "0110"=> s<="1011011";
When "0111"=> s<="1011111";
When "1000"=> s<="1110001";
When "1001"=> s<="1111011";
When others => s<="1111110";
End case;
End process;
End simple;
En el programaestamos indicando lo que queremos, se indica que hay 4 entradas (de 3 a 0) y 7 salidas (de 6 a 0)
Programación
Para poder programar nuestra gal es necesario usar el programa Galaxy
Para comenzar a trabajar en este software lo primero que hacer es entrar al programa y crear un nuevo proyecto donde seleccione FILE y después NEW ya teniendo esto, presionamos un clic con el botón del mouse paraque nos apareciera la ventana principal del software denominada: NEW donde seleccionamos la opción de PROJECT (TARGET DEVICE), y luego nos aparece otra ventana con el nombre: PROJECT TYPE, donde está habilitado siempre la opción de VHDL, al finalizar este se reinserta en el campo vacio el nombre del documento hecho en VHDL y previamente guardado, después de esto, presionamos el botón de siguiente...
Regístrate para leer el documento completo.