Hola,
El código es sencillo:
#include <16F84.h>
#use delay(clock=4000000)
#fuses XT,PUT,NOWDT
#define PORTA = 5
#bit RELAY = PORTA.0 //Esta es la salida para el relay.
void main() {
//Inicializar los puertos.
set_tris_a(0b00000000); // Todo el puerto A salidas.
set_tris_b(0b00000000); // Todo el puerto B salidas.
RELAY = 0; // Comenzar con el relay desactivado.
delay_ms(2000); // Esperar 2 segundos.
RELAY = 1; // Activar el relay.
delay_ms(1000); // durante 1 segundo.
RELAY = 0; // Desactivar el relay.
sleep();
}
El PIC16F84 debería alimentarse con los mismos 220V del aparato a controlar. Al encenderse espera que la tension esté estable durante 2 segundos, luego activa el relay durante 1 segundo y se duerme. Si se corta la energía antes de esos 2 segundos, el micro tambien se apaga por lo que hay que esperar que vuelva la energía y se mantenga durante otros 2 segundos.
Espero te sirva.