Siguenos en ...

Google+facebooktwitter

youtubepinterest RSS aquihayapuntes

Últimos Tutoriales

Licencia

Creative Commons

 

Todo el contenido de este sitio está bajo una licencia de Creative Commons

 

Ejemplos básicos de PIC en C - Decodificador de Binario a Decimal

volver al índice

Código

/*Decodificador de binario a decimal, mostrando los resultados  en un display de siete segmentos.
autor: biblioman

www.aquihayapuntes.com*/

# include <16F84A.h>
# use delay(clock=4000000)
# fuses XT,NOWDT
# byte puerto_b=06   //Dirección del puerto B
# byte puerto_a=05   //Dirección del puerto A

void main() {

set_tris_b(0x00);  //Configuro la puerta B como salida y RA0, RA1, RA2, RA3 y RA4 como 
set_tris_a(0x1F);  //entradas aunque por defecto ya están configuradas como entradas

puerto_b=0;       //inicializo todos los bits de la puerta B a cero

while(true) //bucle infinito
{
if (input(PIN_A0)==false && input(PIN_A1)==false&& input(PIN_A2)==false)
{
puerto_b=0b0111111; //configura los bits de la puerta B
}
if (input(PIN_A0)==true && input(PIN_A1)==false&& input(PIN_A2)==false)
{
puerto_b=0b00000110;
}
if (input(PIN_A0)==false && input(PIN_A1)==true&& input(PIN_A2)==false)
{
puerto_b=0b01011011;
}
if (input(PIN_A0)==true && input(PIN_A1)==true&& input(PIN_A2)==false)
{
puerto_b=0b01001111;
}
if (input(PIN_A0)==false && input(PIN_A1)==false&& input(PIN_A2)==true)
{
puerto_b=0b01100110;
}
if (input(PIN_A0)==true && input(PIN_A1)==false&& input(PIN_A2)==true)
{
puerto_b=0b01101101;
}
if (input(PIN_A0)==false && input(PIN_A1)==true&& input(PIN_A2)==true)
{
puerto_b=0b01011110;
}
if (input(PIN_A0)==true && input(PIN_A1)==true&& input(PIN_A2)==true)
{
puerto_b=0b00000111;
}
}
}

 

CIRCUITO:

 

Decodificador binario decimal con el PIC 16f84A

 

 

 

Comentario:

 

Circuito sencillo que hace las funciones de un decodificador de binario a decimal de un dígito y muestra los resultados en un display de siete segmentos de cátodo común, lo que quiere decir que el PIC debe proporcionar valores positivos en su salida de la puerta B.

La relación entre las patillas del display y el valor de las letras de cada segmento es la siguiente:

 

relación patillas display

 

luego se puede hacer una pequeña tabla de verdad donde se muestre por cada combinación en la entrada que patillas del PIC se tienen que activar:

 

tabla de verdad decodificador binario

 

 

La lógica del programa lo único que hace es chequear el estado de las entradas, en este caso representadas por los interruptores A0, A1 y A2 y activar el conjunto de patillas correspondientes en el PIC que alimentarán los ánodos del display.

 

Una versión mejorada del ejemplo la tenéis aqui.

 

Un saludo y hasta la próxima.

 

volver al índice

© 2007-2017 AquiHayapuntes.com