Está en la página 1de 5

Reporte para Ejercicio #5.

- Decodificador BCD a 7
Segmentos

Roberto Eliezer Prince Elorza

Profesor Ing. Luis Fernando Mejorado Rodríguez

Dispositivo Digitales Programables

IMT10C

Reynosa Tamps. 14/Sep/2020


Objetivo

Continuación del ejercicio 4, realizar un contador ascendente \ descendente del 0 al F, usar push
button o con switch.

Esquemático

2 de 5
Programa

Name contadorv2 ;

PartNo 00 ;

Date 11/09/2020 ;

Revision 01 ;

Designer Engineer ;

Company UTT ;

Assembly None ;

Location ;

Device g16v8 ;

/* *************** INPUT PINS *********************/

PIN 1 = clk ; /* */

PIN 2 = direccion ; /* */

/* *************** OUTPUT PINS *********************/

PIN 19 = Q3 ; /* */

PIN 18 = Q2 ; /* */

PIN 17 = Q1 ; /* */

PIN 16 = Q0 ; /* */

FIELD mode = [direccion];

ascendente = mode:0;

descendente = mode:1;

FIELD contador = [Q3,Q2,Q1,Q0];

$define estado0 'b'0000

$define estado1'b'0001

$define estado2 'b'0010

$define estado3 'b'0011

$define estado4 'b'0100

$define estado5 'b'0101

$define estado6 'b'0110

$define estado7 'b'0111

3 de 5
$define estado8 'b'1000

$define estado9 'b'1001

$define estado10 'b'1010

$define estado11 'b'1011

$define estado12 'b'1100

$define estado13 'b'1101

$define estado14 'b'1110

$define estado15 'b'1111

sequenced contador

present estado0 if ascendente next estado1;

if descendente next estado15;

present estado1 if ascendente next estado2;

if descendente next estado0;

present estado2 if ascendente next estado3;

if descendente next estado1;

present estado3 if ascendente next estado4;

if descendente next estado2;

present estado4 if ascendente next estado5;

if descendente next estado3;

present estado5 if ascendente next estado6;

if descendente next estado4;

present estado6 if ascendente next estado7;

if descendente next estado5;

present estado7 if ascendente next estado8;

if descendente next estado6;

present estado8 if ascendente next estado9;

if descendente next estado7;

present estado9 if ascendente next estado10;

if descendente next estado8;

present estado10 if ascendente next estado11;

if descendente next estado9;

present estado11 if ascendente next estado12;

if descendente next estado10;

present estado12 if ascendente next estado13;

if descendente next estado11;

present estado13 if ascendente next estado14;

4 de 5
if descendente next estado12;

present estado14 if ascendente next estado15;

if descendente next estado13;

present estado15 if ascendente next estado0;

if descendente next estado14;

Conclusión
En este ejercicio aprendimos a utilizar la directiva del preprocesador $define que nos
permite declarar nombres para constantes u operadores personalizados. También
aprendimos a declarar un FIELD, los FIELD nos sirven para darle un nombre a un grupo de
bits. Por último, aprendimos a crear una secuencia con el comando sequence y los
operadores present, if, next.
Realizamos un contador del 0 al 15, este contador es parecido a los contadores de década
que encontramos en el mercado, pero adaptado a nuestra aplicación contado pulsos de
manera descendente y ascendente controlado por un push button, que al unirlo a nuestro
decodificador para display de 7 segmentos nos permitio contar y representar los números 0-
F al mismo tiempo.

5 de 5

También podría gustarte