Mikroprocesory i mikrosterowniki

Podobne dokumenty
Mikroprocesory i Mikrosterowniki

Mikroprocesory i Mikrosterowniki

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

Podstawy Techniki Mikroprocesorowej

Systemy wbudowane Mikrokontrolery

MIKROKONTROLERY I MIKROPROCESORY

2. Architektura mikrokontrolerów PIC16F8x... 13

Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2

Mikrokontrolery AVR Wprowadzenie

WPROWADZENIE Mikrosterownik mikrokontrolery

Wykład Mikroprocesory i kontrolery

KOMUNIKACJA Z OTOCZENIEM MIKROKONTROLERA

Techniki mikroprocesorowe i systemy wbudowane

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

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

Mikrokontroler AVR ATmega32 - wykład 9

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

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

System mikroprocesorowy i peryferia. Dariusz Chaberski

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

Wstęp Architektura... 13

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

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

Organizacja typowego mikroprocesora

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

Mikroprocesory i Mikrosterowniki Analog-Digital Converter Konwerter Analogowo-Cyfrowy

Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Elementy składoweµc - przypomnienie

Schemat blokowy procesora rdzeniowego ATmega16. Głównym zadaniem JC jest zapewnienie poprawnego i szybkiego wykonywania programu.

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

Architektura systemów komputerowych

Wykład Mikrokontrolery i mikrosystemy Cele wykładu:

Komunikacja w mikrokontrolerach Laboratorium

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

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

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

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

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

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Systemy wbudowane. Mikrokontrolery cz. 1. Opracowano na podstawie (

Wykład 2. Mikrokontrolery z rdzeniami ARM

7. Technika mikroprocesorowa test

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

Systemy wbudowane. Paweł Pełczyński

Magistrala systemowa (System Bus)

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Mikrokontrolery czyli o czym to będzie...

Układ sterowania, magistrale i organizacja pamięci. Dariusz Chaberski

Liczniki, rejestry lab. 08 Mikrokontrolery WSTĘP

Instytut Teleinformatyki

Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa Wstęp... 11

MCAR Robot mobilny z procesorem AVR Atmega32

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

Układy zegarowe w systemie mikroprocesorowym

Maszyny liczace - rys historyczny

Budowa Mikrokomputera

PSM. Czym są systemy wbudowane? Podstawy systemów mikroprocesorowych. Systemy wbudowane (Embedded Devices) Moc: ~ mw. Na jednym końcu skali

Mikrokontroler 80C51

LEKCJA TEMAT: Zasada działania komputera.

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

Programowalne układy logiczne

Układy zegarowe w systemie mikroprocesorowym

Wykład 3. Przegląd mikrokontrolerów 8-bit: STM8

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

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

KARTA PRZEDMIOTU. Egzamin / zaliczenie na ocenę*

7. Technika mikroprocesorowa test

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

MIKROKONTROLERY AVR JĘZYK C WYDAWNICTWO ATNEL PODSTAWY PROGRAMOWANIA. Miros aw Kardaś. Szczecin Mojej Żonie Kasi

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET

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

Architektura systemów komputerowych. dr Artur Bartoszewski

Programowanie Mikrokontrolerów

Programowanie mikrokontrolerów. 8 listopada 2007

Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki

Charakterystyka mikrokontrolerów

Technika Mikroprocesorowa

Architektura mikroprocesorów TEO 2009/2010

dr inż. Rafał Klaus Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia i ich zastosowań w przemyśle" POKL

ŚRODOWISKO PROTOTYPOWANIA SP AVR

Technika mikroprocesorowa

Architektura harwardzka Architektura i organizacja systemu komputerowego Struktura i funkcjonowanie komputera procesor, rozkazy, przerwania

Szkolenia specjalistyczne

Programator procesorów AVR, część 1

Systemy mikroprocesorowe

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

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

Programowanie mikrokontrolerów AVR

Logiczny model komputera i działanie procesora. Część 1.

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

Mikroprocesory i Mikrosterowniki Laboratorium

Instytut Teleinformatyki

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

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

Przerwania, polling, timery - wykład 9

PROGRAMOWALNE SYSTEMY MECHATRONIKI

Programowanie Mikrokontrolerów

Projektowanie. Projektowanie mikroprocesorów

Transkrypt:

Mikroprocesory i mikrosterowniki Wykład 1 wstęp, budowa mikrokontrolera Wydział Elektroniki Mikrosystemów i Fotoniki Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Piotr Markowski

Treść kursu Programowanie mikrokontrolerów na przykładzie 8-bitowego układu ATmega8535 (ATMEL) w asemblerze 8-bitowy mikrokontroler R8C25 (RENESAS)

Literatura R. Pełka Mikrokontrolery architektura, programowanie, zastosowania P. Górecki Mikrokontrolery dla początkujących J.M. Sibigtroth Zrozumieć małe mikrokontrolery J. Doliński Mikrokontrolery AVR w praktyce R. Baranowski Mikrokontrolery AVR ATmega w praktyce www.atmel.com (dokumentacja!)

Materiały http://www.w12.pwr.wroc.pl/pmarkowski

Warunki zaliczenia 2 x kolokwium kartkówki na wykładzie (3-4)

Plan wykładu Trochę o mikrokontrolerach Architektura mikrokontrolera ATmega8535 Lista instrukcji ATmega8535 Programowanie w asemblerze Urządzenia peryferyjne ATmega8535 Interfejsy komunikacyjne Układy zewnętrzne

Mikrokontroler (mikrosterownik) definicja Jest scalonym układem cyfrowym, który oprócz wbudowanej jednostki centralnej CPU posiada zintegrowaną pamięć oraz układy wspomagające. Mikrokontroler stanowi całkowicie autonomiczny system mikroprocesorowy, który do pracy nie wymaga układów zewnętrznych. Ma rozbudowany system komunikacji z otoczeniem.

Mikrokontroler zastosowanie Mikrosystem Magistrala komunikacyjna Czujniki Mikrokontroler Magistrala komunikacyjna Aktuatory

Mikrokontroler vs mikroprocesor Komputer Mikrokontroler (mikrokomputer jednoukładowy)

Mikrokontroler - budowa RESET Jednostka centralna REZONATOR ZASILANIE MIĘDZYMORDZIA KOMUNIKACYJNE zegar Szyny wewnętrzne: adresowa i danych Pamięć: - programu - danych Układy we/wy i peryferyjne

ATmega8535

Specyfikacja ATmega8535 Mikrokontroler 8-bitowy Architektura RISC ~130 instrukcji w większości wykonywane w 1 cykl zegarowy 32 8-o bitowe rejestry uniwersalne - 64 rejestry specjalne ponad 16 MIPS wbudowany układ mnożący RISC (Reduced Instruction Set Computer) - architektura typu Harvard (oddzielone szyny danych i rozkazów) - przetwarzanie potokowe - zredukowana lista instrukcji - instrukcje mogą operować na dowolnym rejestrze uniwersalnym - ograniczenie komunikacji pomiędzy pamięcią, a procesorem

Specyfikacja ATmega8535 c.d. Nieulotna pamięć programu i danych 8 KB pamięci Flash EEPROM Wytrzymałość: 10 000 cykli zapis/odczyt Obszar pamięci bootowalnej 512 bajtów EEPROM Wytrzymałość: 100 000 cykli zapis/odczyt 512 bajtów SRAM Programowalne zabezpieczenie kodu programu (Lock Bits) 32 programowalne wejścia/wyjścia (porty I/O)

Specyfikacja ATmega8535 c.d. Urządzenia peryferyjne Dwa 8-o bitowe liczniki (Timer/Counters) 2^8 Jeden licznik 16-o bitowy 2^16 Programowalny Watchdog (licznik specjalny) PWM (Pulse Width Modulation) 10-o bitowy konwerter analogowo-cyfrowy (ADC) Komparator analogowy Magistrala szeregowa Two-wire (I2C) Magistrala szeregowa USART Magistrala szeregowa SPI (tryby Master/Slave)

Specyfikacja ATmega8535 c.d. Opcje specjalne Brown-out Detector Wewnętrzny oscylator RC Możliwość taktowania ze źródła zewnętrznego Przerwania wewnętrzne i zewnętrzne Sześć trybów uśpienia Napięcia zasilania: 2,7 5,5V dla ATmega8535L 4,5 5,5V dla ATmega8535

Budowa mikrokontrolera ATmega8535

ATmega8535 - CPU CPU: Jednostka Arytmetyczno-Logiczna (ALU) Rejestry uniwersalne Status Register (SREG) Wskaźnik Stosu (SP) Licznik rozkazów (PC)

ALU Działanie ALU: 1) wczytanie do wewnętrznych rejestrów ALU kolejnego rozkazu 2) wczytanie argumentów lub informacji o ich lokalizacji 3) pobranie argumentów do rejestrów ALU 4) wykonanie instrukcji 5) inkrementacja PC

Status Register I obsługa przerwań on/off T bit magazynujący (storage) H Half carry przeniesienie z bitu 3 przy op. arytmet. S Sign - XOR flag N i V V zmiana z 01111111 na 10000000 N gdy MSB = 1 Z gdy 00000000 C Carry przeniesienie

Programowanie KOD MASZYNOWY 11100100010101 01110010010101 11010110010001 00101011100101 ASEMBLER Ldi R16, 100 Ldi R17, 50 Add R16, R17 Out PORTA, R16 JĘZ. POZIOMU ŚRED. / WYS. PORTA:= R16+R17 (C, BASCOM) LISTA INSTRUKCJI µp.... asemblacja kompilacja

Programowanie PROGRAM (PC) Kompilacja Asemblacja µc FLASH EEPROM ELECTRICAL ERASABLE PROGRAMABLE READ ONLY MEMORY PAMIĘĆ PROGRAMU

Programowanie 1110010001010110 0111001001010111 1101011001000101 0010101110010100 1000110011010101 0001011101010010 1011110001001001 1100101010010111 Kod op. 0111 001001 010111 Arg. 1 (9) Arg. 2 RAM 1101000 1

Programowanie CP U port WE/WY ustaw stan wysoki odczyt stanu I2C WYŚLIJ Wyślij 0111 001001 010111 T/C0 Timer/Counter 0 START ODCZYT ZAŁADOWANIE START PWM

Specyfikacja ATmega8535 c.d. Urządzenia peryferyjne Dwa 8-o bitowe liczniki (Timer/Counters) 2^8 Jeden licznik 16-o bitowy 2^16 Programowalny Watchdog (licznik specjalny) PWM (Pulse Width Modulation) 10-o bitowy konwerter analogowo-cyfrowy (ADC) Komparator analogowy Magistrala szeregowa Two-wire (I2C) Magistrala szeregowa USART Magistrala szeregowa SPI (tryby Master/Slave)

ATmega8535 wyprowadzenia Wejścia I/O Wejścia ADC We/wy liczników SPI USART I2C Przerw. zewn.

Pamięć

ATmega8535 - pamięć Pamięć programu FLASH EEPROM, 8 kb kod programu Pamięć danych SRAM, 512 B bieżące dane tymczasowe rejestry Pamięć dodatkowa, użytkownika EEPROM, 512 B

Pamięć programu FLASH EEPROM zorganizowana jako 4 K x 16 bajtów ($FFF) podzielona na PROGRAM SECTION oraz BOOT SECTION przechowuje program załadowany do mikrosterownika

Pamięć programu licznik rozkazów Program Counter wskazuje adres, spod którego pobierane są kolejne instrukcje 11 10 9 8 7 6 5 4 3 2 1 0 PC (FLASH EEPROM $000 - $FFF)

Pamięć danych SRAM, rejestry 32 rej. uniwersalne 64 rej. specjalne Mapa pamięci danych 512 bajtów SRAM

SRAM Stos do przechowywania danych tymczasowych, zmiennych, adresów powrotu z podprogramów. Wskaźnik stosu (Stack Pointer) wskazuje pierwszy wolny wiersz stosu. SPL, SPH 512 wierszy, 512 kb Dekrementacja SP Konieczna inicjalizacja stosu Wierzchołek stosu

Rejestry

Rejestry Podstawowe elementy mikrokontrolera. Każde urządzenie wewnętrzne µc ma przypisane do siebie specjalne rejestry sterujące jego pracą.

Rejestry Przykładowy rejestr specjalny: start/stop prescaler ExaReg 1 1 0 1 0 0 - - on/off przerwanie on/off

Rejestry specjalne SREG = Status Register DDRA = Data Direction Register TCCR0 = Timer/Counter Control Register 0 GICR = General Interrupt Control Register

Rejestry specjalne

Rejestry specjalne

Rejestry uniwersalne Brak bezpośredniego dostępu do rej. specjalnych Dostęp pośredni przez dowolny rejestr uniwersalny 1 0 0 1 1 0 0 1 rej. specjalny rej. uniwersalny 1 0 0 1 1 0 0 1 wartość R0 R31 dowolny rejestr uniwersalny TCCR0 wybrany rejestr specjalny

Rejestry uniwersalne Dodatkowa funkcja: tworzą rejestry 16-bitowe będące wskaźnikami przy dostępie do całej pamięci danych $000 - $25F (Rx, P, SRAM)

Rejestry Rejestry specjalne: do sterowania urządzeniami wewnętrznymi - 64 szt. (str. 299) - nazwy to skróty (SREG = Status Register) Rejestry uniwersalne: - do wykonywania operacji (arytmetycznych, logicznych itp.) - 32 szt. - nazwy: R0 R31

Porty I/O

Porty I/O A: B: C: D: DDRA DDRB DDRC DDRD PORTA PORTB PORTC PORTD PINA PINB PINC PIND DDR Data Direction Register (1=WY, 0=WE) PORT gdy WY (wysyłanie 1 lub 0) PIN gdy WE (tylko do odczytu) PA0 PA7,, PD0 PD7

Jak to zrobić, żeby: 1)wysłać z µc na zewnątrz sygnał 10101010 (port C)? DDRC: PORTC: PINC: 2) sczytać sygnał podany z zewnątrz na port C? DDRC: PORTC: PINC: 3) ustawić 6 najstarszych jako WY, reszta jako WE; wysłać 000111 i sczytać PC0, PC1? DDRC: PORTC: PINC: 11111111 10101010-00000000 - zajrzeć do środka 11111100 000111xx zajrzeć do środka

Softwere

AVR Studio 4 www.atmel.com

PonyProg2000 - www.lancos.com

Przykładowe zagadnienia sprawdzające

Przykładowe zagadnienia sprawdzające 1. Mikrokontroler definicja. 2. Mikrokontroler vs. Mikroprocesor - różnice. 3. Mikrokontroler - ogólna budowa wewnętrzna. 4. CPU budowa ogólna. 5. ALU działanie. 6. Rodzaje pamięci półprzewodnikowych (RAM, ROM, EEPROM, DRAM, itp.), podstawowe cechy. 7. Podział pamięci w mikrokontrolerze: p. danych, p. programu, rejestry funckcje. 8. Rejestey mikrokontrolera podział, funkcje, cechy, stos. 9. Funkcje wybranych rejestrów specjalnych (PC, SP, SREG, DDRx, PORTx, PINx).