Streszczenie Wprowadzenie do mikrokontrolerów AVR i ATmega

Wprowadzenie do mikrokontrolerów AVR i ATmega: Kompletny Przewodnik

Wstęp

AVR to 8-bitowe mikrokontrolery jednoukładowe, pierwotnie firmy Atmel (obecnie Microchip). Seria ATmega jest wśród nich najpopularniejsza i wykorzystywana jest w projektach, edukacji oraz na platformach hobbystycznych, takich jak Arduino UNO (ATmega328P). Niniejszy materiał podsumowuje architekturę, peryferia, programowanie i praktyczne zastosowanie ATmega do samodzielnej nauki.

Definicja: AVR to 8-bitowe mikrokontrolery RISC z architekturą Harwardzką; ATmega to konkretna seria tych MCU, odpowiednia zarówno do nauki, jak i praktycznych projektów.

1. Podstawowe cechy AVR / ATmega

  • Architektura RISC: proste instrukcje, większość wykonywana w jednym cyklu zegara
  • Architektura Harvardzka: oddzielny dostęp do pamięci programu i pamięci danych
  • Niskie zużycie energii, łatwe programowanie i bogata społeczność

Czy wiesz, że Arduino UNO wykorzystuje ATmega328P jako swój główny mikrokontroler (MCU)?

2. Architektura i bloki mikrokontrolera

Główne bloki

  • CPU: 8-bitowy rdzeń
  • Flash: pamięć programu
  • SRAM: tymczasowe dane i stos
  • EEPROM: trwałe przechowywanie ustawień
  • Porty GPIO: PORTA, PORTB, PORTC, …
  • Peryferia: timery/liczniki, ADC, UART, SPI, I²C (TWI), przerwania

Definicja: GPIO to uniwersalne piny wejścia/wyjścia, które można skonfigurować jako wejście lub wyjście.

Jak pomaga architektura harwardzka

  • Oddzielne ścieżki dla instrukcji i danych przyspieszają dostęp i umożliwiają jednoczesny odczyt instrukcji i danych.

3. Struktura pamięci (tabela porównawcza)

Typ pamięciPrzeznaczenieCharakterystyka
FlashProgramNiezapisywalna w trakcie działania (zapis tylko przez programator/bootloader), większa pojemność
SRAMZmienneSzybka, ulotna, używana do przechowywania zmiennych ogólnego przeznaczenia i stosu
EEPROMUstawieniaTrwałe przechowywanie danych nawet po wyłączeniu zasilania, wolniejszy zapis

Definicja: EEPROM to pamięć odpowiednia do przechowywania konfiguracji, która musi zostać zachowana nawet po odłączeniu zasilania.

4. Porty wejścia/wyjścia i przerwania

  • Porty są oznaczane nazwami (PORTA, PORTB, …). Każdy pin można skonfigurować jako wejście lub wyjście.
  • Możliwość aktywacji wewnętrznego rezystora podciągającego dla wejść.
  • Niektóre piny mogą generować zewnętrzne przerwania w celu natychmiastowej reakcji na zdarzenie.

Praktyczny przykład: konfiguracja diody LED jako wyjścia i przycisku jako wejścia z rezystorem podciągającym

  1. Konfiguracja pinu jako wyjścia dla diody LED
  2. Konfiguracja pinu jako wejścia i aktywacja rezystora podciągającego dla przycisku
  3. Po naciśnięciu przycisku odczytanie stanu i zmiana stanu diody LED

5. Timery, liczniki i PWM

  • ATmega zazwyczaj zawiera timery 8-bitowe i 16-bitowe.
  • Służą do pomiaru czasu, generowania zdarzeń czasowych oraz sygnałów PWM.
  • PWM (modulacja szerokości impulsu) jest wykorzystywana do sterowania silnikami oraz jasnością diod LED.

Praktyczne zastosowanie: sterowanie prędkością silnika prądu stałego za pomocą sygnału PWM na pinie podłączonym do tranzystora mocy.

6. Przetwornik ADC

  • Zazwyczaj 10-bitowy przetwornik ADC z wieloma kanałami wejściowymi
  • Konwertuje napięcie analogowe na wartość cyfrową

Przykład: pomiar napięcia z potencjometru na kanale przetwornika ADC i następnie regulacja jasności diody LED zgodnie z zmierzoną wartością.

7. Interfejsy komunikacyjne

  • UART: komunikacja szeregowa do debugowania oraz komunikacji z komputerem PC
  • SPI: szybkie łącze do podłączania czujników, pamięci i urządzeń peryferyjnych
  • I²C (TWI): magistrala dla wielu urządzeń ze wspólnymi liniami danych i zegara

Praktyczny przykład: podłączenie czujnika temperatury przez I²C oraz zapis wartości do EEPROM.

Zarejestruj się po pełne podsumowanie
FiszkiTest wiedzyStreszczeniePodcastMapa myśli
Zacznij za darmo

Masz już konto? Zaloguj się

ATmega Przegląd

Klíčové pojmy: AVR to 8-bitowe mikrokontrolery RISC z architekturą Harvarda, Seria ATmega jest szeroko stosowana (np. Arduino UNO z ATmega328P), Pamięć Flash przechowuje program, SRAM służy do zmiennych roboczych, a EEPROM do trwałych ustawień, Piny GPIO można konfigurować jako wejście lub wyjście oraz używać wewnętrznych rezystorów pull-up, 8-bitowe i 16-bitowe timery generują sygnał PWM do sterowania silnikami i jasnością diod LED, ADC to zazwyczaj 10-bitowy przetwornik z wieloma kanałami do odczytu sygnałów z czujników analogowych, Komunikacja: UART, SPI, I²C (TWI) do podłączania peryferiów, Programowanie w C/C++ lub Assemblerze; wgrywanie przez ISP lub bootloader, Po resecie program startuje z adresu resetu, Zalety: niska cena i szeroka społeczność; Wady: ograniczona wydajność i pamięć

## Wstęp AVR to 8-bitowe mikrokontrolery jednoukładowe, pierwotnie firmy Atmel (obecnie Microchip). Seria **ATmega** jest wśród nich najpopularniejsza i wykorzystywana jest w projektach, edukacji oraz na platformach hobbystycznych, takich jak Arduino UNO (ATmega328P). Niniejszy materiał podsumowuje architekturę, peryferia, programowanie i praktyczne zastosowanie ATmega do samodzielnej nauki. > **Definicja:** AVR to 8-bitowe mikrokontrolery RISC z architekturą Harwardzką; ATmega to konkretna seria tych MCU, odpowiednia zarówno do nauki, jak i praktycznych projektów. ## 1. Podstawowe cechy AVR / ATmega - **Architektura RISC**: proste instrukcje, większość wykonywana w jednym cyklu zegara - **Architektura Harvardzka**: oddzielny dostęp do pamięci programu i pamięci danych - **Niskie zużycie energii**, łatwe programowanie i bogata społeczność Czy wiesz, że Arduino UNO wykorzystuje ATmega328P jako swój główny mikrokontroler (MCU)? ## 2. Architektura i bloki mikrokontrolera ### Główne bloki - CPU: 8-bitowy rdzeń - Flash: pamięć programu - SRAM: tymczasowe dane i stos - EEPROM: trwałe przechowywanie ustawień - Porty GPIO: PORTA, PORTB, PORTC, … - Peryferia: timery/liczniki, ADC, UART, SPI, I²C (TWI), przerwania > **Definicja:** GPIO to uniwersalne piny wejścia/wyjścia, które można skonfigurować jako wejście lub wyjście. ### Jak pomaga architektura harwardzka - Oddzielne ścieżki dla instrukcji i danych przyspieszają dostęp i umożliwiają jednoczesny odczyt instrukcji i danych. ## 3. Struktura pamięci (tabela porównawcza) | Typ pamięci | Przeznaczenie | Charakterystyka | |---|---:|---| | Flash | Program | Niezapisywalna w trakcie działania (zapis tylko przez programator/bootloader), większa pojemność | | SRAM | Zmienne | Szybka, ulotna, używana do przechowywania zmiennych ogólnego przeznaczenia i stosu | | EEPROM | Ustawienia | Trwałe przechowywanie danych nawet po wyłączeniu zasilania, wolniejszy zapis | > **Definicja:** EEPROM to pamięć odpowiednia do przechowywania konfiguracji, która musi zostać zachowana nawet po odłączeniu zasilania. ## 4. Porty wejścia/wyjścia i przerwania - Porty są oznaczane nazwami (PORTA, PORTB, …). Każdy pin można skonfigurować jako **wejście** lub **wyjście**. - Możliwość aktywacji wewnętrznego rezystora podciągającego dla wejść. - Niektóre piny mogą generować zewnętrzne przerwania w celu natychmiastowej reakcji na zdarzenie. Praktyczny przykład: konfiguracja diody LED jako wyjścia i przycisku jako wejścia z rezystorem podciągającym 1. Konfiguracja pinu jako wyjścia dla diody LED 2. Konfiguracja pinu jako wejścia i aktywacja rezystora podciągającego dla przycisku 3. Po naciśnięciu przycisku odczytanie stanu i zmiana stanu diody LED ## 5. Timery, liczniki i PWM - ATmega zazwyczaj zawiera timery 8-bitowe i 16-bitowe. - Służą do pomiaru czasu, generowania zdarzeń czasowych oraz sygnałów PWM. - PWM (modulacja szerokości impulsu) jest wykorzystywana do sterowania silnikami oraz jasnością diod LED. Praktyczne zastosowanie: sterowanie prędkością silnika prądu stałego za pomocą sygnału PWM na pinie podłączonym do tranzystora mocy. ## 6. Przetwornik ADC - Zazwyczaj 10-bitowy przetwornik ADC z wieloma kanałami wejściowymi - Konwertuje napięcie analogowe na wartość cyfrową Przykład: pomiar napięcia z potencjometru na kanale przetwornika ADC i następnie regulacja jasności diody LED zgodnie z zmierzoną wartością. ## 7. Interfejsy komunikacyjne - UART: komunikacja szeregowa do debugowania oraz komunikacji z komputerem PC - SPI: szybkie łącze do podłączania czujników, pamięci i urządzeń peryferyjnych - I²C (TWI): magistrala dla wielu urządzeń ze wspólnymi liniami danych i zegara Praktyczny przykład: podłączenie czujnika temperatury przez I²C oraz zapis wartości do EEPROM.