TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: ECHA en 14 de Abril de 2011, 11:30:44

Título: Problemas en el programa de parpadeo de leds
Publicado por: ECHA en 14 de Abril de 2011, 11:30:44
Buenos días, estoy iniciando en esto de la programación en C. Mi proyecto es un control remoto bajo el protocolo nec o el rc5x.

por ahora estoy aprendiendo a encender y apagar unos leds pero me ha generado algunos problemas... aquí esta el código:

#include <16F88.h>
#fuses XT,NOWDT,NOPROTECT
#use delay(clock=4000000)
#use fast_io(B)

void main()
{
setup_adc_ports (NO_ANALOGS);
set_tris_b(0x00);
while (true)
{         
output_b(0xff);
delay_ms(500);
output_b(0x00);
delay_ms(500);
}
}

Se desea que el mismo encienda y apague todos los leds en el puerto B, pero no me enciende RB7 y RB6 me da una salida de 1v siempre...lo otro es que el programa tarda para iniciar, me quedo esperando un tiempo para que el inicie el encendido y apagado del puerto B.
Título: Re: Problemas en el programa de parpadeo de leds
Publicado por: jukinch en 14 de Abril de 2011, 11:34:00
Hola Echa:
            Por las dudas prueba con otro microcontrolador. Para descartar problemas de hardware.
               Saludos.
                   Jukinch
Título: Re: Problemas en el programa de parpadeo de leds
Publicado por: ECHA en 14 de Abril de 2011, 11:42:01
Hola Echa:
            Por las dudas prueba con otro microcontrolador. Para descartar problemas de hardware.
               Saludos.
                   Jukinch

Ok muy bien lo intentare, gracias...
Título: Re: Problemas en el programa de parpadeo de leds
Publicado por: AngelGris en 14 de Abril de 2011, 11:51:59
  Nos ayudaría también el que subas un esquema de como está todo conectado, para poder ver si hay algún error en el conexionado.
Título: Re: Problemas en el programa de parpadeo de leds
Publicado por: ECHA en 14 de Abril de 2011, 12:15:48
  Nos ayudaría también el que subas un esquema de como está todo conectado, para poder ver si hay algún error en el conexionado.

bueno no he hecho el esquema, pero todo esta bien conectado, los puertos rb0...rb5 enciende y los rb6 y rb7 nop...bueno he realizado algunas pruebas y adivinen pues funciono, explico:

estaba compilando el programa con el mplab y me daba ese problema...ahora compile el mismo programa con el PIC C compiler PCWHD y funciono con el .hex generado por este programa, ahora no me explico por que? que cosa más extraña
Título: Re: Problemas en el programa de parpadeo de leds
Publicado por: ECHA en 14 de Abril de 2011, 12:22:55
  Nos ayudaría también el que subas un esquema de como está todo conectado, para poder ver si hay algún error en el conexionado.

bueno no he hecho el esquema, pero todo esta bien conectado, los puertos rb0...rb5 enciende y los rb6 y rb7 nop...bueno he realizado algunas pruebas y adivinen pues funciono, explico:

estaba compilando el programa con el mplab y me daba ese problema...ahora compile el mismo programa con el PIC C compiler PCWHD y funciono con el .hex generado por este programa, ahora no me explico por que? que cosa más extraña

Este es el .hex con mplab
0000   3000   008A   2819   3022   0084   1383   0800
1903   2818   3001   00F8   01F7   0BF7   280D   0BF8
280C   304A   00F7   0BF7   2813   2816   0B80   280A
3400   0184   1383   301F   0583   1683   121F   129F
081B   3980   009B   3007   009C   121F   129F   081B
3980   009B   3000   0086   30FF   1283   0086   3002
00A1   30FA   00A2   2004   0BA1   2831   0186   3002
00A1   30FA   00A2   2004   0BA1   2839   1683   282C
2840   3FFF   3FFF   3FFF   3FFF   3FFF   3FFF   3FFF

y este es el .hex con el PCWHD
3000   008A   2819   0000   3022   0084   1383   0800
1903   2818   3001   00F8   01F7   0BF7   280D   0BF8
280C   304A   00F7   0BF7   2813   2816   0B80   280A
3400   0184   1383   301F   0583   1683   121F   129F
081B   3980   009B   3007   009C   121F   129F   081B
3980   009B   3000   0086   30FF   1283   0086   3002
00A1   30FA   00A2   2004   0BA1   2831   0186   3002
00A1   30FA   00A2   2004   0BA1   2839   1683   282C
0063   3FFF   3FFF   3FFF   3FFF   3FFF   3FFF   3FFF
Título: Re: Problemas en el programa de parpadeo de leds
Publicado por: ECHA en 14 de Abril de 2011, 13:20:06
bueno hice otro programita mediante pulsadores activa leds aqui se los dejo:

#include <16f88.h>
#fuses XT,NOWDT,NOPROTECT
#use delay(clock=4000000)
#use fast_io(A)

void main()
{
setup_adc_ports (NO_ANALOGS); 
set_tris_a(0x1C);
do

output_a(0x00); 
if (input(pin_a2))

output_high(pin_a1); 
}
if (input(pin_a3))

output_high(pin_a0);
}
if (input(pin_a4))
output_a(0xff);
delay_ms(500);
output_a(0x00);
delay_ms(500);
}
while(true);
}

Todo con el mismo puerto. Gracias por la ayuda de todos espero pronto colaborar con un control remoto bajo el protocolo NEC o RC-5X. El foro me ha ayudado bastante gracias a dios que existe...Saludos y seguiremos en contacto.