#include <18f4550.h>
#device ADC=8
#use delay (clock=48M)
#use rs232(baud=460800, parity=N, xmit=PIN_C6, rcv=PIN_C7, bits=8)
#build (reset=0x02000,interrupt=0x02008)
#org 0x0000, 0x1FFF { }
#define S0 PIN_C0
#define S1 PIN_E1
int1 RUN=0;
void main(void){
output_drive(S0);
output_drive(S1);
enable_interrupts(INT_RDA);
enable_interrupts(GLOBAL);
setup_adc_ports(AN0_TO_AN1);
setup_adc(ADC_CLOCK_DIV_64 | ADC_TAD_MUL_4);
SET_ADC_CHANNEL(0);
delay_us(500);
int16 i;
int8 AN[255];
while(true){
if(RUN){
for(i=0;i<250;i++)
AN[i] = READ_ADC();
for(i=0;i<250;i++)
RUN=0;
}
output_bit(S0,RUN);
output_toggle(S1);
delay_ms(150);
}
}
#INT_RDA
void RDA_isr(void) {
RUN = !RUN;
}
clear_interrupt(INT_RDA);
}