Estou usando mplax com xc8
Segue...
#include<pic12f629.h>
#include<htc.h>
#include <stdio.h>
#include <stdlib.h>
#include"xc.h"
#pragma config MCLRE=OFF , CP=OFF, CPD=OFF , BOREN=OFF , WDTE=OFF , PWRTE=OFF , FOSC=INTRCIO
#define _XTAL_FREQ 4000000
volatile int i;
void sys_init(void);
void sys_init(void)
{
GPIE=0;
CMCON =0b00000111;
TRISIO =0; TRISIO0=0; TRISIO1=0; TRISIO2=0; TRISIO4=1; TRISIO5=0; TRISIO3=1; GPIO =0;
T0IE = 0; // Disable timer interrupt
GIE = 0;
}
int main(int argc, char** argv) {
//Inicializa PIC
sys_init();
//contador sensor 2
int isDelay = 0;
//GPIO4 -> Sensor 1 -> Sensor invertido -> 0 - Sensor habilitado -> 1 - Sensor desabilitado
//GPIO5 -> Sensor 2 -> Sensor invertido -> 0 - Sensor habilitado -> 1 - Sensor desabilitado
//GPIO0 -> Rele 1
//GPIO1 -> Rele 2
while(1)
{
//Caso Sensor 0 sinal baixo (sensor habilitado)
if (GPIO4==0 ){
//Saida 4 sinal alto
GPIO0 = 1;
isDelay = 1;
//Caso Sensor 1 sinal alto (sensor desabilitado)
}else{
//Saida 0 sinal baixo, caso não esteja
GPIO0 = 0;
//Habilitar sensor 0
desls0 = 0;
}
if (GPIO5==0 ){
//Saida 4 sinal alto
GPIO1 = 1;
isDelay = 1;
//Caso Sensor 0 sinal alto (sensor desabilitado)
}else{
//Saida 4 sinal baixo, caso não esteja
GPIO1 = 0;
}
//Saida 4 vai para sinal baixo
GPIO0 = 0;
if(isDelay==1){
//Aguarda 4 segundos
__delay_ms(4000);
}
}
}