Techniki mikroprocesorowe i systemy wbudowane

Podobne dokumenty
Instytut Teleinformatyki

Mikroprocesory i mikrosterowniki

Podstawy techniki mikroprocesorowej. Dr inż. Grzegorz Kosobudzki p.311a A-5. Tel

Mikrokontrolery AVR ATmega

Mikroprocesory i Mikrosterowniki

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

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

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński

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

Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET

Systemy Wbudowane. Założenia i cele przedmiotu: Określenie przedmiotów wprowadzających wraz z wymaganiami wstępnymi: Opis form zajęć

KARTA PRZEDMIOTU. Egzamin / zaliczenie na ocenę*

Elementy składoweµc - przypomnienie

Programowanie Niskopoziomowe

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

Mikrokontroler ATmega32. Język symboliczny

MIKROKONTROLERY I MIKROPROCESORY

Mikroprocesory i Mikrosterowniki

Egzamin / zaliczenie na ocenę*

Politechnika Śląska w Gliwicach

Schemat blokowy architektury AVR

1. Struktura urządzeń z wykorzystaniem mikrokontrolerów...13

Instytut Teleinformatyki

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

Podstawy Techniki Mikroprocesorowej

4 Literatura. c Dr inż. Ignacy Pardyka (Inf.UJK) ASK MP.01 Rok akad. 2011/ / 24

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

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

Systemy wbudowane. Paweł Pełczyński

Opis efektów kształcenia dla modułu zajęć

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

Wstęp Architektura... 13

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Mikrokontroler ATmega32. Tryby adresowania Rejestry funkcyjne

KARTA PRZEDMIOTU KARTA PRZEDMIOTU

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C2. Low Level Programming Informatyka

KARTA PRZEDMIOTU. Programowanie niskopoziomowe, C1

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C

Architektura komputerów. Asembler procesorów rodziny x86

Programowanie mikrokontrolerów. 8 listopada 2007

petla:... ; etykieta określa adres w pamięci kodu (docelowe miejsce skoku) DJNZ R7, petla

elektrotechnika I stopień (I stopień / II stopień) Ogólno akademicki (ogólno akademicki / praktyczny) Kierunkowy (podstawowy / kierunkowy / inny HES)

Architektura komputerów

NOTATNIK KONSTRUKTORA

Metody obsługi zdarzeń

imei Instytut Metrologii, Elektroniki i Informatyki

Przerwania w architekturze mikrokontrolera X51

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

PRYWATNA WYŻSZA SZKOŁA BUSINESSU, ADMINISTRACJI I TECHNIK KOMPUTEROWYCH S Y L A B U S

WPROWADZENIE Mikrosterownik mikrokontrolery

KAmduino UNO. Rev Źródło:

Architektura systemów komputerowych Laboratorium 14 Symulator SMS32 Implementacja algorytmów

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

Architektura komputerów

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

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

Mikrokontrolery AVR techniczne aspekty programowania

KARTA PRZEDMIOTU. Architektura Komputerów C4

Programowanie mikrokontrolerów AVR

Instytut Teleinformatyki

Hardware mikrokontrolera X51

Architektura systemów komputerowych

Programowanie niskopoziomowe

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

PROJEKT I OPTYMALIZACJA STRUKTURY LOGICZNEJ DYDAKTYCZNEGO SYSTEMU MIKROPROCESOROWEGO DLA LABORATORIUM PROJEKTOWANIA ZINTEGROWANEGO

JAK DZIAŁAJĄ FUNKCJE PODZIAŁ PAMIĘCI

CPU ROM, RAM. Rejestry procesora. We/Wy. Cezary Bolek Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki

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

Programowanie mikrokontrolerów. 5 grudnia 2007

Architektura komputerów

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

Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci

KARTA PRZEDMIOTU. 2. Kod przedmiotu: MK_ Nazwa przedmiotu: SYSTEMY MIKROPROCESOROWE I WBUDOWANE

CPU architektura i rejestry

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

Podstawy Informatyki Języki programowania c.d.

Asembler - język maszynowy procesora

Instrukcja do ćwiczenia P4 Analiza semantyczna i generowanie kodu Język: Ada

Architektura systemu komputerowego

Sterowanie multipleksowe 4-cyfrowego wyświetlacza siedmiosegmentowego w oparciu o system przerwao mikrokontrolera ATmega16 w języku Asembler

Język programowania: Lista instrukcji (IL Instruction List)

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

Organizacja typowego mikroprocesora

Mikrokontrolery AVR Wprowadzenie

Architektura systemów komputerowych Laboratorium 7 Symulator SMS32 Stos, Tablice, Procedury

PODSUMOWANIE DOŚWIADCZEŃ NAUCZANIA PROGRAMOWANIA MIKROKONTROLERÓW 8-BITOWYCH AVR W ŚRODOWISKU AVRSTUDIO

Instytut Teleinformatyki

Komunikacja w mikrokontrolerach. Podstawy programowania. Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski

Architektura komputerów

MIKROPROCESORY I MIKROKONTROLERY INSTRUKCJE / KOMENDY / ROZKAZY: PRZEGLĄD I KILKA PRZYKŁADÓW DLA PRZYPOMNIENIA, GŁÓWNE REJESTRY ROBOCZE CPU:

Lista instrukcji procesora 8051 część 2 Skoki i wywołania podprogramów, operacje na stosie, operacje bitowe

Budowa komputera. Lubię to! - podręcznik

2. Architektura mikrokontrolerów PIC16F8x... 13

Podstawy techniki cyfrowej i mikroprocesorowej - opis przedmiotu

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

ISBN Copyright by Wydawnictwo BTC Warszawa Redaktor techniczny: Delfina Korabiewska Redaktor merytoryczny: mgr Anna Kubacka

Ćwiczenie nr 6. Programowanie mieszane

Transkrypt:

Techniki mikroprocesorowe i systemy wbudowane Wykład 1 Procesory rodziny AVR ATmega. Wstęp Wojciech Kordecki wojciech.kordecki@pwsz-legnica.eu Państwowa Wyższa Szkoła Zawodowa im. Witelona w Legnicy Wydział Nauk Technicznych i Ekonomicznych Zakład Informatyki Semestr zimowy 2018/19 1 / 23

Literatura dla procesorów AVR R.Baranowski, Mikrokontrolery AVR Atmega w praktyce, Wydawnictwo BTC, Warszawa 2005. J. Doliński, Mikrokontrolery AVR w praktyce, Wydawnictwo BTC, Warszawa 2004. T. Francuz, Język C dla mikrokontrolerów AVR, wyd. 2, Helion 2015. A. Pawluczuk, Sztuka programowania mikrokontrolerów AVR. Podstawy. Wydawnictwo BTC, Warszawa 2006. A. Pawluczuk, Sztuka programowania mikrokontrolerów AVR. Przykłady. Wydawnictwo BTC, Warszawa 2007. 2 / 23

AVR Studio Wstęp Do asemblacji programów można używać programu AVR Studio, dostępnego na stronie producenta firmy Atmel. 3 / 23

AVR Studio Wstęp Do asemblacji programów można używać programu AVR Studio, dostępnego na stronie producenta firmy Atmel. Układ (będzie o nim dalej) z procesorem Atmel AVR jest programowany w języku (podobnym do) C. 3 / 23

Procesory AVR firmy Atmel Procesory rodziny AVR są ośmiobitowe, tzn. operują w zasadzie na danych ośmiobitowych. Produkowane są przez firmę Atmel. Mają liczne wersje rozszerzone i zubożone. Dokumentacje procesorów 8-bitowych na stronie firmy Atmel. 4 / 23

Procesory jednoukładowe Procesory AVR są jednoukładowe, tzn. w jednym układzie znajdują się: wewnętrzne pamięci danych wewnętrzna pamięć programu rejestry, układ czasowo-licznikowy, linie wejścia-wyjścia, port szeregowy lub USB, układ przerwań. 5 / 23

Pamięć danych ulotna Adres 0000h Rejestry robocze R0 R31 o adresach od 0000h do 001Fh rejestry wejścia/wyjścia o adresach od 0020h do 005Fh Wewnętrzna pamięć RAM od 0060h lub 0100h Zewnętrzna pamięć RAM Adres FFFFh Ostatnie sześć rejestrów jest łączonych po dwa kolejne jako rejestry X, Y, Z służą do adresowania optymalizacja dla języka C. 6 / 23

Pamięć FLASH i EEPROM Pamięć programu jest pamięcią typu FLASH nieulotną. Dostęp do pamięci FLASH w operacjach zapisu nie jest możliwy z poziomu programu procesora. Możliwe jest załadowanie pamięci przez bootloader przez łącze szeregowe lub USB. USB np. w modelach AT90USB. Pamięć danych EEPROM stała (nieulotna), zapis z poziomu programu. 7 / 23

Rejestry wejścia/wyjścia Jest sześć portów A F. Z portami x, x {A,..., F } są związane trzy rejestry 8 / 23

Rejestry wejścia/wyjścia Jest sześć portów A F. Z portami x, x {A,..., F } są związane trzy rejestry PORTx rejestr wyjściowy 8 / 23

Rejestry wejścia/wyjścia Jest sześć portów A F. Z portami x, x {A,..., F } są związane trzy rejestry PORTx rejestr wyjściowy DDRx rejestr kierunku danych 8 / 23

Rejestry wejścia/wyjścia Jest sześć portów A F. Z portami x, x {A,..., F } są związane trzy rejestry PORTx rejestr wyjściowy DDRx rejestr kierunku danych PINx rejestr wejściowy 8 / 23

Dlaczego asembler? Powody zajmowania się asemblerem procesorów 8-bitowych. Zrozumienie funkcji rejestrów i roli rozkazów procesora. Optymalizacja programów pracujących w czasie rzeczywistym. Im mniejszy procesor, tym zagadnienie optymalizacji jest ważniejsze. Często jest najważniejsze. Nie najważniejsze, ale też dość ważne: zarobki programistów. 9 / 23

Dyrektywy Wstęp Dyrektywy sterują pracą asemblera i definiują dodatkowe elementy programu stałe napisy, makra itp. Dyrektywy są poprzedzone kropką. CSEG dalsze zapisy dotyczą pamieci programu DEVICE określa model procesora ORG określa adres w pamięci, od którego generowany jest program 10 / 23

Skok względny rjmp skok względny o 2k wprzód lub wstecz, gdzie k jest liczbą 12-bitową. Zwykle długość skoku jest obliczana na podstawie etykiety. rjmp etykieta //... etykieta: // tu jakieś dalsze rozkazy 11 / 23

Wpisanie do rejestru ldx wpisanie do rejestru, gdzie x jest napisem pustym lub jest jedną z liter: d, i, s. Można wpisywać do rejestrów R16 R31. Tutaj ldi wpisanie do rejestru stałej. ldi R16, 0x0f // wpisanie do R16 liczby 15=0b00001111 12 / 23

Kopiowanie rejestru mov skopiowanie rejestru do rejestru. ldi R22, 5 // wpisanie liczby 5 do R22 mov R2, R22 // skopiowanie R22 do R2 13 / 23

Stos (1) Wstęp Stos rośnie w kierunku adresów niższych w pamięci RAM. Dno stosu ustalane przez wpisanie adresu szesnastobitowego do rejestrów SPH i SPL. Może to być najwyższy istniejący adres pamięci danych: push położenie na stos pop zdjęcie ze stosu 14 / 23

Stos (2) Wstęp Kładziemy rejestr na stos i zdejmujemy ze stosu w odwrotnej kolejności push R1 push R2 //... pop R2 pop R1 15 / 23

Wywołanie procedury rcall wywołanie procedury (funkcji). Adres procedury określa się zazwyczaj przy pomocy etykiety. Przed skokiem do procedury, na stosie odłożony jest 16-bitowy adres powrotu. Procedura powinna się kończyć rozkazem ret, który zdejmuje ze stosu adres powrotu. 16 / 23

Pominięcia Wstęp sbis pominięcie następnej instrukcji, jeśli bit w rejestrze we/wy jest ustawiony sbic pominięcie następnej instrukcji, jeśli bit jest wyzerowany sbis PINE, 2 rjmp etykieta // jest pominięty, gdy bit 2 // w porcie E jest ustawiony cbis PINE, 3 rjmp etykieta // jest pominięty, gdy bit // w porcie E jest wyzerowany 17 / 23

Rozkazy logiczne or alternatywa zawartości rejestrów ori alternatywa zawartości rejestru i stałej and koniunkcja zawartości rejestrów andi koniunkcja zawartości rejestru i stałej 18 / 23

Zwiększanie i zmniejszanie inc zwiększenie rejestru Rx o 1 mod 0x100-256 dec zmniejszenie rejestru Rx o 1 mod 0x100-256 inc R15 // R15:=R15+1 dec R15 // R15:=R15-1 19 / 23

System Wstęp Krótki opis układu Projekty strona domowa Płyta składa się z 8-bitowego mikrokontrolera Atmel AVR z uzupełniającymi elementami w celu ułatwienia programowania oraz włączenia innych układów. (... ). Oficjalne płyty wykorzystują układy z serii megaavr, a konkretnie ATmega8, ATmega168, ATmega328, oraz ATmega1280 i ATmega 2560. Źródło: Wikipedia: Internetowy Kurs 20 / 23

Uno Wstęp Krótki opis układu Projekty 21 / 23

Literatura Wstęp Krótki opis układu Projekty J. Boxall.. 65 praktycznych projektów. Helion, Gliwice 2014. Fragment M. Evans, J. Noble, J. Hochenbaum. w akcji. Poznaj możliwości. Helion, Gliwice 2014. Fragment K.Karvinen, T.Karvinen. Czujniki dla początkujących. Helion, Gliwice 2015. Fragment S. Monk. dla początkujących. Podstawy i szkice. Helion, Gliwice 2014. Fragment S. Monk. dla początkujących. Kolejny krok. Helion, Gliwice 2015. Fragment M. Riley. Inteligentny dom. Automatyzacja mieszkania za pomocą platformy, systemu Android i zwykłego komputera. Helion, Gliwice 2013. Fragment 22 / 23

PWSZ w Legnicy Krótki opis układu Projekty Laboratorium mgr inż. Jan Duda 23 / 23

PWSZ w Legnicy Krótki opis układu Projekty Laboratorium mgr inż. Jan Duda Zasoby Mamy wraz z urządzeniami pomocniczymi. 23 / 23