#include <12f509.h>
#fuses INTRC, NOWDT, NOPROTECT, NOMCLR
#use delay(clock=4000000)
#use fast_io(B)
void active_fan()
{
output_low(PIN_B0);
output_high(PIN_B4);
output_high(PIN_B1);
delay_ms(25);
}
void desactive_fan()
{
output_low(PIN_B4);
output_low(PIN_B1);
output_high(PIN_B0);
delay_ms(25);
}
void diagnostic()
{
output_high(PIN_B4);
output_low(PIN_B0);
delay_ms(500);
output_high(PIN_B0);
output_low(PIN_B4);
delay_ms(500);
}
void main()
{
SET_TRIS_B(0x2C);
do
{
if((input(PIN_B5))&&(!input(PIN_B3)))
{
diagnostic();
}
else
{
if(input(PIN_B5))
{
active_fan();
}
if(!input(PIN_B3))
{
desactive_fan();
}
}
}
while(1);
}