Вы находитесь на странице: 1из 2

Cdigo

/*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 //Direccin del puerto B byte puerto_a=05 //Direccin 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 estn 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:

Comentario:
Circuito sencillo que hace las funciones de un decodificador de binario a decimal de un dgito y muestra los resultados en un display de siete segmentos de ctodo comn, lo que quiere decir que el PIC debe proporcionar valores positivos en su salida de la puerta B. La relacin entre las patillas del display y el valor de las letras de cada segmento es la siguiente:

luego se puede hacer una pequea tabla de verdad donde se muestre por cada combinacin en la entrada que patillas del PIC se tienen que activar:

La lgica 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 alimentarn los nodos del display. Una versin mejorada del ejemplo la tenis aqui. Un saludo y hasta la prxima.

Вам также может понравиться