Mikrokontroler AVR ATmega32 - wykład 9

Podobne dokumenty
Elementy składowe systemu komputerowego

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

MIKROKONTROLERY I MIKROPROCESORY

Wbudowane układy peryferyjne cz. 3 Wykład 9

Kurs Elektroniki. Część 5 - Mikrokontrolery. 1/26

Elementy składoweµc - przypomnienie

Wbudowane układy peryferyjne cz. 1 Wykład 7

Wbudowane układy komunikacyjne cz. 1 Wykład 10

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Mikroprocesory i mikrosterowniki

Wstęp Architektura... 13

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Metody obsługi zdarzeń

2. Architektura mikrokontrolerów PIC16F8x... 13

Programowanie mikrokontrolerów. 8 listopada 2007

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Mikroprocesory i Mikrosterowniki

MCAR Robot mobilny z procesorem AVR Atmega32

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15

Mikroprocesory i Mikrosterowniki

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Systemy wbudowane Mikrokontrolery

Przerwania, polling, timery - wykład 9

Komunikacja z urzadzeniami zewnętrznymi

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

Hardware mikrokontrolera X51

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

MODUŁ UNIWERSALNY UNIV 3

Wstęp. Opis ATMEGA128 MINI MODUŁ VE-APS-1406

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Inne układy peryferyjne AVR

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

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

dokument DOK wersja 1.0

Systemy Wbudowane. Arduino, AVR. Arduino. Arduino. Arduino. Oprogramowanie. Mikrokontroler. Mikrokontroler Platforma Arduino. Arduino IDE: Arduino C:

Komunikacja w mikrokontrolerach. Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Podstawy Techniki Mikroprocesorowej

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

Szkolenia specjalistyczne

Moduł prototypowy X3-DIL64 z procesorem ATxmega128A3U-AU

Komunikacja w mikrokontrolerach Laboratorium

Podstawy systemów mikroprocesorowych

WYKŁAD 5. Zestaw DSP60EX. Zestaw DSP60EX

E-TRONIX Sterownik Uniwersalny SU 1.2

KAmduino UNO. Płytka rozwojowa z mikrokontrolerem ATmega328P, kompatybilna z Arduino UNO

Współpraca procesora ColdFire z urządzeniami peryferyjnymi

Charakterystyka mikrokontrolerów

Technika Mikroprocesorowa

Moduł uruchomieniowy mikrokontrolera MC68HC912B32

Język C dla mikrokontrolerów AVR. Od podstaw do zaawansowanych aplikacji. Wydanie II

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

Architektura mikrokontrolera MCS51

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

Architektura komputerów

Programowanie mikrokontrolerów AVR

Architektura mikrokontrolera MCS51

KAmduino UNO. Rev Źródło:

MIKROKONTROLERY FIRMY ATMEL. dr inż. Wiesław Madej

2.1 Porównanie procesorów

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Wykład Mikroprocesory i kontrolery

1.2. Architektura rdzenia ARM Cortex-M3...16

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

Wykład 2. Mikrokontrolery z rdzeniami ARM

Układy czasowo-licznikowe w systemach mikroprocesorowych

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe

SAIA PROGRAMOWALNY STEROWNIK PLC

Interfejsy szeregowe TEO 2009/2010

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

System mikroprocesorowy i peryferia. Dariusz Chaberski

Wstęp Podstawy programowania QBASIC Budowa mikroprocesora Zestaw uruchomieniowy Porty wejścia/wyjścia...

Mikroprocesory i Mikrosterowniki Analog-Digital Converter Konwerter Analogowo-Cyfrowy

Mikrokontrolery AVR ATmega

PC 3 PC^ TIMER IN RESET PC5 TIMER OUT. c 3. L 5 c.* Cl* 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 LTJ CO H 17 AD7 U C-"


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

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

Uproszczony schemat blokowy konwertera analogowo-cyfrowego przedstawiony został na rys.1.

Zastosowania mikrokontrolerów w przemyśle

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa

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

Systemy Wbudowane. Arduino, AVR (wersja ) Arduino. Arduino. Arduino. Oprogramowanie. Mikrokontroler

Programowanie mikrokontrolerów. 5 grudnia 2007

Instytut Teleinformatyki

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

Instytut Teleinformatyki

Magistrala I 2 C. Podstawy systemów mikroprocesorowych. Wykład nr 5 Interfejsy szeregowe c.d.

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

MultiTool instrukcja użytkownika 2010 SFAR

WPROWADZENIE Mikrosterownik mikrokontrolery

2. Format danych i zaimplementowane funkcje MODBUS

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

MIKROPROCESORY architektura i programowanie

Mikrokontrolery AVR techniczne aspekty programowania

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Transkrypt:

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 1 Mikrokontroler AVR ATmega32 - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 2 CechyµC ATmega32 1. Architektura RISC - 131 instrukcji procesora (wykonywanych w jednym cyklu zegara),32 8-bitowych rejestrów ogólnego przeznaczenia, 2. Nieulotna pamięć programu i danych -32kB pamięci programu, ISP, z opcją Bootloadera, 1024 bajty pamięci danych EEPROM,2kB wewnętrznej pamięci SRAM, 3. Peryferia - 8-bitowe i 16-bitowy timery/liczniki z opcją preskalera, cztery kanały PWM,8 10 bitowych przetworników ADC, interface Two-wire, programowalny Serial USART, interface Master/Slave SPI, programowalny Watchdog, komparator analogowy, 4. Inne cechy - wewnętrzny generator RC, wewnętrzne i zewnętrzne źródła przerwań, układy oszczędności energii, zasilanie4.5 5.5V, częstotliwość pracy zegara do 16MHz.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 3 Schemat blokowy ARV ATmega32

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 4 WyprowadzeniaµC AVR ATmega32 VCC - Zasilanie układu, GND - Masa, Port A (PA 7...PA 0 ) - Wejścia przetworników AC, Port B (PB 7...PB 0 ) - Dwukierunkowe porty I/O z wewnętrznymi rezystorami podciągającymi, Port C (PC 7...PC 0 ) - Dwukierunkowe porty I/O z wewnętrznymi rezystorami podciągającymi, Port D (PD 7...PD 0 ) - Dwukierunkowe porty I/O z wewnętrznymi rezystorami podciągającymi, RESET - wejście przerwania RESET, XTAL1, XTAL2 - wejścia zewnętrznego generatora (zegara), AREF - wejście zewnętrznego napięcia odniesienia przetwornika AC,

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 5 Dostępne rejestryµc AVR ATmega32 Status Register - rejestr flag monitorujący stan operacji ALU (znaczenia bitów w dokumentacji), Rejestry ogólnego przeznaczenia Wskaźnik stosu (ang. Stack Pointer) - Dwa8-bitowe rejestry SPH, SPL wskazujący obecne miejsce na stosie (szczyt stosu). Musi być powyżej adresu$60f w pamięci RAM, jest dekrementowany.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 6 Rejestry X, Y i Z - rejestry ogólnego przeznaczenia, dodatkowo służące do adresowania pośredniego w przestrzeni danych: Rejestry EEARH, EEARL, EEDR i EECR - rejestry umożliwiające dostęp do pamięci danych EEPROM. Znaczenia rejestrów: EEARH i EEARL - adres, EEDR - wpisywane lub odczytywane dane, EECR - rejestr kontrolny. Dokładny opis wszystkich rejestrów w dokumentacji.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 7 Pamięć programuµc AVR ATmega32 32kB pamięci Flesh do przechowywania programu o organizacji16k 16. Instrukcje AVR są 16 lub 32 bitowe. Licznik programu (PC) jest 14 bitowy, umożliwia zaadresowanie2 14 =16kB komórek pamięci. Pamięć programu jest podzielona na dwa obszary - sekcja aplikacji i sekcja bootloadera. Pamięć FLESH przewidziana jest na 10.000 cykli zapisu/kasowania.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 8 Pamięć danych SRAMµC AVR ATmega32 Najmłodsze 2144 komórek pamięci zawiera rejestry ogólnego przeznaczenia (32), rejestry wejścia/wyjścia (64 komórek) oraz wewnętrzną pamięć SRAM (2048 komórek), Istnieje pięć różnych trybów adresowania: Bezpośrednie, Pośrednie, Pośrednie z przesunięciem, Pośrednie z pre i post inkrementacją. Adresowania pośrednie odbywją się z wykorzystaniem rejestrów X,Y i Z, Do każdej komórka pamięci SRAM można się odwołać w dowolnym trybie adresowania.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 9 Nieulotna pamięć danych EEPROMµC AVR ATmega32 µc AVR ATmega32 zawiera 1024 bajty nieulotnej pamięci danych, zorganizowanej w osobnej przestrzeni adresowej. W przestrzeni tej mogą być zapisane lub odczytane pojedyncze bajty, Pamięć EEPROM data przewidziana jest na 100.000 cykli zapisu/kasowania, Dostęp do tej pamięci możliwy jest za pomocą rejestrów EEARH, EEARL, EEDR i EECR. Rejestry te pełnią następujące funkcje: EEARH i EEARL - adres, EEDR - wpisywane lub odczytywane dane, EECR - rejestr kontrolny, Pamięć EEPROM data jest chroniona przed zniszczeniem, które może powodować zbyt niskie napięcie zasilaniav CC.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 10 Pamięć urzadzeń wejścia/wyjściaµc AVR ATmega32 Do wszystkich peryferiiµc AVR ATmega32 odwołuje się za pomocą rejestrów I/O umieszczonych w tej samej przestrzeni adresowej co Rejestry ogólnego przeznaczenia i pamięć SRAM, Używając mnemoników IN lub OUT należy używać adresów $00 $3F, w przypadku, gdy odwołujemy się do nich używając mnemoników LD i ST należy dodać$20 HEX tj.32 10 do ich adresu (gdyż poprzedzają je 32 rejestry ogólnego przeznaczenia). Niektóre rejestry I/O, w zależności od pełnionej funkcji w urządzeniach peryferynych, są chronione przed zapisem. Do niektórych rejestrów można się odwołać dopiero po ustawieniu odpowiedniej flagi (patrz dokumentacja).

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 11 Źródła sygnału zegara wµc AVR ATmega32 Wewnętrzny generator - nie wymaga żadnych elementów zewnętrznych. Uzyskane nominalne częstotliwości wynoszą 1, 2, 4, lub 8 MHz, Zewnętrzny rezonator kwarcowy Wejścia XTAL1 i XTAL2 są wejściami wzmacniacza wewnętrznego układu. Maksymalna częstotliwość pracy wynosi16mhz, Zewnętrzny generator niskich częstotliwości - Kwarc powinien być dołączony jak w poprzednim przypadku. Dołączane są wewnętrzne pojemności36pf. Uzyskana częstotliwość wynosi32,768khz.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 12 Źródła sygnału zegara wµc AVR ATmega32 cd. Zewnętrzny generator RC Zewnętrzne elementy R i C są wykorzystane do budowy generatora, Zegar zewnętrzny Umożliwia podanie zewnętrznego sygnału zegarowego.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 13 Reset wµc AVR ATmega32 Power-on Reset -µc resetuje się wskutek obniżenia napięcia zasilającego poniżej pewnego proguv POT, External Reset -µc resetuje się wskutek podania na pin RESETU niskiego poziomu przez odpowiednio długi czas, Watchdog Reset -µc resetuje się wskutek przekroczenia okresu oczekiwania przez Watchdoga (Watchdog musi być włączony), Brown-out Reset -µc resetuje się, gdy napięcie zasilaniav CC spadnie poniżej poziomuv BOT (detektor Brown-out musi być włączony), JTAG AVR Reset -µc resetuje się, gdy jest logiczna 1 w Reset Register (możliwość wykrycia tylko w ramach systemu JTAG).

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 14 System przerwańµc AVR ATmega32 Dokładny opis na następnych wykładach.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 15 Alternatywne funkcje portówµc AVR ATmega32 Dokładny opis na następnych wykładach.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 16 Przerwania zewnętrzne Przerwania zewnętrzne są wyzwalane na pinach INT0, INT1, i INT2, Jeśli system przerwań jest włączony wejścia INT0, INT1, i INT2 wykryją przerwanie, nawet jeśli piny są ustawione jako wyjścia - umożliwia to wykorzystanie ich jako przerwania programowe, Przerwania mogą być wyzwalane zboczem narastającym, opadającym lub poziomem (INT2 tylko zboczem). Dokładny opis na następnych wykładach.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 17 Liczniki i timery - Timer0 i Timer1 Możliwość wyzerowania liczników, Generator częstotliwości, Licznik zdarzeń zewnętrznych, Możliwość pracy w trybie PWM, Preskaler zegara10 bitowy, Przepełnienie licznika jest źródłem przerwania. Dokładny opis na następnych wykładach.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 18 Interface szeregowy SPI - ang. Serial Peripheral Interface Full-duplex, synchroniczny transfer danych, 7 programowalnych prędkości transmisji, Możliwość pracy w trybie Master lub Slave, Koniec transmisji identyfikowany flagą przerwań. Dokładny opis na następnych wykładach.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 19 Interfejs szeregowy USART Full Duplex Operation, transmisja synchroniczna i asynchroniczna, Możliwość transmisji danych 5, 6, 7, 8 lub 9 bitowych z 1 lub 2 bitami stopu, bit parzystości wykrywany sprzętowo, wykrywanie błędów transmisji, Przerwania: TX Complete, TX Data Register Empty, RX Complete. Dokładny opis na następnych wykładach.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 20 Interface szeregowy - Two-wire Obsługa trybów Master i Slave, arbitraż Multi-master, 7-bitowy adres (128 adresów Slave), w pełni programowalny adres Slave-a w ramach General Call Support Prędkość transmisji do400khz Dokładny opis na następnych wykładach.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 21 Przetworniki analogowo-cyfrowy ADC Rozdzielczość 10-bitowa, Nieliniowość na poziomie 1 2 LSB, Dokładność bezwzględna na poziomie±2 LSB, Czas konwersji65 260µs, 8 multipleksowanych kanałów, 7 kanałów różnicowych, 2 wejść różnicowych ze wzmocnieniem10 and200, Zakres mierzonych napięć0 V CC, Wybór napięcia odniesienia: wewnętrzne2,56v lub zewnętrzne, W tryb konwersji Single przetwornik pracuje w sposób ciągły, Zgłaszane przerwanie po zakończeniu konwersji.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 22 Interface JTAG JTAG Debuging System umożliwia: Kontrolę wszystkich jednostek peryferyjnych, Kontrolę pamięci RAM, EEPROM data i pamięć FLESH, Kontrolę rejestrów wewnętrznych oraz rejestr PC, Analizę uszkodzeń, Programowanie pamięci Flash, EEPROM, Odblokowanie flag, inne.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 23 ProgramowanieµC AVR ATmega32 ProgramowanieµC AVR ATmega32 może odbywać się: Z użyciem programatorów, poprzez bootloader. Istnieje kilka środowisk programistycznych, w skład których wchodzą kompilator, symulator, programator, terminal i inne elementy. Najbardziej popularne to: AVR Studio, Bascom AVR.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 24 Bascom-AVR To środowisko będzie używane na ćwiczeniach. Licencja: Shareware, Wersja DEMO do 4k kodu System operacyjny: Windows XP, 98, NT Środowisko do pisania i debugging-u układów AVR Do pobrania na stronie producenta: http://www.bipom.com Wymaga instalacji

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 25 BASCOM-AVR, język Basic - typy zmiennych Bit ( 1 8 byte), Byte (1 byte) - liczba8-bitowa bez znaku (0 255), Integer (dwa bajty) - liczby całkowitoliczbowe ze znakiem ( 32,768 +32,767), Word (dwa bajty) - liczba całkowitoliczbowa bez znaku (0 65535), Long (cztery bajty) - liczby całkowitoliczbowe ze znakiem ( 2147483648 2147483647), Single (32 bity) liczba zmiennoprzecinkowa ze znakiem (1.5x10 45 3.4x10 38 ), Double (64 bity) liczba zmiennoprzecinkowa ze znakiem (5.0x10 324 1.7x10 308 ), String (do 254 bajtów) -przechowywane jako bajty i zakończone 0-bajtem tj. rozmiar stringa jest o jeden większy. Układy AVR nie posiadają koprocesora. Operacje na liczbach zmiennoprzecinkowych (Single, Double) są emulowane.

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 26 Kontroler ARV ATmega32 używany na ćwiczeniach

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 27 Kontroler ARV ATmega32 - Schemat ideowy

SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 28 Zadania na ćwiczenia 1. Zrealizuj kalkulator wykonujący operacje dodawania "+" i odejmowania "-" na dwóch operandach w notacji infiksowej. Do wczytywania użyj funkcji input(). Każdą daną (w tym liczby i znaki) należy zatwierdzić enterem. 2. Zrealizuj kalkulator wykonujący operacje dodawania "+", odejmowania "-", mnożenia "*" i dzielenia "\" na dwóch operandach w notacji infiksowej. Do wczytywania użyj funkcji waitkey(). Operandy powinny być typu byte, wynik typu integer. W przypadku przekroczenia zakresu operandów lub nieprawidłowych danych należy wyświetlić stosowny komunikat. 3. Zrealizuj kalkulator wykonujący operacje dodawania "+", odejmowania "-", mnożenia "*" i dzielenia "\" na dwóch operandach w notacji infiksowej. Wykorzystując funkcję input() wczytaj całe wyrażenie, następnie dokonaj analizy poprawności danych. Załóż, że dane są reprezentowane poprzez bajt a wynik może być innym typem danych.