You are on page 1of 4

#include <16F883.

h>

#device ADC = 10 //Define 10 bits para o resultado da converso AD

#use delay (clock=4000000)


para clculo dos

//Aqui definimos a frequncia do cristal

//delays
#fuses XT,WDT, NOPUT, NOBROWNOUT, NOLVP

//Configurao dos fusveis

//Define o bit 2 do resgistrador INTCON como T0IF

float ad; //Varivel para armazenamento da converso

float saida;

///////////////////////////////////////////////////////////////////////////

void main()
{

SETUP_ADC_PORTS(sAN0);

//Configurada a entrada analgica, somente a


//entrada RA0

SETUP_ADC(ADC_CLOCK_INTERNAL);
SET_ADC_CHANNEL(0);

//Configurado o conversor AD interno


//Configurado o canal de leitura 0

setup_wdt(WDT_1152MS);

//port_b_pullups(True);

//Habilia os resistores de Pullup

//* Configura o Timer 0 para contagem externa com incremento na


borda de descida e prescaler de 1:2 */

//LCD_Ini(); //Inicializa o LCD

while(true)
{

ad = READ_ADC();

saida=(20*ad/1024);

if (saida<14){
output_high(pin_b0); // em carga
output_low(pin_b2);
delay_ms(200);

if(saida>14){
output_low(pin_b0); // em repouso
output_high(pin_b2);

delay_ms(100);
}

if(saida<9){
output_low(pin_c4);
output_high(pin_b1);
//output_high(pin_c3);
//output_high(pin_c2);

delay_ms(100);
}
if(saida>9){
output_high(pin_c4);
output_low(pin_b1);

restart_wdt();
delay_ms(100);
}

}
}

You might also like