Kurs programowania mikrokontrolerów AVR


Spotkanie V

W czwartek 29 marca odbyło się piąte spotkanie szkoleniowe z prostych systemów wbudowanych w języku C dla mikrokontrolerów AVR. Podczas szkolenia omówiono pamięć EEPROM, pozostałe interfejsy szeregowe oraz przykłady złożonych programów w oparciu o automat stanów i przerwania od liczników.

  • Zapis i odczyt pamięci EEPROM w języku C
  • Czasy zapisu i odczytu pamięci EEPROM
  • Interfejs szeregowy SPI
  • Konfiguracja interfejsu SPI w języku C
  • Interfejs szeregowy I2C
  • Konfiguracja interfejsu szeregowego I2C
  • Przykład programu zegara z budzikiem w języku C
  • Przykład programu analizatora widma w języku C
  • Przykład programu animacji na wyświetlaczach LED w języku C
  • Przykład programu polskich znaków na LCD w języku C
  • Przykładowe programy


    Spotkanie IV

    W sobotę 24 marca odbyło się czwarte spotkanie szkoleniowe z prostych systemów wbudowanych w języku C dla mikrokontrolerów AVR. Podczas szkolenia omówiono generowanie sygnałów PWM, przykład przetwornika C/A oraz komunikacje przy pomocy portu szeregowego UART.

  • Uruchomienie licznika z układem porównawczym
  • Ustawienie częstotliwości i wypełnienia dla PWM
  • Wystawienie sygnału PWM na port mikrokontrolera
  • Program rozświetlania i gaszenia płynnego LED
  • Przykład przetwornika C/A PWM+filtr DP
  • Przykładowy program w języku C przetwornika C/A
  • Przerwania od bloku porównawczego
  • Omówienie działania portu szeregowego
  • Konfiguracja portu szeregowego mikrokontrolera
  • Ustawianie prędkości komunikacji
  • Błędy zegara portu szeregowego
  • Terminal putty
  • Przykładowy program w języku C komunikacji z PC
  • Przerwania od portu szeregowego
  • Przykładowe programy


    Spotkanie III

    W sobotę 20 stycznia odbyło się trzecie spotkanie szkoleniowe z prostych systemów wbudowanych w języku C dla mikrokontrolerów AVR. Podczas szkolenia omówiono system obsługi przerwań mikrokontrolera AVR oraz maszynę stanów w połączaniu z obsługą przerwań.

  • System przerwań mikrokontrolera AVR
  • Globalne zezwolenie przyjmowania przerwań
  • Wektory przerwań
  • Maskowanie przerwań
  • Implementacja obsługi przerwania w języku C
  • Przykład obsługi przerwania od bloku porównującego licznika Timer2
  • Konfiguracja przerwania na zadany czas - 1ms
  • Multipleksowanie wyświetlacza LED w przerwaniu
  • Automat stanów
  • Wielozadaniowe programowanie w języku C
  • Grafy opisu przestrzeni stanów dla przykładowego automatu
  • Implementacja automatu stanów w języku C (switch, case)
  • Program nastawianego timera zliczającego w dół – obsługa przerwań + automat stanów
  • Przykładowe programy


    Spotkanie II

    W sobotę 16 grudnia odbyło się drugie spotkanie szkoleniowe z prostych systemów wbudowanych w języku C dla mikrokontrolerów AVR. Podczas szkolenia zostały omówione wraz z przykładami układy licznikowe, przetworniki analogowo-cyfrowe oraz wyświetlacze LED i LCD:

  • Budowa układów licznikowych T0, T1 i T2
  • Rejestry konfiguracyjne i stanu liczników
  • Źródła sygnały zegarowego
  • Preskalery - dzielniki sygnału zegarowego
  • Uruchomienie licznika
  • Budowa przetwornika analogowo-cyfrowego
  • Rejestry konfiguracyjne przetworników A/C
  • Napięcie odniesienia przetwornika A/C
  • Układ multipleksera analogowego
  • Obsługa wyświetlacza siedmiosegmentowego LED
  • Multipleksowanie wyświetlaczy LED
  • Program wyświetl liczbę 4 cyfrową
  • Program miliwoltomierz czterocyfrowy z wyświetlaczem LED
  • Budowa i działanie wyświetlacza LCD
  • Sterowanie wyświetlaczem LCD ze sterownikiem HD44780
  • Linie sterujące i danych wyświetlacza
  • Program wyświetlający napis "Alibaba"
  • Przykładowe programy


    Spotkanie I

    W sobotę 2 grudnia odbyło się pierwsze spotkanie szkoleniowe z prostych systemów wbudowanych w języku C dla mikrokontrolerów AVR. Podczas szkolenia zostały omówione podstawy związane z przygotowaniem kompilatora i uruchomieniem prostego programu zarówna w Assemblerze jak i języku C:

  • Instalacja środowiska IDE do programowania mikrokotrolerów AVR (WinAVR, AVR Studio i HapSim)
  • Instalacja programatora AVR ISP STK500
  • Uruchomienie zestawu ZL3AVR
  • Omówienie budowy mikrokontrolera AVR
  • Omówienie pamięci ROM, RAM i rejestrów specjalnych
  • Język maszynowy i Assembler
  • Wgrywanie programu do mikrokontrolera plik hex
  • Przykładowe programy w asemblerze
  • a) zapalenie diod LED
    b) obsługa klawisza – warunki w Assemblerze
    c) miganie diodami LED – pętle w Assemblerze, wskaźnik stosu i podprogramy
  • Pierwszy program w języku C
  • a) zapalenie diod LED
    b) obsługa klawisza – warunki if
    c) miganie diodami LED – pętle while, for
  • AVR Symulator - symulacja programu w Assemblerze i języku C
  • Narzędzia symulacyjne HapSim - diody LED, przyciski, wyświetlacze
  • Optymalizacja kodu w języku C
  • Konfiguracja kompilatora
  • Podgląd skompilowanego programu – plik lss
  • Bity konfiguracyjne mikrokontrolera AVR – przełączanie źródła zegara i wyłączenie JTAG
  • Przykładowe programy


    W ramach programu UE Synergia jest organizowany w naszej szkole kurs programowania prostych systemów wbudowanych w języku C na bazie mikrokontrolerów rodziny AVR. Rozpoczęcie kursu 2 grudnia 2017r. (sobota) godzina 7:15 w sali 201.