Parte de meu programa:
#include <18F4550.h>
#device ADC=10
#fuses INTRC_IO,NOWDT,NOMCLR,PROTECT,NOLVP,NODEBUG,BROWNOUT,NOPUT
#use delay(clock=8000000)
#use fast_io(
#use STANDARD_IO©
#include <stdlib.h>
#include <math.h>
.......
while (true){
if(!input(PIN_B0) && input(PIN_B1) == 1 && input(PIN_B2) == 1)
{
if (VRef_Esq - VauxPisca_Esq < 25) // VRef_Esq() e VauxPisca_Esq() são funções para ler AN0 e AN1
{
OUTPUT_HIGH(PIN_C1); // ligar carga no Mosfet
delay_ms(40);
OUTPUT_LOW(PIN_C1); // desligar Saída alarme esquerdo
OUTPUT_LOW(PIN_C6); // desliga direito
delay_ms(175);
}
.....
No meu esquema a gate do mosfet liga na saída C1 do PIC através de uma resistência de 150 Ohms e o dreno liga nas luzes de LEDs que são alimentadas a 12V. A source está ligada a GND.