🧩 Lekcja 3: Peryferia mikrokontrolerów AVR

Timery, PWM, ADC i przerwania – czyli jak AVR mierzy czas, reaguje na zdarzenia i steruje sygnałami.

1. Czym są peryferia?

Peryferia to wyspecjalizowane bloki sprzętowe wbudowane w mikrokontroler, które realizują konkretne zadania bez ciągłego „pilnowania” przez CPU. Dzięki nim AVR może mierzyć czas, generować PWM, reagować na zdarzenia i przetwarzać sygnały analogowe.

Najważniejsze Peryferia pracują równolegle z CPU – to one dają mikrokontrolerom „moc”.
Peryferia mikrokontrolera AVR – przegląd
Obraz 1 – Najważniejsze peryferia w mikrokontrolerze AVR.

2. Timery i liczniki

Timery to jedne z najważniejszych peryferiów w AVR. Służą do odmierzania czasu, generowania przerwań okresowych oraz tworzenia sygnałów PWM.

  • liczenie taktów zegara (z preskalerem),
  • odmierzanie opóźnień,
  • generowanie przerwań czasowych,
  • podstawa działania PWM.
Ważne Program oparty tylko na _delay_ms() blokuje CPU – timery tego nie robią.

3. PWM – modulacja szerokości impulsu

PWM (Pulse Width Modulation) pozwala sterować „płynnie” elementami cyfrowymi, np. jasnością LED lub głośnością brzęczyka, mimo że wyjście jest tylko 0/1.

  • częstotliwość sygnału – jak często pojawia się impuls,
  • wypełnienie (duty cycle) – jak długo impuls jest w stanie wysokim.
Sygnał PWM – wypełnienie i częstotliwość
Obraz 2 – Zasada działania PWM (wypełnienie sygnału).

4. Przerwania – reakcja natychmiastowa

Przerwanie to mechanizm, który powoduje natychmiastowe wykonanie specjalnej procedury w odpowiedzi na zdarzenie, np.:

  • naciśnięcie przycisku,
  • przepełnienie timera,
  • zakończenie konwersji ADC.

Dzięki przerwaniom program nie musi „ciągle sprawdzać” stanu – AVR sam reaguje, gdy coś się wydarzy.

Myślenie embedded Dobrze napisany program reaguje na zdarzenia, a nie czeka w pętli.

5. ADC – przetwornik analogowo-cyfrowy

ADC umożliwia pomiar napięć analogowych i zamianę ich na wartości cyfrowe, które może przetwarzać CPU.

  • czujniki temperatury, światła, potencjometry,
  • zakres zwykle 0–Vref,
  • wynik jako liczba (np. 0–1023 dla 10-bitowego ADC).
ADC – zamiana sygnału analogowego na cyfrowy
Obraz 3 – Idea działania przetwornika ADC.

6. Tabela – peryferia w skrócie

Peryferium Do czego służy
Timer / Counter Czas, opóźnienia, PWM, przerwania
PWM Regulacja jasności, dźwięk
Przerwania Natychmiastowa reakcja na zdarzenia
ADC Pomiar sygnałów analogowych

7. Podsumowanie

  • Peryferia odciążają CPU.
  • Timery są podstawą czasu i PWM.
  • Przerwania umożliwiają reakcję na zdarzenia.
  • ADC pozwala „widzieć” sygnały analogowe.
Co dalej? W następnej lekcji przejdziemy do ATmega328P w praktyce – pinout, zasilanie i przygotowanie do pierwszego programu.