Electronica digital contador de 0 a 99 en decimal

Solo disponible en BuenasTareas
  • Páginas : 7 (1641 palabras )
  • Descarga(s) : 0
  • Publicado : 15 de marzo de 2012
Leer documento completo
Vista previa del texto
Redacción del Problema:

Diseñe un contador de 0 a 99 en decimal de forma ascendente.

Diagrama de Bloques:

QO

Q1

Q2
Contador

Display (decenas)
Q3

Q6
Q5
Q4

Q5
Q4
Q3
Q2
Q1
QO
Contador
Q6

Display (unidades)

Rck

Clk



Diagrama de Transición

Para este sistema secuencial se han identificado 10 estados, los números del 0 al 9, Los números siguientesserán una simple secuencia. Sin embargo como se pretende evitar el decodificador, tendremos que conectar dos GAL en cascada por medio de una salida combinacional llamada Ripple Clock 0 Rck como le llamaremos de ahora en adelante. El cual será el clock para el siguiente GAL, generando un pulso cada vez que se completen diez unidades es decir una decena.

Asignación de valores a los estados

Laasignación de los val0res será esencial para el correcto encendido de los LEDs que darán forma a los números decimales.

Normalmente se trabaja con el número de flip flops correspondiente al número de eventos |que se requieren, sin embargo para este proyecto declararemos 6 flip flops, por lo que tendremos la cantidad suficiente de salidas como para asignarlas a los segmentos del display y de estamanera tendremos un contador con decodificador a siete segmentos en un solo dispositivo.

Estado | Q6=F | Q5=G | Q4=A | Q3=B | Q2=C | Q1=D | Q0=E |
E0 | 1 | 0 | 1 | 1 | 1 | 1 | 1 |
E1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 |
E2 | 0 | 1 | 1 | 1 | 0 | 1 | 1 |
E3 | 0 | 1 | 1 | 1 | 1 | 1 | 0 |
E4 | 1 | 1 | 0 | 1 | 1 | 0 | 0 |
E5 | 1 | 1 | 1 | 0 | 1 | 1 | 0 |
E6 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |E7 | 0 | 0 | 1 | 1 | 1 | 0 | 0 |
E8 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
E9 | 1 | 1 | 1 | 1 | 1 | 1 | 0 |














Código ABEL

Como se trata de un contador de 0 a 99, ambos dispositivos se configuraran con base al mismo programa, lo que diferenciará al dispositivo de las decenas del de las unidades será el Rck el cual generará un pulso en la transición del estadoE9 al E0.

MODULE contador

declarations
Clk pin 1;
Rck pin 12 istype 'com';
Q6..Q0 pin 19..13 istype 'reg';

S=[Q6..Q0];

E0=[1,0,1,1,1,1,1];
E1=[0,0,0,1,1,0,0];
E2=[0,1,1,1,0,1,1];
E3=[0,1,1,1,1,1,0];
E4=[1,1,0,1,1,0,0];
E5=[1,1,1,0,1,1,0];
E6=[1,1,1,0,1,1,1];
E7=[0,0,1,1,1,0,0];
E8=[1,1,1,1,1,1,1];
E9=[1,1,1,1,1,1,0];

equationsS.clk=Clk;

state_diagram S

State E0:
Rck=1;
goto E1 ;

State E1:
Rck=1;
goto E2 ;

State E2:
Rck=1;
goto E3 ;

State E3:
Rck=1;
goto E4 ;

State E4:
Rck=1;
goto E5 ;

State E5:
Rck=1;
goto E6 ;

State E6:
Rck=1;
goto E7 ;

State E7:
Rck=1;
goto E8 ;

State E8:
Rck=1;
goto E9 ;

State E9:
Rck=0;
goto E0 ;test_vectors

([Clk]->[Rck])
[.c.]->[.x.];
[.c.]->[.x.];
[.c.]->[.x.];
[.c.]->[.x.];

[.c.]->[.x.];
[.c.]->[.x.];
[.c.]->[.x.];
[.c.]->[.x.];

[.c.]->[.x.];
[.c.]->[.x.];
[.c.]->[.x.];
[.c.]->[.x.];

END










Simulación
Podemos observar el comportamiento del Ripple Clock el cual actuará como elPulso(Clk) de el siguiente GAL conectado en cascada.



Archivo RPT
P16V8R Programmed Logic:
--------------------------------------------------------------------------------



Rck = ( !Q6.Q & !Q5.Q & !Q4.Q & Q3.Q & !Q2.Q & !Q1.Q
# Q6.Q & Q5.Q & !Q3.Q & !Q2.Q & Q1.Q & Q0.Q
# !Q6.Q & !Q5.Q & Q4.Q& !Q3.Q & !Q2.Q & Q1.Q & Q0.Q
# Q6.Q & !Q5.Q & !Q4.Q & !Q3.Q & !Q2.Q & !Q1.Q & Q0.Q
# Q6.Q & !Q5.Q & !Q4.Q & !Q3.Q & Q2.Q & !Q1.Q & !Q0.Q
# !Q6.Q & !Q4.Q & !Q3.Q & !Q2.Q & !Q1.Q & !Q0.Q );

Q6.D = ( !Q6.Q & !Q5.Q & Q4.Q & !Q3.Q & !Q2.Q & Q1.Q...
tracking img