TODOPIC
Microcontroladores PIC => Todo en microcontroladores PIC => Mensaje iniciado por: francpa en 19 de Febrero de 2013, 14:29:59
-
hola amigos
les cuento mi problema quiero hacer parpadear un led cada 500ms utilizando el timer1 del pic 16f1828, lo simulo en proteus no me genera error pero tampoco hace nada l compilacion tampoco me da error lo hago con otro pic y funciona bien, cualquioer ayuda se los agradeceria mucho
#include <16F1828.h>
#FUSES NOWDT, XT, NOPUT, NOPROTECT, NOCPD, NOBROWNOUT, NOLVP, NODEBUG, NOWRT, NOMCLR
#use delay(clock=4000000)
#use FIXED_IO( C_outputs=PIN_C0 )
#bit RB7=0x06.7
#int_TIMER1
void TIMER1_isr(void) //Función de interrupción por desbordamiento TMR1
{
RB7=~RB7;
set_timer1(0x0BDC);//carga del TMR1
}
void main()
{
set_tris_c(0b01111111); //configura RB7 como salida el resto como entrada
RB7=0;
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);
set_timer1(0x0BDC);
while(true);
}
aqui esta el codigo adjunto
gracias por cualquier ayuda
-
#include <16F1828.h>
#FUSES NOWDT, XT, NOPUT, NOPROTECT, NOCPD, NOBROWNOUT, NOLVP, NODEBUG, NOWRT, NOMCLR
#use delay(clock=4000000)
#use FIXED_IO( b_outputs=PIN_B7 )
#bit RB7=0x06.7
#int_TIMER1
void TIMER1_isr(void) //Función de interrupción por desbordamiento TMR1
{
RB7=~RB7;
set_timer1(0x0BDC);//carga del TMR1
}
void main()
{
set_tris_b(0b01111111); //configura RB7 como salida el resto como entrada
RB7=0;
setup_timer_1(T1_INTERNAL|T1_DIV_BY_8);
enable_interrupts(INT_TIMER1);
enable_interrupts(GLOBAL);
set_timer1(0x0BDC);
while(true);
}
lo siento me habia equivocado este es el codigo verdadero el que no me funciona, segun yo esta bueno, al simularlo en el proteus no pasa nada
saludos
-
Intenta hacer lo siguiente en la rutina de interrupción
#int_TIMER1
void TIMER1_isr(void) //Función de interrupción por desbordamiento TMR1
{
conta = conta + 1;
if(conta == 1)
{
output_pin(pin_b7, 1)
set_timer1(0x0BDC);//carga del TMR1
}
else
{
output_pin(pin_b7, 0)
set_timer1(0x0BDC);//carga del TMR1
conta = 0;
}
}
Donde conta es una variable global que se inicializa desde la función main().
-
Hola Chenao, tal vez en vez de poner output_pin(pin, valor), quisiste poner output_bit(pin, valor)
Saludos!
-
Hola Chenao, tal vez en vez de poner output_pin(pin, valor), quisiste poner output_bit(pin, valor)
En efecto bmb eso me pasa por andar a las carreras y no verificar las sintaxis de las funciones, gracias (y).