/*
* Servo.c
*
* Created: 07-Oct-20 12:42:40 PM
* Author : Luke
*/
#define F_CPU 16000000UL
#include <avr/io.h>
int main(void)
{
DDRD |= (1<<PD5);
ADMUX = 0x60;
ADCSRA |= (1<<ADEN) | (1<<ADATE) | (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0);
TCNT1 = 0;
ICR1 = 4999; //16M / 64 / 50 = 5000
TCCR1A |= (1<<WGM11)|(1<<COM1A1);
TCCR1B |= (1<<WGM12)|(1<<WGM13)|(1<<CS10)|(1<<CS11);
while (1)
{
ADCSRA |= (1<<ADSC);
while(!(ADCSRA&(1<<ADSC)));
ADCSRA|=(1<<ADIF);
OCR1A = (ADCH*1.84) + 130;
}
}