Hacer Titilar Led Con Pic En C

Hola. Básicamente lo que estoy buscando es que al ingresar un 1 mediante un pulsador comience a titilar un led con un periodo de 1 segundo. Al presionar otro pulsador el led queda prendido. Y por ultimo con un tercer pulsador lo apago. Bueno les comento que estoy empezando a descubrir este maravilloso mundo de las pics y por recomendación de un profesor empecé en lenguaje c porque es más "flexible" lo puedo compilar para un pic y con cambios mínimos lo compilo para otro pic distinto. Desde ya muchas gracias y tengan en cuenta que nose mucho (casi nada de pics) si pueden explíqueme paso a paso el programa.

--> DIUNNY <--
 
hay un maravillosto turorial del pic en c para inciarse y casualmente todos enpiezan igual: haciendo parpadear un led.

Este es por interrupcion.
Si no lo quieres usar con interrupcion usa:

output_high(pin_b3);//indicador
delay_ms(1000);
output_low(pin_b3);//indicador
delay_ms(1000);
Detro de un while e igual te funciona.


//intermitente por interrupcion rtcc
#include <16f876a>
#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT
#use delay(clock=4000000)
#use standard_io(b)
#byte PORTB=6// para poder acceder a portb con ese nombre,otra?
int contRTCC = 0;

#int_RTCC
RTCC_isr(){
output_high(pin_b3);//indicador
++contRTCC;
if(contRTCC==250)//complementa el estado de la salida
{
contRTCC=0x00;
if (bit_test(PORTB,0)){
output_low(pin_b0);
}
else{
output_high(pin_b0);
}
}
}

void main() {

setup_counters(RTCC_INTERNAL,RTCC_DIV_16);//configura timer0

enable_interrupts(INT_RTCC);//interrupciones del timer y general
enable_interrupts(global);
output_high(pin_b1);//indicador

do{
output_high(pin_b2);//indicador
} while (TRUE);
}
 
Atrás
Arriba