This is an old revision of the document!
/*------------------------------------------------------------- Lab: 3b Title: RC Servo motor with Actuator Board Date: 080327 Ver.: 1.1 Compiler: AVR-GCC Target: ATmega128 Hardware: ATmega128 controller board, Actuator board, RC servo motor Author: Raivo Sell 2008 Notes: Description: Moves slowly RC motor shaft from one edge to another. ---------------------------------------------------------------*/ #define F_CPU 14745600UL //CPU Frequency (influences delay function) #include <avr/io.h> #include <util/delay.h> ///////////////// Main function ////////////////////////////////// int main (void){ // Set timer control registers TCCR1A = _BV(COM1A1) | _BV(COM1B1) | _BV(WGM11); TCCR1B = _BV(CS11) | _BV(WGM13) | _BV(WGM12); DDRB = 0x30; // PB5 & PB6 output ICR1 = 36000; // Sets the upper limit to Timer1 //(creates 50 Hz signal) XTAL/8/256*50 14745600 OCR1A = 2700; // Sets when the PWM signal should toggle. while(1){ for(OCR1A=500;OCR1A!=5000;OCR1A++) {_delay_ms(3);} for(OCR1A=5000;OCR1A!=500;OCR1A--) {_delay_ms(3);} } }