Mình dùng atmega8 điều khiển động cơ servo sg90. Mình set như dưới đây nhưng động cơ không quay 180 độ mà chỉ quay khoảng 160 độ, bạn nào giải thích diúp mình với:
#include <mega8.h>
#include <delay.h>
void main(void)
{
PORTB=0x00;
DDRB=0x06;
TCCR1A=0xA2;
TCCR1B=0x1A;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1=20000;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
TIMSK=0x00;
while (1)
{
OCR1A=1000; delay_ms(1000);
OCR1A=2800; delay_ms(1000);
}
}
#include <mega8.h>
#include <delay.h>
void main(void)
{
PORTB=0x00;
DDRB=0x06;
TCCR1A=0xA2;
TCCR1B=0x1A;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1=20000;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;
TIMSK=0x00;
while (1)
{
OCR1A=1000; delay_ms(1000);
OCR1A=2800; delay_ms(1000);
}
}