Witam ponownie.
Chcę zrobić sterowanie silnikiem prądu stałego za pomocą mikrokontrolera Atmega16a. Sterowanie ma się odbyć za pomocą zmiennego sygnalu PWM - to dobrze rozumiem i zaprogramowałem.
Prędkość obrotów będzie regulowana za pomocą przycisku. Pozostaje problem zliczania impulsów - na początku próbowałem programowo niestety bez oczekiwanego skutku.
Do zliczania będzie wykorzystany licznik timer0.
Pomysł odnośnie realizacji tego to ustawienie nóżki licznika OCO (PB3) w stan wysoki + przycisk zwarty do masy. Po każdym włączeniu przycisku pojawi się stan niski na PB3 co ma zostać zliczone. Z dokumentacji uznałem, że najlepiej to będzie zrobić za pomocą "opadającego zbocza" (ustawienie bitów CS02 i CS01 w rejestrze TCCR0. Jeżeli to zły pomysł to proszę o wyprowadzenie mnie z błędu.
1-Co ustawić aby licznik liczył do określonej liczy np. do 10 (zamiast 255)?
2- Czy to jaką licznik ma wartość można sprawdzić programowo np. if(OCR0==10)?
Chcę zrobić sterowanie silnikiem prądu stałego za pomocą mikrokontrolera Atmega16a. Sterowanie ma się odbyć za pomocą zmiennego sygnalu PWM - to dobrze rozumiem i zaprogramowałem.
Prędkość obrotów będzie regulowana za pomocą przycisku. Pozostaje problem zliczania impulsów - na początku próbowałem programowo niestety bez oczekiwanego skutku.
Do zliczania będzie wykorzystany licznik timer0.
Pomysł odnośnie realizacji tego to ustawienie nóżki licznika OCO (PB3) w stan wysoki + przycisk zwarty do masy. Po każdym włączeniu przycisku pojawi się stan niski na PB3 co ma zostać zliczone. Z dokumentacji uznałem, że najlepiej to będzie zrobić za pomocą "opadającego zbocza" (ustawienie bitów CS02 i CS01 w rejestrze TCCR0. Jeżeli to zły pomysł to proszę o wyprowadzenie mnie z błędu.
1-Co ustawić aby licznik liczył do określonej liczy np. do 10 (zamiast 255)?
2- Czy to jaką licznik ma wartość można sprawdzić programowo np. if(OCR0==10)?