Código em C.
#include <12F675.h>
#device ADC=8
#fuses INTRC_IO,NOWDT,NOPUT,NOPROTECT,NOCPD,NOMCLR
#use delay(clock=4000000)
//xmit => TX ; rcv => RX
#use rs232(baud=9600, xmit=PIN_A5, rcv=PIN_A4)
#define GP0 PIN_A0
#define GP1 PIN_A1
#define GP2 PIN_A2
#define GP3 PIN_A3
#define GP4 PIN_A4
#define GP5 PIN_A5
#ROM 0x3ff = {0x3420} //USAR VALOR DE FÁBRICA PARA O OSCILADOR INTERNO
void main()
{
unsigned int temp=0;
char n;
disable_interrupts(GLOBAL);
//DEFINIÇÃO DE PORTAS ANALÓGICAS/////////////////////////////////////////////
setup_adc(ADC_CLOCK_INTERNAL);
setup_adc_ports(sAN0); //Define GP0 analógica
/////////////////////////////////////////////////////////////////////////////
// PRINTF
// \r retorno de linha
//\n nova linha
// \f manda limpar o terminal
printf("\f\r\nExemplo de Serial + ADC 8 bits\n\n");
printf("\r\nDigite \"R\" para ler voltagem\n");
set_adc_channel(0);
while(1)
{
if (kbhit())
{ // se recebeu um dado, devolve
n=getc();
if(n == 'R')
{
temp = read_adc();
delay_ms(1000);
printf("\rLeitura ADC em bits= %d\n",temp);
}
else
{
printf("\r\nLetra\n = %c",n);
}
}
}
}