#include <12f629.h>
#fuses HS,NOWDT
#use delay(clock = 20MHz)
#use rs232(baud=9600, xmit=pin_A0, rcv=pin_A1)
void timer();
int8 dato;
#int_rda
void recepcion_serial (void)
{
dato = getc();
}
void main (void)
{
enable_interrupts(int_rda);
enable_interrupts(global);
while (true)
{
if (dato != 0){
timer();
}
}
}
void timer(){
again:;
output_high(PIN_A2);
if(dato==0){
output_low(PIN_A2);
goto fin;
}
else{
dato--;
delay_ms(1000);
}
goto again;
fin:;
}
#include <12f629.h>
#fuses HS,NOWDT
#use delay(clock = 20MHz)
#use rs232(baud=9600, xmit=pin_A0, rcv=pin_A1)
void timer();
char dato;
#int_rda
void recepcion_serial (void)
{
dato = getc();
}
void main (void)
{
enable_interrupts(int_rda);
enable_interrupts(global);
while (true){
printf("%c\r",dato); //Imprime valor
}
}
recibe los datos de otro pic en el cual se escriben por medio de un teclado y un display, este los envia al segundo pic el cual graba los datos en la eeprom para que al volver a encender el circuito continue con la demora previamente programada.