Instytut Teleinformatyki

Podobne dokumenty
Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Instytut Teleinformatyki

Mikrokontrolery AVR Wprowadzenie

Niektóre piny mogą pełnić różne role, zależnie od aktualnej wartości sygnałów sterujących.

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Inż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Laboratorium Systemów wbudowanych Wyższa Szkoła Zarządzania i Bankowości, Informatyka studia inżynierskie

Instytut Teleinformatyki

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Instytut Teleinformatyki

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Instrukcja obsługi programatora AVR Prog USB v2

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Instytut Teleinformatyki

Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C

Instrukcja obsługi programatora AVR Prog USB v2

Instytut Teleinformatyki

Instytut Teleinformatyki

Podstawy techniki mikroprocesorowej

SYSTEMY CZASU RZECZYWISTEGO (SCR)

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

micro Programator ISP mikrokontrolerów AVR zgodny z STK500v2 Opis Obs³ugiwane mikrokontrolery Wspó³praca z programami Podstawowe w³aœciwoœci - 1 -

dokument DOK wersja 1.0

1.1 Co to jest USBasp? Parametry techniczne Obsługiwane procesory Zawartość zestawu... 4

KOMUNIKACJA Z OTOCZENIEM MIKROKONTROLERA

Programator procesorów rodziny AVR AVR-T910

Schemat blokowy architektury AVR

Instytut Teleinformatyki

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32)

Parametryzacja przetworników analogowocyfrowych

Instrukcja do laboratorium Akademii ETI *

Płyta ewaluacyjna z mikrokontrolerem Atmega32. Autor Dariusz Wika

Instytut Teleinformatyki

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Instytut Teleinformatyki

MikloBit ul. Cyprysowa 7/ Jaworzno. rev MB-AVR-ISP programator

Programator AVR USBasp

GND(VSS) i VCC - masa i zasilanie. V0 - regulacja kontrastu

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Laboratorium Procesorów Sygnałowych

Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

Politechnika Białostocka

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

Programowanie mikrokontrolerów AVR

PROGRAMOWALNE SYSTEMY MECHATRONIKI

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR

Szkolenia specjalistyczne

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania

MikloBit ul. Cyprysowa 7/ Jaworzno. JTAG + ISP dla AVR. rev

Murasaki Zou むらさきぞう v1.1 Opis programowania modułu LPC2368/LPC1768 z wykorzystaniem ISP

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

MultiTool instrukcja użytkownika 2010 SFAR

Elektronika samochodowa (Kod: TS1C )

Zestaw Edukacyjny Atmega-8 (AJAWe-0711) Porty wejścia-wyjścia.

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

ZL8AVR. Płyta bazowa dla modułów dipavr

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Komunikacja w mikrokontrolerach Laboratorium

Uniwersalny sterownik silnika krokowego z portem szeregowym RS232 z procesorem AT90S2313 na płycie E200. Zestaw do samodzielnego montażu.

Electronic Infosystems

Programator STK500v2 USB

LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

Politechnika Śląska w Gliwicach

Ćwiczenia z S S jako Profinet-IO Controller. FAQ Marzec 2012

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Programowalne Układy Cyfrowe Laboratorium

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

BF30 OCDLINK/USBASP ARM-JTAG/AVR-ISP Programmer-debugger Instrukcja obsługi

Zestaw Startowy EvB. Więcej informacji na stronie:

E-TRONIX Sterownik Uniwersalny SU 1.2

Programowanie mikrokontrolerów - laboratorium

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

Programator AVR MKII. Instrukcja obsługi. Copyright by Barion

GRM-10 - APLIKACJA PC

Instrukcja do oprogramowania ENAP DEC-1

Motorola Phone Tools. Krótkie wprowadzenie

Mikroprocesory i Mikrosterowniki

2. Architektura mikrokontrolerów PIC16F8x... 13

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

Transkrypt:

Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i Mikrokontrolery Dostęp do portów mikrokontrolera ATmega32 język C laboratorium: 10 autorzy: dr hab. Zbisław Tabor, prof. PK mgr inż. Paweł Pławiak Kraków, 2015

2 Spis treści Spis treści...2 1. Wiadomości wstępne...3 1.1. Mikrokontroler ATmega32...3 1.2. Listing 1...4 1.3. Programowanie zestawu ZL15AVR...5 1.4. Zagadnienia do przygotowania...6 2. Przebieg laboratorium...8 2.1. Zadanie 1. Na ocenę 3.0 (dst)...8 2.2. Zadanie 2. Na ocenę 4.0 (db)...8 2.3. Zadanie 3. Na ocenę 5.0 (bdb)...8

3 1. Wiadomości wstępne Pierwsza część niniejszej instrukcji zawiera podstawowe wiadomości teoretyczne dotyczące omawianego tematu. Poznanie tych wiadomości umożliwi prawidłowe zrealizowanie praktycznej części laboratorium. 1.1. Mikrokontroler ATmega32 Szczegółowe informacje o architekturze mikrokontrolera ATmega32 są zawarte w nocie katalogowej na stronie producent http://www.atmel.com/images/doc2503.pdf Do obsługi portów mikrokontrolera wykorzystywane są 8-bitowe rejestry PORTA, PORTB, PORTC i PORTD. Każdy pin każdego z portów może pracować w trybie wejścia (np. obsługa klawiatury) lub wyjścia (np. obsługa LED). Kierunek pinu PORTA określa skojarzony z nim bit rejestru DDRA (analogicznie dla pozostałych portów). Ustawiony bit rejestru DDRx oznacza, że skojarzony z nim pin portu pracuje jako wyjście, a wyczyszczony bit konfiguruje pin portu jako wejście. Po resecie wszystkie piny są skonfigurowane jako wejścia i ustawiony jest na nich nieokreślony stan napięcia tzw. "Hi-Z" - dlatego przed użyciem należy ustawić na portach wymagane poziomy napięć 0 lub 1. Jeżeli dany pin portu PORTX jest skonfigurowany jako wejście, jego stan należy odczytywać z wykorzystaniem rejestru PINX. Wyjścia mikrokontrolera Atmega32 mogą pełnić różne funkcje alternatywne (Rys. 1), które są aktywowane przez włączanie odpowiednich modułów. Na przykład ustawienie odpowiednich bitów w rejestrze kontrolującym Timer0 powoduje, że na wyjście PB3 (OC0) podawany jest sygnał prostokątny. Z kolei włączenie modułu USART (poprzez ustawienie odpowiednich bitów odpowiednich rejestrów) powoduje, że wyjścia PD1 i PD0 pełnią rolę linii nadawczej i odbiorczej dla transmisji szeregowej.

4 Rys. 1 Alternatywne funkcje pinów mikrokontrolera ATmega32 1.2. Listing 1 Na Listingu 1 przedstawiono prosty program wywołujący mruganie diod dołączonych do Portu A mikrokontrolera ATmega32 (zestaw ewaluacyjny ZL15AVR - http://www.kamami.pl/index.php?productid=46782). Po uruchomieniu AVR Studio zarządzanie projektami odbywa się z poziomu menu Project. Przy tworzeniu nowego projektu należy wybrać język programowania (C lub asembler) i określić lokalizację plików projektu. Opcje utworzonego projektu można kontrolować wybierając polecenie Project -> Configuration options: przede wszystkim na karcie General należy określić rodzaj mikrokontrolera (atmega32) i częstotliwość (1MHz). Na karcie tej należy również zaznaczyć opcję Create Hex File, ponieważ plik w tym formacie zostanie zapisany w pamięci Flash mikrokontrolera. Karta Cusom options pozwala wybrać narzędzia budowania (AVR toolchain lub zewnętrzny kompilator i make). Do budowania aplikacji przeznaczono menu Build (skrót F7). Przedstawiony na Listingu 1 program wywołuje miganie diod zestawu po połączeniu zestawu pinów Con9 z Con15 kablem 1 do 1.

5 Listing 1: #include <avr/io.h> #include <util/delay.h> int main(void) { char i; DDRA = 0xFF; // Wszystkie linie wyjściowe do{ PORTA = 0b10101010; for(i= 0; i < 25; i++) _delay_ms(10); PORTA = 0b01010101; for(i= 0; i < 25; i++) _delay_ms(10); }while(1); return 0; } 1.3. Programowanie zestawu ZL15AVR Przed fizycznym zaprogramowaniem mikrokontrolera warto prześledzić jego pracę w trybie debugowania. Programowanie zestawu ZL15AVR w trybie ISP wymaga zastosowania dedykowanego programatora (np KamPROG - http://www.kamami.com/index.php?productid=50609) Programator dostarczany jest z oprogramowaniem - należy najpierw zainstalować oprogramowanie programatora, a następnie wykonać aktualizację firmware sprzętu do wymaganej przez oprogramowanie programatora wersji (1.5). Poprawnie zainstalowane oprogramowanie potrafi rozpoznać wersję firmware i rozpoznać mikrokontroler po podłączeniu zestawu ewaluacyjnego. Ustawienia oprogramowania programatora są przedstawione na Rys. 2. Zaprogramowanie kontrolera wymaga wybrania pliku HEX - zapis do pamięci FLASH nastepuje po kliknięciu przycisku Write w sekcji Flash programming. Po zainstalowaniu programatora z opcją pluginu dla AVR Studio programowanie może się odbywać z poziomu środowiska AVR Studio (Tools->Kamami AVR programmer->connect).

6 Rys. 2 Ustawienia programatora KAMprog for AVR v.2.1 1.4. Zagadnienia do przygotowania Przed przystąpieniem do realizacji laboratorium należy zapoznać się z zagadnieniami dotyczącymi: o mikrokontrolera AVR ATmega32 o zestawu ZL15AVR o AVR Studio o programatora KAMprog Literatura: [1] Rafał Baranowski, Mikrokontrolery AVR ATmega w praktyce [2] Tomasz Francuz, Język C dla mikrokontrolerów AVD od podstaw do zaawansowanych aplikacji [3] Nota katalogowa mikrokontrolera http://www.atmel.com/images/doc2503.pdf [4] Dokumentacja zestawu ewaluacyjnego ZL15AVR http://dl.btc.pl/kamami_wa/zl15avr.pdf [5] AVR Studio - http://www.atmel.com/microsite/avr_studio_5/ [6] KAMprog - http://dl.btc.pl/kamami_com/kamprogavr_en.pdf

7

8 2. Przebieg laboratorium Druga część instrukcji zawiera zadania do praktycznej realizacji, które demonstrują zastosowanie technik z omawianego zagadnienia. 2.1. Zadanie 1. Na ocenę 3.0 (dst) Proszę napisać program, który włącza i wyłącza diodę D0 klawiszem SW0. Urządzenia zewnętrzne mają być sterowane 6 i 7 bitem portu PORTC. 2.2. Zadanie 2. Na ocenę 4.0 (db) Licznik naciśnięć klawiszy. Proszę napisać program, który po każdym wciśnięciu klawisza SW0 wyświetla na pierwszym module wyświetlacza 7-segmentowego cyfry 1,2,3,4 itd., zawijając wyświetlanie do 0 po dojściu do 10. Przy starcie na wyświetlaczu ma być wyświetlona cyfra 0. Wyświetlenie segmentu LED danego modułu wymaga wyczyszczenia bitu sterującego danym modułem i segmentem. 2.3. Zadanie 3. Na ocenę 5.0 (bdb) Proszę napisać program, który umożliwia sterowanie diodami przy użyciu joisticka (reset, przewijanie w lewo, prawo, zwiększ/zmniejsz szybkość przewijania).