- PIC16F684 ADC
#include <16F684.h>
#device ADC=8
#fuses INTRC_IO,NOWDT,NOPROTECT,BROWNOUT
#use delay(clock=8000000)
void main(void)
{
unsigned int8 value;
// PORT Init
set_tris_a(0x00);
set_tris_c(0x01);
// output_a(0x00);
// output_c(0xFF);
// ADC Init 1
// setup_adc(4); // setup_adc(int16 mode);
// read_adc(void);
// read_adc(int8 mode);
// read_adc(void);
// read_adc(int8 mode);
// adc_done(void);
// ADC Init 2
setup_adc_ports(sAN4); // Built-in A/D setup function
setup_adc(ADC_CLOCK_INTERNAL); // Built-in A/D setup function
set_adc_channel(4); // Built-in A/D setup function
while(1)
{
if(value > 100)
{
output_c(0xFF);
}
else
{
output_c(0x00);
}
delay_ms(100);
value = read_adc(); // Built-in A/D read function
}
}