Você está na página 1de 12

Modulo de conversion A/D

PIC 16F87x

PIC 16F87x

PIC 16F87xA

void init_a2d(void){ //ADCON0=0; ADCS0=0; //Fos=2 ADCS1=0; ADCS2=0; ADGO=0; //Conversin Finalizada //ADCON1=0; PCFG0=0;// Todas las entradas analgicas PCFG1=0; PCFG2=0; PCFG3=0; ADFM=1; // Ajuste a la derecha ADON=1; }

int read_a2d( char channel){ channel&=0x07; ADCON0&=0xC5; ADCON0|=(channel<<3); ADGO=1; while(ADGO)continue; return((ADRESH*256)+ADRESL); }
char *ftoa1(float f) { static char buf[17]; char * cp = buf; unsigned long l, rem;
if(f < 0) { *cp++ = '-'; f = -f; } l = (unsigned long)f; f -= (float)l; rem = (unsigned long)(f * 1e6); sprintf(cp, "%lu.%6.6lu", l, rem); return buf; }

Você também pode gostar