rahip escribió:Estimado biblioman, primeramente te agradezco infinitamente por el aporte la ayuda que nos brindas con este aporte tuyo.
Segundo quisiera hacer notar que hay un error en la tabla de verdad con respecto al numero 6, las salidas activas deberian ser:
RB2,RB3,RB4,RB5,RB6,RB7.
por lo que el codigo deberia de ser:
- Código: Seleccionar todo
/*Decodificador de binario a decimal, mostrando los resultados en un display de siete segmentos.
autor: biblioman
http://www.aquihayapuntes.com*/
# include
# 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=0b01111100;
}
if (input(PIN_A0)==true && input(PIN_A1)==true&& input(PIN_A2)==true)
{
puerto_b=0b00000111;
}
}
}
Hasta la proxima y continua asi.
Gracias por tu comentario y por tú corrección, equivocarse es de humanos y el corregir de sabios, en vez de un "6" se me coló una "b". En cuanto pueda corregiré el artículo.
Decir también que el foro en lo que respecta a usuarios no está integrado con los usuarios de la página (el plugin que hay para ello no me convenció), por lo que hay que volver a registrarse (para el que se haya registrado en la página puede utilizar el mismo usuario y clave).
A primeros de Septiembre continuaré con el curso y con otros temas relacionados con los PIC.
Un saludo y hasta pronto.
