#include "adc.h"#include <avr/io.h>void AD_Init_Interrupt() {ADMUX = 0b01000000; // PORTC_0,Vref=V_ACC,capacitor on AVREFADCSRA = (0b00000011); // 8 PrescalingADCSRA |= (1 << ADFR); // Set ADC to Free-Running ModeADCSRA |= (1 << ADIE); // enable interrupt// sei();ADCSRA |= (1 << ADEN); // Enable ADCADCSRA |= (1 << ADSC); // Start A2D Conversions}void AD_Init() {ADMUX = 0b01000000; // PORTC_0,Vref=Vacc with cap. on ref.ADCSRA |= (0b00000101); // 32 PrescalingADCSRA |= (1 << ADFR); // Set ADC to Free-Running ModeADCSRA |= (1 << ADEN); // Enable ADCADCSRA |= (1 << ADSC); // Start A2D Conversions}unsigned char AD_Read() {char val;val=(ADCL>>2); // low must be read first!! see datasheet...val|=(ADCH<<6);return val;}