Wednesday 3 June 2015

ADC--PIC

#include<htc.h>
#define rs RC0
#define en RC1
char a;
void lcdcmd(int cmd);
void lcddisp(char dat);
void delay(int s)
{
while(s--);
}
void intlcd()
{
lcdcmd(0x38);
lcdcmd(0x01);
lcdcmd(0x06);
lcdcmd(0x0E);
}
void adcint(int ch)
{
ADCON0=ch;
ADCON1=0x82;
ADIF=0;
}
unsigned int adcread()
{
ADGO=1;
while(ADGO==1);
delay(100);
ADGO=0;
ADIF=0;
a=(ADRESH<<8 | ADRESL)*0.49;
return(a);
}

void convert(char volt)
{
int d,e,f,g;
d=a/100;
e=a%100;
f=e/10;
g=e%10;
lcddisp(d+0x30);
delay(1000);
lcddisp(f+0x30);
delay(1000);
lcddisp(g+0x30);
delay(1000);
}
void lcddisp(char dat)
{
  rs=1;
  en=1;
delay(200);
PORTD=dat;
en=0;
}
void lcdcmd(int cmd)
{
rs=0;
en=1;
delay(200);
PORTD=cmd;
en=0;
}

void main()
{
char volt;

TRISA=0xff;
TRISE=0x00;
TRISD=0x00;
TRISC=0x00;
while(1)
{
intlcd();
 adcint(0xc1);
 volt=adcread();
 convert(volt);
delay(6500);
lcdcmd(0x01);

}
}

No comments:

Post a Comment