rozdzial_12.pdf

(4274 KB) Pobierz
SŁAWOMIR WIAK
(redakcja)
Akademicka Oficyna Wydawnicza EXIT
Recenzenci:
Prof. Janusz Turowski
Politechnika
Łódzka
Prof. Ewa Napieralska Juszczak
University Lille Nord de France, LSEE, UA, Francja
Autorzy rozdziałów:
Prof. Piotr Ostalczyk
(rozdz. 1, 2)
Prof. Edward Jezierski
(rozdz. 3)
Dr hab. inż. Zbigniew Gmyrek
(rozdz. 4)
Dr hab. inż. Ryszard Szczerbanowski, prof. PŁ
(rozdz. 5)
Dr inż. Grzegorz Tosik
(rozdz. 6)
Prof. Zbigniew Lisik
(rozdz. 6)
Dr hab. inż. Jacek Gołębiowski, prof. PŁ
(rozdz. 7)
Dr hab. inż. Krzysztof Pacholski, prof. PŁ
(rozdz. 8, 9)
Prof. Krzysztof Gniotek
(rozdz. 10)
Dr hab. inż. Iwona Frydrych, prof. PŁ
(rozdz. 10)
Dr hab. Inż Ryszard Korycki, prof. PŁ
(rozdz. 11)
Dr inż. Grażyna Sobiczewska
(rozdz. 12)
Dr hab. Maria Dems, prof. PŁ
(rozdz. 13, 15)
Prof. Sławomir Wiak
(rozdz. 13, 14, 15, 16, 17)
Dr inż. Wojciech Rosiak
(rozdz. 13, 15)
Dr inż. Paweł Drzymała
(rozdz. 14, 16, 17)
Dr inż. Henryk Welfle
(rozdz. 14, 16, 17)
Dr inż. Ryszard Lasota
(rozdz. 18)
Dr inż. Marek Jan Glaba
(rozdz. 19)
Monografia przygotowana w ramach projektu "Innowacyjna dydaktyka bez ograniczeń - zintegrowany
rozwój Politechniki
Łódzkiej
- zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania
zdolności do zatrudniania, także osób niepełnosprawnych", współfinansowanego przez Unię
Europejską w ramach europejskiego Funduszu Społecznego - Programu Operacyjnego Kapitał Ludzki
"Priorytet IV, poddziałanie 4.1.1. Wzmocnienie potencjału dydakty-cznego uczelni".
Utwór w całości ani we fragmentach nie może być powielany ani rozpowszechniany za pomocą
urządzeń elektronicznych, mechanicznych, kopiujących, nagrywających i innych, w tym również nie
może być umieszczany ani rozpowszechniany w postaci cyfrowej zarówno w Internecie,
jak i w sieciach lokalnych bez pisemnej zgody posiadacza praw autorskich.
ISBN 978-83-60434-85-7
© Copyright by EXIT, Politechnika
Łódzka
Łódź
2010
12. PROGRAMOWANIE MIKROKONTROLERÓW
Grażyna Sobiczewska
12. Programowanie mikrokontrolerów
12.1
Informacje wstępne
Mikrokontroler, zwany wcześniej mikrokomputerem jednoukładowym,
to układ scalony zdolny do autonomicznej pracy, bo zawierający
w pojedynczym elemencie procesor, pamięci i układy do komunikacji
z otoczeniem. Spotykamy go w
życiu
codziennym jako element
wbudowany różnych urządzeń, takich jak: sprzęt gospodarstwa
domowego, pojazdy, układy kontrolno-pomiarowe, układy automatyki,
sprzęt medyczny i telekomunikacyjny, urządzenia peryferyjne systemów
komputerowych, zabawki itp., ponieważ służy do ich cyfrowego
sterowania. Niewielkie rozmiary i cena powodują,
że
znajduje zastosowa-
nie w coraz szerszej gamie urządzeń.
Jako przodka mikrokontrolerów można uznać 4-bitowy układ Intel
4004 z 1971 roku, wraz z jego 8-bitowym następcą o numerze 8008.
Pierwszym zasługującym w pełni na to miano, bo wyposażonym
w wewnętrzną pamięć, był 8048, który pojawił się na rynku w 1976 roku.
Jednakże standardem stał się model 8051 z roku 1980 - prototyp wiodącej
w klasie 8-bitowych kontrolerów (obok 68HC11 firmy Motorola) rodziny
MCS-51. Producenci obecnie produkowanych modeli, rozbudowując ich
zasoby wewnętrzne, często starają się, aby ich rozwiązania zachowywały
kompatybilność wsteczną (zgodność programową) z tym typem.
Produkcją mikrokontrolerów zajmuje się wiele firm: Analog Devices,
Atmel, Dallas Semiconductor, FreeScale Semiconductor, Fujitsu, Hitachi,
Infineon, Intel, NEC, Philips, Siemens, ST, Toshiba, Zilog i inne. Obecnie
największą popularnością cieszą się produkty Intela, seria AVR Atmela
i PIC firmy Microchip Technology.
Aktualne tendencje rozwojowe oprócz wzrostu niezawodności,
obejmują poprawę parametrów i rozszerzenie zasobów oraz możliwość
zastosowania rozbudowanych układów peryferyjnych. Tym niemniej
zapotrzebowanie na proste rozwiązania wciąż istnieje. Najbardziej udane
rozwiązania sprzed lat są produkowane do dziś często w uproszczonych
wersjach i dostępne w przystępnych cenach.
515
12. PROGRAMOWANIE MIKROKONTROLERÓW
Rys. 12.1. Model mikrokontrolera firmy Atmel w obudowie DIP
(ang. Dual In-line Package)
Zasady programowania trudno jest przedstawić w sposób ogólny
w oderwaniu od architektury oraz wyposażenia w urządzenia peryferyjne
konkretnego typu mikrokontrolera. Wybór modelu użytego jako ilustracja
wywodu jest trudny, bo nie ma takiego, który można by było uznać za
reprezentatywny, a szczegółowy opis jego architektury i metod
programowania mógłby czytelnikowi dać pogląd na całość zagadnienia.
Wybór modelu
W niniejszym opracowaniu wybrano jako przykładowy mikrokontroler
popularnej na rynku krajowym firmy Atmel. Obecnie produkowane
mikrokontrolery tej firmy z rdzeniem AVR można podzielić na rodziny:
ATtiny – przeznaczone do realizacji prostych zadań układy zamknięte
w obudowach z małą ilością wyprowadzeń z niewielką ilością peryferii,
stosowane głównie w układach zasilanych bateryjnie,
ATmega – układy z bogatym wyposażeniem – m.in. wiele linii
wejścia/wyjścia, wbudowane przetworniki A/C.
12.2
Architektura mikrokontrolerów
Działanie
mikrokontrolera
wynika
z
realizacji
rozkazów
umieszczonych w jego pamięci.
Przygotowanie zestawu rozkazów, czyli napisanie programu,
wymaga od autora znajomości zasobów wybranego układu scalonego i ich
organizacji.
Omówienie architektury mikrokontrolerów jest jednak zadaniem
trudnym, ze względu na szeroki wachlarz produkowanych modeli, a zatem
również ich elementów składowych.
Na rynku oferowanych jest kilkadziesiąt podstawowych typów z 8,
16- i 32-bitową szyną danych. Lista ich odmian różniących się parametrami
516
Zgłoś jeśli naruszono regulamin