//
// ADC Example
// By PEK '2004
//
// MCU: 16F877
// Clock: 10 MHz
//
// To be used with the CCS compiler
//

#include <16F877.h>
#device ADC=10  // Use 10 bits
#fuses HS,NOWDT,NOPROTECT,NOLVP
#use delay(clock=10000000)
#use fast_io(B)

void main()
{
   // Setup Ports according to fast I/O
   output_b(0x00);
   set_tris_b(0x00);             // Set all pins as output

   // Setup A/D
   setup_adc_ports(RA0_ANALOG);  // Only RA0 as analog input
   setup_adc(ADC_CLOCK_DIV_32);  // Divide clock by 32
   set_adc_channel(0);           // Channel 0
   delay_us(100);                // Wait A/D acquisition time

   while(1)
   {
      output_b(read_adc() >> 2);
   }
}

