Projeto 3: Trabalhando com 2 entradas analógicas do mesmo grupo

07/12/2016

PIC18F4431

#include<p18f4431.h>
#include<timers.h>
unsigned int vdig, vdig1, timer=0;
float vanal, vanal1;
void config_ad()
{
ADCON0=0X27;
ADCHS=0X00;
ANSEL0=0XFF;
ADCON1=0X10;
ADCON2=0X80;
TRISC=0X00;
TRISD=0X00;
}
void main()
{
OSCCON=0X72;
config_ad();
OpenTimer0(TIMER_INT_OFF
&T0_16BIT
&T0_SOURCE_INT
&T0_PS_1_128);
while(1)
{
timer=ReadTimer0();
if(timer<=1562)
{
ADCHS=0X00;
vdig=ADRESH;
vdig=vdig<<8;
vdig+=ADRESL;
vanal=4.88e-3 * vdig;
if(vanal>2.5)
{
PORTC=0X01;
}
else
{
PORTC=0x00;
}
}
else if((timer>1562)&&(timer<=3124))
{
ADCHS=0X10;
vdig1=ADRESH;
vdig1=vdig1<<8;
vdig1+=ADRESL;
vanal1=4.88e-3 * vdig1;
if(vanal1>2.5)
{
PORTD=0X01;
}
else
{
PORTD=0x00;
}
}
else if((timer>3124)&&(timer<=4686))
{
WriteTimer0(0);
timer=0;
}
}
}

© 2016 Dnl Silva. São Paulo - SP
Desenvolvido por Webnode
Crie seu site grátis! Este site foi criado com Webnode. Crie um grátis para você também! Comece agora