programowanie mikrokontrolerów

background image

Programowanie mikrokontrolerów

Wstęp

Marcin Engel

Marcin Peczarski

Instytut Informatyki Uniwersytetu Warszawskiego

4 października 2011

background image

Co to jest mikrokontroler?

Układ integrujący w sobie następujące elementy (w zależności od
modelu):

I

jednostkę obliczeniową (8-, 16- lub nawet 32-bitową),

I

pamięć danych (SRAM, EEPROM),

I

pamięć programu (FLASH, ROM, EEPROM),

I

układy taktujące (RC),

I

kontroler przerwań,

I

liczniki,

I

przetworniki analogowo-cyfrowe,

I

przetworniki cyfrowo-analogowe,

I

interfejsy szeregowe (UART, SPI, I2C, 1WIRE, USB),

I

układ nadzorujący (watchdog),

I

zegar czasu rzeczywistego.

mikrokontroler = komputer w jednym układzie

background image

Popularne mikrokontrolery

I

8051 firmy Intel i jego liczne klony

I

PIC firmy Microchip Technology

I

68HC firmy Motorola (obecnie Freescale Semiconductor)

I

Z8 firmy Zilog

I

AVR firmy Atmel

I

MSP430 firmy Texas Instruments

I

ARM produkowane przez wiele firm, np.:

I

Atmel

I

NXP Semiconductors (dawniej Philips)

I

Samsung

I

STMicroelectronics (dawniej SGS Thomson)

I

. . .

background image

Mikrokontrolery firmy Atmel

I

8-bitowa architektura 8051

I

AT80. . .

I

AT83. . .

I

AT87. . .

I

AT89. . .

I

8-bitowa architektura AVR

I

AT90. . .

I

ATtiny. . .

I

ATmega. . .

I

ATxmega. . .

I

32-bitowa architektura AVR

I

AT32. . .

I

32-bitowa architektura ARM

I

AT91. . .

background image

Jak zacząć zabawę?

Trzeba zakupić:

I

mikrokontroler (ATmega16 kosztuje ok. 10 PLN),

I

troszkę innych elementów elektronicznych (diody LED,
mikroswitche, rezystory, kondensatory, złącza, . . . ).

Ponadto należy przygotować:

I

najprostszy programator dołączany do złącza LPT (cena
ok. 26 PLN za gotowy, poniżej 5 PLN przy samodzielnym
montażu) lub

I

programator dołączany do USB (ceny od ok. 70 PLN),

I

komputer z oprogramowaniem (darmowe programy PonyProg,
AVR Studio, VMLAB, . . . ).

A także:

I

laminat, wytrawiacz, lutownicę i inne narzędzia lub

I

płytkę uniwersalną, lutownicę lub

I

płytkę stykową lub . . .

background image

Zestaw uruchomieniowy

I

Umożliwia szybkie tworzenie układów testowych.

I

Zawiera na pokładzie wszystkie niezbędne podzespoły, które
łączy się za pomocą przewodów.

background image

Zestaw uruchomieniowy – typowe wyposażenie

I

wyświetlacz LCD i/lub segmentowy LED

I

zestaw przycisków lub klawiatura matrycowa

I

układ zasilający, kwarc, złącze programatora

background image

Zestaw uruchomieniowy – dodatkowe wyposażenie

I

wyprowadzenia interfejsów szeregowych (z ew. konwersją
napięć)

I

ciekawe peryferia (termometr, odbiornik i nadajnik IR,
akumulator, pamięć Flash, zegar RTC, . . . )

background image

Zestaw uruchomieniowy – własne wyposażenie

I

pole lutownicze do wlutowania własnych układów

background image

Programatory

Programator:

I

składa się z dwóch części: sprzęt (interfejs PC–mikrokontroler)
i oprogramowanie,

I

dwa tryby programowania: równoległy i szeregowy,

I

wśród nich też istnieje wiele różnych rozwiązań.

Programator równoległy (ang. parallel programming ):

I

jest szybki,

I

zawsze jest aktywny,

I

daje (prawie) pełny dostęp do mikrokontrolera,

I

programowany mikrokontroler trzeba wyjąć z układu,

I

jest niezależny od układu, w którym zastosowano
mikrokontroler,

I

jest skomplikowany i drogi.

background image

Programatory, cd.

Programator szeregowy (ang. in system programming ):

I

umożliwia programowanie bez wyjmowania mikrokontrolera
z układu (projektując układ, trzeba przewidzieć taką
możliwość, dodając co najmniej dodatkowe rezystory),

I

może zostać zablokowany programowo,

I

programowany mikrokontroler musi być prawidłowo taktowany,

I

jest tani i prosty w budowie.

Programator wysokonapięciowy szeregowy (ang. high voltage serial
programming
):

I

ma te same własności co programator równoległy,

I

jest stosowany w mikrokontrolerach o małej liczbie
wyprowadzeń, np. 8.

background image

Programator szeregowy

I

Jest przyłączany do wyprowadzeń MOSI, MISO, SCK, RESET
mikrokontrolera.

I

Pobiera zasilanie z programowanego układu.

I

Współpracuje z darmowym oprogramowaniem np. PonyProg.

Standardy złącza programatora ISP:

I

ATMEL

I

KANDA

background image

Interfejsy do programowania i debugowania w układzie

JTAG:

I

Jest przyłączany do wyprowdzeń TDI, TDO, TMS, TCK,
RESET mikrokontrolera.

I

Firmowy interfejs jest drogi.

I

Można go wykonać samodzielnie na podstawie opisów
z Internetu.

I

Blokuje port mikrokontrolera.

dW (debugWIRE):

I

Jest przyłączany do wyprowdzenia RESET mikrokontrolera.

I

Jak na razie interfejs trzeba zakupić od firmy Atmel, np. AVR
Dragon.

I

Nie blokuje portów mikrokontrolera.

I

Jest obecny tylko w najnowszych mikrokontrolerach.

background image

Symulator VMLAB

I

Jest to darmowe środowisko do programowania i wykonywania
symulacji.

I

Używa zewnętrznego asemblera (domyślnie firmowego) lub
kompilatora C.

I

Posiada bardzo dobrą wizualizację stanu mikrokontrolera.

I

Ostrzega o wielu potencjalnych błędach, np. czytanie
niezainicjowanych danych.

I

Niestety zawiera drobne błędy i przestał być rozwijany.

I

Można doprogramować w C++ symulację własnych
komponentów.

I

Obsługuje tylko niektóre mikrokontrolery, ale w tym
ATmega16.

I

Jest to bardzo wygodne środowisko dla początkujących.

background image

Środowisko AVR Studio

I

Jest to darmowe zintegrowane środowisko programistyczne
udostępniane przez firmę Atmel.

I

Regularnie publikowane są uaktualnienia.

I

Obsługuje wszystkie aktualnie dostępne mikrokontrolery.

I

Obsługuje JTAG i dW.

I

Posiada nienajlepszą wizualizację.

I

Zawiera symulator, ale jest on (chyba intencjonalnie)
niedopracowany.

background image

Co możemy podłączyć do mikrokontrolera?

Jako wyjście:

I

diody świecące – LED (ang. Light Emitting Diode)„

I

wyświetlacz segmentowy LED,

I

wyświetlacz ciekłokrystaliczny – LCD (ang. Liquid Crystal
Display),

I

komputer, inny mikrokontroler (np. po złączu szeregowym),

I

inny układ (np. po złączu I

2

C),

I

nadajnik podczerwieni – IR (ang. Infra Red),

I

nadajnik radiowy,

I

. . .

background image

Co możemy podłączyć do mikrokontrolera?

Jako wejście:

I

przycisk,

I

klawiaturę matrycową,

I

klawiaturę PC lub myszkę,

I

komputer, inny mikrokontroler,

I

odbiornik IR lub radiowy,

I

termometr analogowy,

I

. . .

background image

Diody świecące, LED

background image

Charakterystyka diody

I

Typowe parametry pracy

I

prąd od kilku do kilkudziesięciu mA,

I

spadek napięcia od 0,2 V do 3,5 V.

I

Jasność diody świecącej zależy od prądu przez nią płynącego.

I

Żywotność też!

I

Nadmierny prąd może uszkodzić diodę.

I

Dioda przewodzi prąd w jednym kierunku (kierunek
przewodzenia).

I

Zbyt duże napięcie przyłożone w kierunku zaporowym może
uszkodzić diodę.

background image

Jak przyłączyć diodę do mikrokontrolera?

I

Prawo Ohma: U = RI .

I

Dla założonego prądu płynącego
przez diodę:

I

sprawdzamy, jaki będzie spadek
napięcia na niej,

I

włączamy w obwód rezystor
dobrany tak, aby spadki napięcia
na nim i na diodzie sumowały się
do napięcia zasilania.

I

Przykład:

I

prąd diody 5 mA,

I

spadek napięcia na diodzie 1,7 V,

I

napięcie zasilania 5 V,

I

wartość rezystora:

5 V 1,7 V

5 mA

=

3,3 V

5 mA

= 660 Ω.

I

Wybieramy rezystor 680 Ω.

background image

LED – podsumowanie

Dioda świecąca:

I

przewodzi prąd w jednym kierunku (i wtedy świeci),

I

wymaga ograniczenia prądu za pomocą rezystora.

W zestawie uruchomieniowym:

I

odpowiednie rezystory są wlutowane.

I

po połączeniu diody z portem procesora dioda będzie świecić
po podaniu stanu 0 na odpowiednią nóżkę.

W symulatorze VMLAB:

I

nie trzeba używać rezystorów (ale będą problemy
z oglądaniem przebiegów),

I

dioda będzie świecić po podaniu stanu 0 na odpowiednią
nóżkę.

background image

Jak podłączyć inne układy?

I

Będziemy to poznawać sukcesywnie na kolejnych zajęciach.


Wyszukiwarka

Podobne podstrony:
ZL5PRG Programator mikrokontrol Nieznany
AVR i ARM7 Programowanie mikrokontrolerow dla kazdego avrar7
Podstawy Programowania Mikrokontrolera 8051
Programowanie mikrokontrolerow 8051 w jezyku C
Galka Galka Podstawy Programowania Mikrokontrolera 8051
Podstawy programowania mikrokontrolera 8051
Podstawy programowania mikrokontrolerów AVR8 w środowisku AVR Studio 4
Podstawy programowania mikrokontrolera 8051(300dpi)
kurs programowania w języku ms basic, Programowanie mikrokontrolerów
Podstawy programowania mikrokontrolera 8051
Programowanie mikrokontrolerów za pomocą programatora USBasp
programator mikrokomputerow 89C Nieznany
Programowanie mikrokontrolerów PIC
proj, Edukacja, studia, Semestr V, Programowanie Mikrokomputerów, Ćwiczenia
ZL5PRG Programator mikrokontrol Nieznany
Marcin Wiazania Programowanie mikrokontrolerow AVR w jezyku Bascom
Programowanie mikrokontrolerów 2 0 pl
Programowanie mikrokontrolerow 8051 w jezyku C

więcej podobnych podstron