#include <16F818.h>
#device ADC=10
#fuses NOWDT,INTRC_IO,PUT,NOPROTECT,BROWNOUT,NOLVP,NOCPD,NOMCLR
#use delay(clock=250000)
#define Q0 PIN_B0
#define Q1 PIN_B1
#define Q2 PIN_B2
#define Q4 PIN_B3
#define Q5 PIN_B4
#define Q6 PIN_B5
#define Q8 PIN_B6
#define Q9 PIN_B7


void main(){

   int16 throttle;
   int16 time;
   int16 dly;
   delay_ms(500);
   setup_adc(ADC_CLOCK_INTERNAL);
   setup_adc_ports(AN0);
   delay_ms(500);
   
while(1){

   throttle = 0;
   set_adc_channel(0);
   throttle = read_adc();
   time=throttle;
   dly=1500-time;

   output_high(Q0);
   delay_us(dly);
   output_low(Q0);
   output_high(Q1);
   delay_us(dly);
   output_low(Q1);
   output_high(Q2);
   delay_us(dly);
   output_low(Q2);
   delay_us(dly);
   output_high(Q4);
   delay_us(dly);
   output_low(Q4);
   output_high(Q5);
   delay_us(dly);
   output_low(Q5);
   output_high(Q6);
   delay_us(dly);
   output_low(Q6);
   delay_us(dly);
   output_high(Q8);
   delay_us(dly);
   output_low(Q8);
   output_high(Q9);
   delay_us(dly);
   output_low(Q9);
}
}
