Codificadores y Decodificadores


El codificador es un circuito que se invento para pasar información de un sistema a otro con clave diferente, Un codificador esta hecho para convertir una entrada no binaria en una salida de estricto orden binario. y en muchos casos un decodificador es el circuito o dispositivo que regresa los datos o información al primer sistema. En otras palabras, es un circuito integrado por un conjunto de componentes electrónicos con la habilidad para mostrar en sus terminales de salida un Word binario (01101, 1100, etc.)El decodificador es un circuito combinacional diseñado para convertir un número binario (entrada) en word de "unos" y "ceros" (niveles altos y bajos de voltaje) con un orden distinto, para ejecutar un trabajo especial. Debido a que el caso que nos ocupa es el de la lógica digital, y en especial la aritmética binaria, hemos de dar sentido más directo a los términos "codificador" y "decodificador". ejemplo, un Octal-to-binary encoder es un circuito codificador con ocho entradas (un terminal para cada dígito Octal, o de base 8) y tres salidas (un terminal para cada bit binario).

Los decodificadores son también usados en los microprocesadores para convertir instrucciones binarias en 
                                                     

                                                            Decodificadores

Los decodificadores son circuitos Combinacionales que sirven para hacer la conversión entre dos tipos diferentes de codificación. Hay muchos códigos utilizados en la electrónica digital, y entre ellos podemos destacar: BCD-8421 código Gray, código de Johnson, el código ASCII y una multitud de otros códigos. A menudo tenemos que convertir estos códigos a un usurero, por ejemplo, puede comprender más rápidamente. Para el usuario, es mucho más fácil ver el número en una representación decimal de un código binario y para ello podemos utilizar el CD4511.

                                                                 El CD4511

Él es un decodificador BCD-8421 (Binary-Coded Decimal), que recibe un código binario de pines de entrada ABCD y decodifica al formato de visualización decimal de 7 segmentos.
La codificación BCD-8421 es la representación de números decimales en cuatro bits binarios. Los valores de 8421 son, respectivamente, los segundos valores altos para el valor de su posición (2 ^ 3, 2 ^ 2, 2 ^ 1, 2 ^ 0). Este código toma sólo 10 dígitos, que van 0-9.
En la tabla de abajo se puede ver la tabla con los valores decodificados de 7
La función de este circuito es transformar los pulsos eléctricos binarios (HIGH, LOW) que se genera en el dispositivo Arduino, estas señales el decodificador (Circuito integrado CD4511) las transformara a señales hexadecimales para poder ser visualizadas en el display.
Las señales binarias se programaran de la siguiente manera en la tablilla Arduino, los pulsos para un 1 se pondrán en high y las señales en 0 se pondrá LOW, según corresponda generaremos los números como se indican las combinaciones en la siguiente tabla.


                                    
                                                    Lista de materiales

         1  Arduino
         1  pantalla de 7 segmentos
         1  CD4511 circuito integrado
         4  330Ω resistencias
         1  220Ω resistencia
         1 Alguno puente
          4 LED´s


int a=2;
int b=3;
int c=4;
int d=5;
 void setup(){
   pinMode(a, OUTPUT);
   pinMode(b, OUTPUT);
   pinMode(c, OUTPUT);

   pinMode(d, OUTPUT);
 }
 void loop()

 {
   digitalWrite(a,HIGH);
   digitalWrite(b,LOW);
   digitalWrite(c,LOW);
   digitalWrite(d,LOW);
   delay(1000);
   digitalWrite(a,HIGH);
   digitalWrite(b,HIGH);
   digitalWrite(c,LOW);
   digitalWrite(d,LOW);
   delay(1000);
   digitalWrite(a,HIGH);
   digitalWrite(b,HIGH);
   digitalWrite(c,HIGH);
   digitalWrite(d,LOW);
   delay(1000);
  
   digitalWrite(a,HIGH);
   digitalWrite(b,HIGH);
   digitalWrite(c,HIGH);
   digitalWrite(d,HIGH);
   delay(1000);
  
   digitalWrite(a,LOW);
   digitalWrite(b,LOW);
   digitalWrite(c,LOW);
   digitalWrite(d,LOW);
   delay(1000);
  
   digitalWrite(a,LOW);
   digitalWrite(b,HIGH);
   digitalWrite(c,HIGH);
   digitalWrite(d,HIGH);
   delay(1000);
  
   digitalWrite(a,LOW);
   digitalWrite(b,LOW);
   digitalWrite(c,HIGH);
   digitalWrite(d,HIGH);
   delay(1000);
  
   digitalWrite(a,LOW);
   digitalWrite(b,LOW);
   digitalWrite(c,LOW);
   digitalWrite(d,HIGH);
   delay(1000);
  

 }



No hay comentarios:

Publicar un comentario