„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
MINISTERSTWO EDUKACJI
NARODOWEJ
Danuta Pawełczyk
Instalowanie sterowników i regulatorów mikroprocesorowych
725[01].Z3.02
Poradnik dla ucznia
Wydawca
Instytut Technologii Eksploatacji – Państwowy Instytut Badawczy
Radom 2007
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
1
Recenzenci:
mgr inż. Zbigniew Miszczak
mgr inż. Anna Tapolska
Opracowanie redakcyjne:
mgr inż. Danuta Pawełczyk
Konsultacja:
mgr inż. Gabriel Poloczek
Poradnik stanowi obudowę dydaktyczną programu jednostki modułowej 725[01].Z3
.
02
„Instalowanie sterowników i regulatorów mikroprocesorowych”,
zawartego w modułowym
programie nauczania dla zawodu monter elektronik.
Wydawca
Instytut Technologii Eksploatacji – Państwowy Instytut Badawczy, Radom 2007
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
2
SPIS TREŚCI
1. Wprowadzenie
3
2. Wymagania wstępne
5
3. Cele kształcenia
6
4. Materiał nauczania
7
4.1. Budowa i zasada działania systemu mikrokomputerowego
7
4.1.1. Materiał nauczania
7
4.1.2. Pytania sprawdzające
13
4.1.3. Ćwiczenia
13
4.1.4. Sprawdzian postępów
17
4.2. Mikrokontrolery 8–bitowe
18
4.2.1. Materiał nauczania
18
4.2.2. Pytania sprawdzające
26
4.2.3. Ćwiczenia
26
4.2.4. Sprawdzian postępów
30
4.3. Dołączanie urządzeń zewnętrznych
31
4.3.1. Materiał nauczania
31
4.3.2. Pytania sprawdzające
35
4.3.3. Ćwiczenia
35
4.3.4. Sprawdzian postępów
37
4.4. Instalowanie, uruchamianie i obsługa sterowników mikroprocesorowych
38
4.4.1. Materiał nauczania
38
4.4.2. Pytania sprawdzające
41
4.4.3. Ćwiczenia
41
4.4.4. Sprawdzian postępów
44
5. Sprawdzian osiągnięć
45
6. Literatura
51
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
3
1. WPROWADZENIE
Poradnik będzie Ci pomocny w przyswajaniu wiedzy z zakresu instalowania sterowników
i regulatorów mikroprocesorowych.
W poradniku zamieszczono:
−
wymagania wstępne – wykaz umiejętności, jakie powinieneś mieć już ukształtowane,
abyś bez problemów mógł korzystać z poradnika,
−
cele kształcenia– wykaz umiejętności, jakie ukształtujesz podczas pracy z poradnikiem,
−
materiał nauczania – podstawowe wiadomości teoretyczne niezbędne do opanowania
treści jednostki modułowej,
−
zestaw pytań przydatny do sprawdzenia, czy już opanowałeś treści zawarte
w rozdziałach,
−
ćwiczenia, które pomogą Ci zweryfikować wiadomości teoretyczne oraz ukształtować
umiejętności praktyczne,
−
sprawdzian postępów,
−
sprawdzian osiągnięć – przykładowy zestaw zadań i pytań. Pozytywny wynik
sprawdzianu potwierdzi, że dobrze pracowałeś podczas zajęć i że nabyłeś wiedzę
i umiejętności z zakresu tej jednostki modułowej,
−
literaturę uzupełniającą.
Z rozdziałem „Pytania sprawdzające” możesz zapoznać się:
−
przed przystąpieniem do rozdziału „Materiał nauczania” – poznając wymagania
wynikające z zawodu, a po przyswojeniu wskazanych treści, odpowiadając na te pytania
sprawdzisz stan swojej gotowości do wykonywania ćwiczeń,
−
po opanowaniu rozdziału „Materiał nauczania”, by sprawdzić stan swojej wiedzy, która
będzie Ci potrzebna do wykonywania ćwiczeń.
Kolejny etap to wykonywanie ćwiczeń, których celem jest uzupełnienie i utrwalenie
wiadomości z zakresu badania układów mikroprocesorowych i ich montażu.
Wykonując ćwiczenia przedstawione w poradniku lub zaproponowane przez nauczyciela,
będziesz poznawał budowę systemów mikroprocesorowych, rodziny mikrokontrolerów
8–bitowych, sposób dołączania i programowania urządzeń zewnętrznych, a także przykłady
zastosowania sterowników i regulatorów mikroprocesorowych.
Po wykonaniu zaplanowanych ćwiczeń, sprawdź poziom swoich postępów wykonując
„Sprawdzian postępów”.
Odpowiedzi Nie wskazują luki w Twojej wiedzy, informują Cię również, jakich
zagadnień jeszcze dobrze nie poznałeś. Oznacza to także powrót do treści, które nie są
dostatecznie opanowane.
Poznanie przez Ciebie wszystkich lub określonej części wiadomości będzie stanowiło dla
nauczyciela podstawę przeprowadzenia sprawdzianu poziomu przyswojonych wiadomości
i ukształtowanych umiejętności. W tym celu nauczyciel może posłużyć się zadaniami
testowymi.
W poradniku jest zamieszczony sprawdzian osiągnięć, który zawiera przykład takiego
testu oraz instrukcję, w której omówiono tok postępowania podczas przeprowadzania
sprawdzianu i przykładową kartę odpowiedzi, w której, w przeznaczonych miejscach zakreśl
właściwe odpowiedzi spośród zaproponowanych.
Bezpieczeństwo i higiena pracy
W czasie pobytu w pracowni musisz przestrzegać regulaminów, przepisów
bezpieczeństwa i higieny pracy oraz instrukcji przeciwpożarowych, wynikających z rodzaju
wykonywanych prac. Przepisy te poznasz podczas trwania nauki.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
4
725[01].Z3.01
Instalowanie urządzeń automatyki i obsługa
prostych układów automatycznej
regulacji
725[01].Z3.02
Instalowanie sterowników i regulatorów
mikroprocesorowych
725[01].Z3.03
Instalowanie urządzeń elektronicznych
powszechnego użytku
725[01].Z3
Instalacja urządzeń elektronicznych
Schemat układu jednostek modułowych
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
5
2. WYMAGANIA WSTĘPNE
Przystępując do realizacji programu jednostki modułowej powinieneś umieć:
−
rozróżniać elementy i podzespoły elektroniczne na podstawie oznaczeń i wyglądu,
−
montować elementy elektroniczne,
−
uruchamiać i testować proste układy cyfrowe i analogowe,
−
objaśniać budowę i działanie podstawowych układów cyfrowych i analogowych,
−
korzystać z różnych źródeł informacji,
−
korzystać z jednostek układu SI,
−
stosować przepisy bezpieczeństwa i higieny pracy, ochrony przeciwpożarowej
i środowiska.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
6
3. CELE KSZTAŁCENIA
W wyniku realizacji programu jednostki modułowej powinieneś umieć:
–
odczytać instrukcję urządzenia mikroprocesorowego,
–
rozpoznać na schematach montażowych elementy mikroprocesorowe,
–
rozpoznać na podstawie wyglądu elementy układu mikroprocesorowego,
–
wyjaśnić budowę systemu mikroprocesorowego,
–
zidentyfikować na schematach montażowych i ideowych mikroprocesory, pamięci,
elementy we/wy, magistrale, interfejsy, mikrokontrolery,
–
wyjaśnić rolę poszczególnych elementów komputera,
–
rozpoznać funkcje i zastosowanie urządzeń zewnętrznych komputera,
–
zmontować układy typowych sterowników mikroprocesorowych,
–
zaprogramować pamięci i mikrokontrolery,
–
przeanalizować proste programy w asemblerze,
–
wykonać podstawowe prace montażowe przy sprzęcie komputerowym,
–
dobrać narzędzia do montażu urządzenia, sterownika lub regulatora mikroprocesorowego,
–
sporządzić wykaz narzędzi do montażu,
–
zamontować urządzenie zgodnie z instrukcją montażową,
–
sprawdzić poprawność montażu,
–
sporządzić wstępną kalkulację kosztów wykonania prac montażowych,
–
sprawdzić poprawność prac montażowych, ocenić jakość i estetykę wykonanej pracy,
–
zademonstrować poprawność wykonywanego montażu,
–
sprawdzić funkcjonowanie zainstalowanych urządzeń,
–
przygotować stanowisko pracy zgodnie z wymaganiami ergonomii, zasadami
bezpieczeństwa i higieny pracy, ochrony przeciwpożarowej oraz ochrony środowiska,
–
zastosować przepisy bezpieczeństwa i higieny pracy, ochrony przeciwpożarowej
i ochrony środowiska, obowiązujące podczas montażu urządzeń mikroprocesorowych,
–
przewidzieć zagrożenia występujące podczas montażu urządzeń mikroprocesorowych.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
7
4. MATERIAŁ NAUCZANIA
4.1. Budowa i zasada działania systemu mikrokomputerowego
4.1.1. Materiał nauczania
Systemy mikroprocesorowe służą do przetwarzania informacji. Przetwarzanie
informacji polega na dostarczeniu do systemu danych, które poddawane są określonym
działaniom dając wyniki. Wynikami mogą być sygnały sterujące pracą maszyn, obrazy, teksty
itp. Jedną z ważniejszych części tego systemu jest procesor, który przetwarza informacje,
wykonując na niej elementarne operacje zwane instrukcjami (bądź rozkazami). Ciąg takich
instrukcji realizujący konkretne zadanie przetwarzania informacji nazywamy programem.
Tak więc do systemu mikroprocesorowego musimy dostarczyć dane wejściowe, program
lub zestaw programów, aby po przetworzeniu otrzymać wynik.
system
mikroprocesorowy
dane
p
rog
ram
wyniki
Rys. 1. System mikroprocesorowy
Typowy system mikroprocesorowy składa się z następujących części:
−
mikroprocesora,
−
pamięci danych RAM,
−
pamięci programu ROM,
−
układów wejścia/wyjścia czyli interfejsów,
−
układów sterujących przepływem informacji między tymi elementami: magistrali danych,
magistrali adresowej i sygnałów sterujących.
Systemy mikroprocesorowe budowane są w oparciu o architekturę von Neumanna
(np. mikrokontrolery rodziny ’51) lub architekturę Harvardzką (np. mikrokontrolery PIC lub
AVR). Rysunek 2 pokazuje oba rozwiązania:
8
pamięć
programu
pamięć
danych
12
14
16
8
pamięć
danych
jednostka
centralna
CPU
pamięć
programu
jednostka
centralna
CPU
a)
b)
Rys. 2.
Architektury systemów mikroprocesorowych: a) Harvardzka, b) von Neumanna
Mikroprocesor pełniący funkcję jednostki centralnej (CPU) umożliwia wykonywanie
operacji przetwarzania danych poprzez realizację programu zapisanego w pamięci programu.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
8
Mikroprocesor składa się z układu sterowania oraz jednostki arytmetyczno-logicznej
wraz z rejestrami roboczymi.
Zadaniem układu sterowania jest pobieranie rozkazów z pamięci programu, dekodowanie ich
oraz wystawianie odpowiednich sygnałów sterujących (wewnętrznych i zewnętrznych) w celu
wykonania rozkazów.
Jednostka arytmetyczno-logiczna służy do wykonywania operacji arytmetycznych
lub logicznych na liczbach binarnych (czasem również dziesiętnych). Z jednostką
arytmetyczno-logiczną związany jest rejestr wskaźników (flagowy), w którym ustawiane są
znaczniki wyniku wykonanej operacji (np. flaga znaku, zera, przeniesienia).
Pamięć programu – pamięć nieulotna, przechowuje program w języku maszynowym.
Najczęściej jest wykonywana jako pamięć typu:
−
ROM – programowana przez producenta
−
PROM – programowana jednorazowo przez użytkownika,
−
EPROM, EEPROM – do wielokrotnego programowania przez użytkownika.
Pamięć danych – pamięć typu odczyt/zapis, służy do przechowywania danych podczas
realizacji programu.
Układy
wejścia/wyjścia
–
umożliwiają
prawidłową
komunikacje
między
mikroprocesorem a otoczeniem – urządzeniami zewnętrznymi. Zadaniem interfejsów
(układów wejścia/wyjścia) jest zapewnienie odpowiedniej postaci danej (np. zamiana
z postaci szeregowej na równoległą i odwrotnie) oraz dopasowanie czasowe wymiany danej
(np. zapamiętanie danej do czasu, kiedy odbierze ją urządzenie zewnętrzne). Układy wejścia/
wyjścia są dołączane do jednostki centralnej za pośrednictwem magistral (podobnie jak
pamięć danych).
Magistrala danych – zespół linii, którymi przesyłane są liczby binarne (dane, kody
rozkazów, słowa sterujące i statusowe).
Magistrala adresowa – zespół linii, którymi procesor adresuje poszczególne komórki
pamięci programu, danych lub rejestry układów wejścia/wyjścia, ilość linii magistrali
adresowej jest równa długości adresu, n–bitowy adres pozwala na zaadresowanie
2
n
–komórek pamięci np. 16 bitowy adres pozwala zaadresować 2
16
= 65536 (64k) komórek
pamięci.
Magistrala sterująca – zespół linii, którymi wymieniane są sygnały sterujące.
Mikroprocesor zawiera następujące podzespoły:
−
jednostkę arytmetyczno-logiczną ALU (arithmetic and logic unit),
−
akumulator A (accumulator),
−
licznik rozkazów PC (program counter),
−
zestaw rejestrów roboczych R
i
(general purpose register),
−
rejestr rozkazów IR (instruction register),
−
wskaźnik stosu SP (stack pointer),
−
układ sterowania CU (control unit).
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
9
MAG. ADRESOWA
MAGISTRALA DANYCH
A
ALU
REJ. FLAG.
REJESTRY
ROBOCZE
SP
PC
IR
CU
SYGN
STER.
Rys. 3. Schemat blokowy mikroprocesora
Jednostka
arytmetyczno-logiczna
wykonuje
podstawowe
działania
logiczne
i arytmetyczne na słowach takich jak suma logiczna, iloczyn logiczny, suma modulo 2,
negacja, dodawanie i odejmowanie arytmetyczne, porównywanie, rotacja. Wykonanie
operacji arytmetycznej lub logicznej powoduje ustawienie znaczników (flag) w rejestrze
wskaźników. Najczęściej stosowane flagi to:
−
przeniesienia CY (przyjmuje wartość 1 jeżeli wystąpiło przeniesienie z najbardziej
znaczącej pozycji),
−
przeniesienia połówkowego AC (przyjmuje wartość 1 jeżeli wystąpiło przeniesienie
z bitu 3 na 4 – wykorzystywany w operacjach na liczbach BCD),
−
zera Z (przyjmuje wartość 1 jeżeli wynik operacji jest równy 0),
−
znaku S (przyjmuje wartość 1 jeżeli wynik operacji jest ujemny),
−
parzystości P (przyjmuje wartość 1 jeżeli liczba jedynek w wyniku operacji jest
nieparzysta).
Akumulator – rejestr związany z jednostką arytmetyczną – z akumulatora jest domyślnie
pobierany jeden z argumentów operacji dwuargumentowej, w akumulatorze jest umieszczany
wynik operacji. Akumulator jest również wykorzystywany podczas komunikacji
z urządzeniami zewnętrznymi.
Rejestry robocze mogą pełnić różną role, w zależności od realizowanego rozkazu. Mogą
służyć do przechowywania danych lub adresów. Na rejestrach można wykonywać niektóre
operacje wynikające z listy rozkazów.
Licznik rozkazów PC służy do adresowania pamięci programu tzn. wskazuje adres
komórki pamięci, z której należy pobrać rozkaz. W czasie realizacji programu licznik
zwiększa swoją zawartość po pobraniu każdego rozkazu. W przypadku skoku lub wywołania
podprogramu do licznika rozkazów wpisywana jest wartość odpowiadająca adresowi skoku.
Rejestr rozkazów IR służy do przechowywania pobranego z pamięci programu kodu
rozkazu.
Układ sterowania CU dekoduje zawartość rejestru rozkazów i generuje sygnały
sterujące zapewniające realizację pobranego rozkazu.
Wskaźnik stosu służy do adresowania wydzielonego obszaru pamięci danych, w którym
zapisywane są adresy i dane zgodnie z regułą LIFO (last in first out) tzn. kolejność odczytu
słowa jest odwrotna do kolejności ich zapisywania. Tak jest zorganizowana programowa
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
10
realizacja stosu, niektóre mikroprocesory posiadają stos sprzętowy. Stos i wskaźnik stosu
umożliwiają przejście do podprogramu, a po jego zakończeniu powrót do programu
głównego.
Mikroprocesory są układami sekwencyjnymi synchronicznymi, dlatego też z układem
sterowania musi współpracować generator impulsów zegarowych.
Rozkazy są realizowane w cyklach rozkazowych. Każdy cykl maszynowy składa się
z cykli maszynowych. Cykl maszynowy to część cyklu rozkazowego związana z odwołaniem
się (w celu odczytu lub zapisu) do pamięci lub układu wejścia/wyjścia. Cykl maszynowy
składa się z określonej liczby taktów zegarowych.
Każdy cykl rozkazowy można podzielić na dwie fazy:
−
faza pobrania rozkazu z pamięci programu,
−
faza wykonania rozkazu, która ma inny przebieg dla każdego rozkazu.
Faza pobrania rozkazu jest jednakowa dla wszystkich rozkazów. Polega na pobraniu
kodu rozkazu z pamięci programu, z komórki której adres wskazuje zawartość licznika
rozkazów PC. Kod pobranego rozkazu jest umieszczany w rejestrze rozkazów IR, licznik
rozkazów zostaje zwiększony, tak aby wskazywał następny rozkaz.
Faza wykonania rozkazu ma różny przebieg, rozpoczyna się w chwili umieszczenia
rozkazu w rejestrze rozkazów IR. Układ sterowania CU na podstawie zdekodowanego stanu
rejestru generuje odpowiednią sekwencję sygnałów sterujących zapewniających prawidłową
realizację rozkazu.
W przypadku systemów mikroprocesorowych opartych o architekturę von Neumana faza
pobrania (P) i faza wykonania (W) odbywają się przemiennie tzn:
P
W
P
W
….
P
W
rozkaz 1
rozkaz 2
rozkaz n
Rys. 4. Kolejne fazy wykonana rozkazów w systemie opartym o architekturę von Neumana
Zarówno rozkazy jak i argumenty potrzebne do ich realizacji są pobierane za
pośrednictwem tej samej magistrali danych.
W przypadku systemów mikroprocesorowych opartych o architekturę Harvardzką
stosowany jest potokowy system pracy (pipeline) tzn. w czasie fazy wykonania rozkazu może
być pobrany następny rozkaz (rysunek 5). Dzieje się to dzięki rozdzieleniu magistrali
komunikującej się z pamięcią programu (pobranie rozkazu) od magistrali komunikującej się
z pamięcią danych oraz układami wejścia/wyjścia (wykonanie rozkazu). Wszystkie rozkazy
wraz z argumentami są jednosłowowe (tzn. pod jednym adresem w pamięci programu
znajduje się cały rozkaz). W zależności od typu procesora długość słowa rozkazowego może
wynosić 12, 14 lub 16 bitów.
P
W
rozkaz 1
P
W
rozkaz 2
……
P
W
rozkaz n
Rys. 5. Kolejne fazy wykonana rozkazów w systemie opartym o architekturę Harvardzką
Podczas realizacji programu argumenty mogą być pobierane/zapisywane z/do rejestrów
roboczych, pamięci danych, pamięci programu (tylko odczytywane) lub układów
wejścia/wyjścia. Decyduje o tym użyty sposób adresacji. W mikroprocesorach stosowane są:
−
adresacja natychmiastowa – rozkaz zawiera kod rozkazu i argument (tzn. argument jest
przechowywany wraz z kodem rozkazu w pamięci programu),
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
11
−
adresacja bezpośrednia – rozkaz zawiera kod rozkazu i adres argumentu w pamięci
danych,
−
adresacja rejestrowa – rozkaz zawiera kod rozkazu i nazwę rejestru, w którym
przechowywany jest argument,
−
adresacja rejestrowa pośrednia – rozkaz zawiera kod rozkazu i nazwę rejestru, w którym
przechowywany jest adres argumentu w pamięci danych.
Komunikacja mikroprocesora z otoczeniem:
Zastosowanie systemu mikroprocesorowego do realizacji konkretnych zadań wymaga
zapewnienia wymiany danych między mikroprocesorem i urządzeniami zewnętrznymi
(klawiatura, wyświetlacz, czujniki, układy wykonawcze), a w niektórych przypadkach także
między pamięcią danych a urządzeniami zewnętrznymi.
Układy wejścia/wyjścia pośredniczą w wymianie informacji między mikroprocesorem
a urządzeniami zewnętrznymi. Układy wejścia/wyjścia można podzielić na:
−
proste układy wejścia/wyjścia, w których podstawowym elementem jest rejestr danych
lub bramka trójstanowa,
−
programowalne, uniwersalne układy wejścia/wyjścia, w których oprócz rejestrów danych
występują rejestry sterujące pozwalające na ustalenie określonego trybu pracy układu,
rejestr statusowy, przechowujący informację o stanie układu oraz wewnętrzny układ
sterowania,
−
specjalizowane układy wejścia/wyjścia służące do współpracy z konkretnymi
urządzeniami.
Komunikacja mikroprocesora z otoczeniem odbywa się za pośrednictwem magistral.
Układ wejścia/wyjścia jest wybierany odpowiednim adresem.
Wyróżnia się dwie metody adresowania pamięci i układów wejścia/wyjścia:
−
adresowanie jednolite pamięci i układów wejścia/wyjścia (układy wejścia/wyjścia
współadresowalne z pamięcią),
−
adresowanie rozdzielone pamięci i układów wejścia/wyjścia.
Adresowanie jednolite (wspólne) polega na dołączaniu układów we/wy w taki sam
sposób jak modułów pamięci. Pamięć i układy we/wy nie są rozróżniane przez procesor
i znajdują się w tej samej przestrzeni adresowej. Te same rozkazy i te same sygnały sterujące
(np. MEMR - odczyt z pamięci, MEMW – zapis do pamięci, I/OR – odczyt z układu we/wy
i I/OW - zapis do układu we/wy) służą do komunikacji z pamięcią i z układami we/wy.
Dlatego układy we/wy muszą mieć przydzielone inne adresy niż komórki pamięci.
a)
b)
Rys. 6. Jednolite adresowanie pamięci i układów wejścia/ wyjścia a)sygnały sterujące mikroprocesora, b) mapa
pamięci [2, s. 39]
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
12
Sygnały sterujące odczytu pamięci MEMR i zapisu pamięci MEMW są bramkowane
sygnałem I/O z dekodera adresów wybierającego odpowiedni obszar pamięci dla układów
we/wy i tworzą sygnały sterujące zapisem danych I/OW i odczytu danych I/OR .
Adresowanie rozdzielone polega na tym, że pamięć i układy we/wy mają odrębne
przestrzenie adresowe – adresy komórek pamięci i układów we/wy mogą być takie same.
Lista rozkazów zawiera odrębną grupę rozkazów dotyczącą komunikacji z pamięcią,
a odrębną do komunikacji z układami wejścia/wyjścia. Mikroprocesor bezpośrednio wystawia
sygnały: MEMR , MEMW , I/OW oraz I/OR .
a)
b)
Rys. 7. Rozdzielone adresowanie pamięci i układów wejścia/wyjścia: a) sygnały sterujące mikroprocesora,
b) mapa pamięci [2, s. 39]
Sposoby komunikacji między mikroprocesorem a otoczeniem:
−
obsługa programowa (pooling),
−
przerwania (interrupt),
−
bezpośredni dostęp do pamięci (Direct Memory Access).
Obsługa programowa polega na przeglądaniu przez mikroprocesor stanów
poszczególnych układów we/wy. Mikroprocesor w sposób programowy pobiera zawartości
rejestrów statusowych poszczególnych układów we/wy, sprawdza stan odpowiednich bitów
i na ich podstawie podejmuje decyzje dotyczące określonych działań programowych
dotyczących obsługi urządzenia. Tego typu komunikacja jest bardzo prosta w realizacji
sprzętowej, jej wadą jest fakt, że odbywa się w ściśle określonym momencie realizacji
programu. Nie może więc być stosowana do obsługi urządzeń pracujących w czasie
rzeczywistym, gdzie konieczna jest natychmiastowa obsługa dołączonych urządzeń.
Obsługa przerwań umożliwia praktycznie natychmiastową reakcję na żądanie obsługi
przez urządzenie zewnętrzne. W momencie przyjęcia zgłoszenia żądania obsługi przez
urządzenie procesor zawiesza realizację programu na czas obsługi urządzenia. Układ we/wy
generuje sygnał żądania przerwania INT, mikroprocesor sprawdza stan tego sygnału pod
koniec realizacji każdego rozkazu. Po wykryciu przerwania mikroprocesor:
−
zapamiętuje na stosie stan licznika rozkazów (adres rozkazu, który byłby realizowany,
gdyby przerwanie nie nadeszło),
−
wpisuje do licznika rozkazów adres podprogramu obsługi przerwania (wektor
przerwania),
−
realizuje podprogram obsługi przerwania,
−
po zakończeniu obsługi przerwania przywraca ze stosu stan licznika rozkazów i wraca
do realizacji programu głównego.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
13
Jeżeli zgłasza się więcej niż jedno przerwanie układ przerwań rozstrzyga, które
z przerwań ma być obsłużone na podstawie priorytetu.
Układ przerwań może być jedno– lub wielopoziomowy. W jednopoziomowym układzie
przerwań nie ma możliwości zawieszenia realizowanego podprogramu obsługi przerwania
przez żadne inne przerwanie (niezależnie od priorytetu). W wielopoziomowym układzie
przerwań, przerwanie o wyższym poziomie może przerwać podprogram obsługi przerwania
o niższym poziomie. Podprogram obsługi przerwania o niższym poziomie zostanie
dokończony po zrealizowaniu obsługi przerwania o wyższym poziomie.
Przerwanie może zostać przyjęte do obsługi, jeżeli:
−
procesor zakończył realizację rozkazu,
−
zgłaszające się przerwanie jest odblokowane,
−
nie zgłasza się inne przerwanie o priorytecie wyższym,
−
nie
jest
realizowana
obsługa
innego
przerwania
(w
układzie
przerwań
jednopoziomowym) lub przerwania o równym lub wyższym poziomie (w układzie
przerwań wielopoziomowym).
Tryb bezpośredniego dostępu do pamięci DMA jest stosowany podczas wymiany
danych między pamięcią a urządzeniami zewnętrznymi bez udziału mikroprocesora. Dzięki
temu możliwe jest szybsze przesyłanie bloków danych. Przesyłanie odbywa się pod kontrolą
sterownika DMA, mikroprocesor w tym czasie nie ma dostępu do magistral, nie realizuje
więc swojego programu. Przed rozpoczęciem transmisji DMA sterownik musi zostać
zaprogramowany przez umieszczenie w jego rejestrach sterujących informacji dotyczących
kierunku transmisji, ilości przesyłanych słów i adresu obszaru danych. Po zakończeniu
przesyłu następuje powrót do realizowanego programu.
4.1.2. Pytania sprawdzające
Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.
1. Z jakich elementów składa się system mikroprocesorowy?
2. Jakie rodzaje architektury są stosowane w systemach mikroprocesorowych, czym się różnią?
3. Jakie jest przeznaczenie poszczególnych bloków?
4. Z jakich elementów składa się mikroprocesor?
5. Co to jest cykl rozkazowy, cykl maszynowy, takt zegarowy?
6. W jakich fazach odbywa się cykl rozkazowy?
7. Do czego służy licznik rozkazów, kiedy zmieniana jest jego zawartość?
8. Co to jest rejestr flagowy (wskaźników), co oznaczają poszczególne flagi?
9. Jakie są metody adresacji stosowane w mikrokontrolerach?
10. Jaką rolę pełnią układy wejścia/wyjścia?
11. Jakie są sposoby współpracy mikroprocesora z otoczeniem?
12. Na czym polega obsługa programowa układów we/wy?
13. Na czym polega obsługa układów we/wy z przerwaniami?
4.1.3. Ćwiczenia
Ćwiczenie 1
Połącz elementy z lewej strony z ich opisem po prawej stronie. Przeanalizuj zadanie dla
mikroprocesora ośmiobitowego (8–bitowa magistrala danych) z 16 bitową magistralą adresową.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
14
akumulator
16–bitowy
rejestr
adresowy
pamięci
programu
rejestr roboczy
8–bitowa magistrala dwukierunkowa
licznik rozkazów
wydzielony fragment pamięci danych
magistrala danych
8–bitowa magistrala jednokierunkowa
wskaźnik stosu
8–bitowy rejestr, w którym umieszczany
jest wynik operacji arytm–log
adresacja natychmiastowa
8–bitowy rejestr ogólnego przeznaczenia
stos
argument rozkazu jest pobierany z pamięci
danych
magistrala adresowa
argument rozkazu jest pobierany z pamięci
programu
adresacja rejestrowa pośrednia
16–bitowy
rejestr
adresowy
pamięci
danych
16–bitowa jednokierunkowa magistrala
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) przeanalizować informacje zawarte w rozdziale 4.1 poradnika,
2) dopasować opisy do odpowiednich elementów systemu mikroprocesorowego lub metod
adresacji (jeden opis pozostanie niewykorzystany),
3) zaprezentować wykonane ćwiczenie,
4) dokonać oceny poprawności wykonanego ćwiczenia.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
15
Wyposażenie stanowiska pracy:
−
poradnik dla ucznia,
−
zeszyt, przybory do pisania,
−
literatura wskazana przez nauczyciela.
Ćwiczenie 2
Określ, które zdania są prawdziwe, a które fałszywe:
Zdanie
Prawda
Fałsz
Adresacja jednolita pozwala na zaadresowanie większej przestrzeni
adresowej niż adresacja rozdzielona.
Przy zastosowaniu adresacji jednolitej te same rozkazy odnoszą się
do pamięci i układów wejścia/wyjścia.
Układ wejścia/wyjścia umożliwia dopasowanie czasowe między
szybszym
mikroprocesorem,
a
wolniejszym
urządzeniem
wejścia/wyjścia.
W przypadku jednoczesnego zgłoszenia się dwóch zgłoszeń przerwań
do obsługi zostanie przyjęte przerwanie o wyższym poziomie.
Obsługa programowa nie pozwala na ustalanie priorytetów
przerwań.
Po zakończeniu obsługi przerwania program główny jest
wykonywany od rozkazu, w czasie którego nadeszło przerwanie.
Przerwanie może być przyjęte do obsługi pod warunkiem
zakończenia realizowanego cyklu rozkazowego.
Podczas bezpośredniego dostępu do pamięci dane są przesyłane
z mikroprocesora do pamięci danych.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) przeczytać
określone
treści
z
poradnika
dotyczące
sposobów
komunikacji
mikroprocesora z otoczeniem,
2) przeanalizować zdania decydując czy są prawdziwe czy fałszywe,
3) zaprezentować wykonane ćwiczenie.
Wyposażenie stanowiska pracy:
–
poradnik dla ucznia,
–
zeszyt, przybory do pisania,
–
literatura wskazana przez nauczyciela.
Ćwiczenie 3
Przedstaw na wykresie kolejność obsługi przerwań w jednopoziomowym układzie
przerwań. Wszystkie przerwania są odblokowane, wszystkie mogą zostać przyjęte do obsługi.
Przerwanie INT0 ma najwyższy priorytet, a INT4 najniższy. Czas trwania każdego
podprogramu obsługi przerwania – 4 jednostki.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
16
pr
ior
y
tet
INT0
INT1
INT2
INT3
INT4
pr. gł.
t
INT2
INT4, INT1
INT0
INT3
Na tym samym wykresie innym kolorem narysuj kolejność obsługi przerwań
w wielopoziomowym układzie przerwań, przyjmując, że przerwanie INT0 ma poziom
najwyższy i dalej każde kolejne ma poziom niższy, INT4 ma poziom najniższy.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) rozstrzygnąć, które ze zgłoszeń ma w określonej chwili najwyższy priorytet
(w przypadku jednopoziomowego układu przerwań),
2) zdecydować, czy możliwe jest przejście do obsługi przerwania podczas trwania obsługi
realizowanego podprogramu (w przypadku wielopoziomowego układu przerwań),
3) narysować przebiegi kolejności obsługi przerwań,
4) zaprezentować wykonane ćwiczenie,
5) dokonać oceny poprawności i estetyki wykonanego ćwiczenia.
Wyposażenie stanowiska pracy:
−
poradnik dla ucznia,
−
arkusz z wykresem,
−
literatura wskazana przez nauczyciela.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
17
4.1.4. Sprawdzian postępów
Czy potrafisz:
Tak
Nie
1) rozpoznać poszczególne elementy systemu mikroprocesorowego na
podstawie schematu blokowego?
2) opisać rolę elementów systemu mikroprocesorowego?
3) nazwać podzespoły mikroprocesora i określić ich funkcję?
4) wyjaśnić z jakich faz składa się cykl rozkazowy?
5) scharakteryzować metody adresacji?
6) przyporządkować metodę adresacji do lokalizacji argumentu?
7) rozróżnić metody adresacji: jednolitą i rozdzieloną?
8) scharakteryzować rolę interfejsów?
9) scharakteryzować sposoby komunikacji mikroprocesora z otoczeniem?
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
18
4.2. Mikrokontrolery 8–bitowe
4.2.1. Materiał nauczania
Mikrokomputerami jednoukładowymi, zwanymi również mikrokontrolerami lub
mikrosterownikami, nazywana jest pewna klasa mikroprocesorów charakteryzująca się tym,
że w jednym układzie scalonym zawarty jest mikroprocesor, pamięć danych, układy we/wy
umożliwiające bezpośrednie dołączenie urządzeń zewnętrznych, układy czasowo licznikowe,
układ przerwań i inne zasoby. W niektórych mikrokontrolerach jest wbudowana pamięć
programu.
Cechy mikrokontrolerów:
−
przeznaczone głównie do sterowania,
−
posiadają wejścia/wyjścia cyfrowe,
−
mogą posiadać dodatkowo wejścia analogowe,
−
możliwość wykonywania operacji arytmetycznych i logicznych,
−
możliwość generowania opóźnień czasowych,
−
możliwość współpracy z zewnętrznymi pamięciami programu i danych,
−
możliwość współpracy z urządzeniami zewnętrznymi,
−
możliwość pomiaru wielkości elektrycznych i nieelektrycznych np. temperatury przy
współpracy z odpowiednimi czujnikami,
−
możliwość gromadzenia danych i ich wymiany z innymi urządzeniami.
Przykłady zastosowań mikrokontrolerów:
−
sprzęt powszechnego użytku np. odbiorniki radiowe i telewizyjne–programowanie
funkcji, cyfrowe sterowanie parametrami odbiorników, telegazeta,
−
motoryzacja – sterowanie silników, klimatyzacji, ABS,
−
aparaty fotograficzne, kamery video, telefony komórkowe,
−
artykuły gospodarstwa domowego – sterowanie pracą pralek automatycznych, kuchenek
mikrofalowych,
−
rejestratory danych w różnych urządzeniach,
−
instalacje alarmowe, zamki szyfrowe i wiele innych.
Rodzina mikrokontrolerów ’51 (na przykładzie 8031)
Parametry:
−
8–bitowa magistrala danych,
−
16–bitowa magistrala adresowa,
−
8–bitowy arytmometr,
−
128 B wewnętrznej pamięci danych,
−
dwa 16–bitowe układy czasowo–licznikowe,
−
cztery 8–bitowe porty równoległe P0 – P3,
−
w pełni dupleksowy układ UART przewidziany do transmisji słów o długości 8 lub 9 bitów,
−
układ przerwań z zewnętrznymi i wewnętrznymi źródłami przerwań,
−
możliwość dołączenia zewnętrznej pamięci danych,
−
możliwość dołączenia zewnętrznej pamięci programu,
−
częstotliwość pracy mikroprocesorów zawiera się w granicach od 1,2 do 20 MHz.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
19
Rys. 8. Mikrokontroler rodziny ‘51 z dołączoną zewnętrzna pamięcią danych i programu [7 ]
Tabela1. Opis wyprowadzeń
pin
funkcja
P0
8–bitowy, dwukierunkowy port wejścia/wyjścia, który może także pełnić funkcję
młodszej połowy magistrali adresowej (A0–A7) oraz magistrali danych
przy odwołaniach do zewnętrznych układów pamięci lub wejścia–wyjścia,
P1
8–bitowy, dwukierunkowy port wejścia– wyjścia,
P2
8–bitowy, dwukierunkowy port wejścia– wyjścia, który może także pełnić funkcję
starszej połowy magistrali adresowej (bity A8–A15) przy odwołaniach
do zewnętrznych układów pamięci lub wejścia– wyjścia,
P3
8–bitowy, dwukierunkowy port wejścia– wyjścia, którego poszczególne
wyprowadzenia mogą także pełnić funkcje sygnałów sterujących:
−
RXD
−
wejście odbiornika portu transmisji szeregowej,
−
TXD
−
wyjście nadajnika portu transmisji szeregowej,
−
INT0 , INT1
−
wejścia przerwań zewnętrznych,
−
T0, T1
−
wejścia zewnętrzne do układu czasowo– licznikowego,
−
RD
−
wyjście żądania odczytu z przestrzeni adresowej zewnętrznej pamięci
danych,
−
WR
−
wyjście żądania zapisu do przestrzeni adresowej zewnętrznej pamięci
danych,
PSEN
wyjście żądania odczytu z przestrzeni adresowej zewnętrznej pamięci programu.
ALE
wyjście sygnału zegarowego o częstotliwości f
XTAL
/6, używane także jako wyjście
strobujące adres podczas współpracy z zewnętrznymi układami pamięci
lub wejścia–wyjścia.
EA
wejście wymuszające pobieranie kodu rozkazów wyłącznie z zewnętrznej pamięci
programu.
XTAL1,
XTAL2
−
wejścia służące do podłączenia oscylatora kwarcowego, które mogą być też
wejściami zewnętrznego sygnału taktującego (zależnie od wersji procesora
jest to wejście XTAL1 lub XTAL2).
Przykład systemu mikroprocesorowego zbudowanego w oparciu o mikrokontroler 8051
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
20
Rys. 9. System mikroprocesorowy z mikrokontrolerem 8051 [11]
Rodzina AVR (na przykładzie AT 90S2313)
−
118 rozkazów wykonywanych głównie w jednym cyklu zegarowym,
−
2 kB pamięci Flash reprogramowalnej w układzie za pomocą SPI (Serial Interface for
Program Downloading) o trwałości 1000 cykli kasowania/zapisu,
−
32 ośmiobitowe rejestry robocze,
−
128 bajtów wewnętrznej pamięci RAM,
−
128 wewnętrznej pamięci EEPROM o trwałości 100 000 cykli zapisu/kasowania,
−
15 programowalnych linii wejścia wyjścia,
−
wyjścia portów o wydajności 20 mA zarówno w stanie wysokim, jak i niskim,
umożliwiające bezpośrednie sterowanie wyświetlaczy LED,
−
napięcie zasilające V
CC
= 2,7 – 6,0 V / 4 MHz i V
CC
= 4,0 – 6,0 V / 10MHz,
−
w pełni statyczna budowa umożliwiająca pracę w zakresie 0 –10 MHz,
−
cykl rozkazowy o długości 100 ns przy 10 MHz,
−
jeden ośmiobitowy zegar/licznik z oddzielnym preskalerem (wstępnym dzielnikiem),
−
jeden szesnastobitowy zegar/licznik z oddzielnym preskalerem, układem komparatora
i układem przechwycenia stanu licznika (Capture),
−
w pełni dwukierunkowy (full–duplex) układ UART przewidziany do transmisji słów
o długości 8 lub 9 bitów,
−
wybierany 8–, 9– lub 10–bitowy tryb PWM (modulacja szerokości impulsów),
−
układ przerwań z zewnętrznymi i wewnętrznymi źródłami przerwań,
−
programowalny układ Watchdog z wbudowanym wewnętrznym oscylatorem,
−
wbudowany układ komparatora analogowego,
−
dwa tryby pracy z obniżonym poborem mocy,
−
programowalne zabezpieczenia oprogramowania.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
21
Rys. 10. Opis wyprowadzeń mikrokontrolera
Rys. 11. Przykładowe mikrokontrolery AVR
AT 90S2313 [1, s. 17]
Tabela 2. Opis wyprowadzeń
pin
funkcja
V
CC
plus zasilania,
GND
masa,
PB0 – ANI0
wejście nieodwracające komparatora,
PB1 – ANI1
wejście odwracające komparatora,
PB3 – OC1
wyjście porównania licznika/timera1
PB5 – MOSI
wejście szeregowe danych trybu programowania i weryfikacji,
PB6 – MISO
wyjście szeregowe danych trybu programowania i weryfikacji,
PB7 – SCK
wejście taktu zegara dla trybu programowania i weryfikacji,
PD0 – RXD
wejście szeregowe układu UART,
PD1 – TXD
wyjście szeregowego układu UART,
PD2 – INT0
wejście przerwania zewnętrznego,
PD3 – INT1
wejście przerwania zewnętrznego,
PD4 – T0
wejście zewnętrznego sygnału zegarowego licznika T0
PD5 – T1
wejście zewnętrznego sygnału zegarowego licznika T1,
PD6 – ICP
wejście przechwytywania zegara T1,
RESET
wejście zerowania mikrokontrolera,
XTAL1
wejście odwracające wzmacniacza oscylatora, służące do dołączenia
kwarcu
XTAL2
wyjście służące do dołączenia rezonatora kwarcowego.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
22
Rys. 12. Schemat blokowy mikrokontrolera AVR 90S2313 [1, s. 14]
Środowisko programowe dzięki któremu możemy zaprogramować mikrokontrolery AVR, jest
dostępne na stronie www.atmel.com pod nazwą AVR Studio.
Rys. 13. Okno programu AVR Studio [8]
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
23
Podczas uruchamiania systemów mikroprocesorowych z mikrokontrolerem AVR można
wykorzystać np. zestaw startowy STK 500.
Rys. 14. Zestaw startowy STK 500 dla mikrokontrolerów AVR
Mikrokontrolery rodziny PIC
Parametry rodziny mikrokontrolerów PIC MidRange MICROCHIP:
−
procesor typu RISC,
−
35 instrukcji,
−
wszystkie rozkazy wykonywane podczas jednego cyklu, za wyjątkiem skoków (2 cykle),
−
prędkość: zegar maks. 20 MHz, wówczas czas wykonywania jednej instrukcji: 200 ns,
−
8 K x 14 bit pamięci programu (FLASH),
−
368 x 8bit pamięci danych (RAM),
−
256 x 8bit pamięci danych (EEPROM),
−
14 źródeł przerwań,
−
8–poziomowy, sprzętowy stos,
−
możliwość sterowania obniżonym poborem mocy,
−
licznik Watchdog,
−
zakres napięć pracy procesora: 2.0 V–5.5 V.
Cechy procesora na przykładzie PIC16F877:
−
TIMER0: 8–bitowy licznik/timer z 8–bitowym prescalerem,
−
TIMER1: 16 bitowy licznik/timer z prescalerem,
−
TIMER2: 8–bitowy licznik/timer z prescalerem i postscalerem,
−
PulseWidthModulator (PWM),
−
10–bitowy, 8–kanałowy przetwornik A/C,
−
synchroniczny port szeregowy (SSP) z SPI (jako master) i I
2
C (jako master lub slave),
−
uniwersalny synchroniczny/asynchroniczny port szeregowy (USART).
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
24
Rys. 15. Schemat blokowy mikrokontrolera PICI6F877 [3, s. 15]
Rys. 16. Opis wyprowadzeń mikrokontrolera
Rys. 17. Przykładowe mikrokontrolery
PIC16F877 [3, s. 62]
MICROCHIP
Środowisko programowe dzięki któremu możemy zaprogramować mikrokontrolery PIC jest
dostępne na stronie www.microchip.com pod nazwą MPLAB.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
25
Rys. 18. Okno projektu w programie MPLAB [10]
Montaż mikrokontrolerów:
Podczas realizacji jednostki modułowej 725[01].Z1.01 „Wykonywanie montażu
elementów i podzespołów układów elektronicznych” zapoznałeś się z zasadami montażu.
Podczas montażu mikrokontrolerów musisz pamiętać o:
-
stanowisko pracy do montażu powinno zapewniać odpowiednią ilość miejsca z dostępem
do uziemionego gniazdka oraz być dobrze oświetlone, np. biurko czy pusty stół,
-
bardzo dobrym rozwiązaniem jest zastosowanie odpowiednich mat montażowych oraz
opasek na rękę odprowadzających ładunki elektrostatyczne, jeżeli stanowisko pracy nie
jest w nie wyposażone wystarczy przed przystąpieniem do montażu dotknąć metalowego
przedmiotu, np. kaloryfera i w ten sposób odprowadzić zgromadzone ładunki,
-
należy pamiętać o bezpieczeństwie pracy z urządzeniem elektrycznym, niewłaściwe
postępowanie może grozić porażeniem, a nawet śmiercią, kabel zasilający powinien być
odłączony podczas trwania prac,
-
pod mikrokontrolery najlepiej montować podstawki, jeżeli mają być często wymieniane
lepsze będą podstawki zip, które ułatwiają wyjmowanie mikrokontrolerów,
-
oscylator kwarcowy należy dołączać z zastosowaniem kondensatorów w sposób
pokazany na rysunku 19.
Rys. 19. Podłączenie rezonatora kwarcowego
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
26
-
podłączenie resetu należy zrealizować w sposób pokazany na rysunku 20.
Rys. 20. Podłączenie resetu
Przycisk SW służy do resetowania mikrokontrolera, po załączeniu SW kondensator jest
rozładowany. Po zwolnieniu przycisku SW kondensator ładuje się do 5 V, wywołane tym
opóźnienie zapewnia, że gdy program startuje po wyjściu z trybu zerowania, napięcie
zasilania jest już stabilne.
4.2.2. Pytania sprawdzające
Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.
1. Dlaczego mikroprocesory są nazywane mikrokontrolerami?
2. Jakie dodatkowe zasoby posiadają mikrokontrolery?
3. Jaka jest szerokość magistrali danych w mikrokontrolerach rodziny ’51, AVR i PIC?
4. Jaka jest szerokość magistrali adresowej w mikrokontrolerach rodziny ’51, AVR i PIC?
5. Które z mikrokontrolerów są oparta na architekturze von Neumana, a które Harvardzkiej?
6. Jakie zasady należy zastosować podczas montażu układu z mikrokontrolerem?
4.2.3. Ćwiczenia
Ćwiczenie 1
Przeanalizuj przykład użycia układu czasowego mikrokontrolera rodziny ‘51 jako
czasomierza. Uruchom program załączenia diody dołączonej do P1.0 na czas 1 sekundy.
Zmień program tak, aby dioda była załączona na 3 sekundy.
Typowe taktowanie mikroprocesora – f
XTAL
=12MHz. Obliczamy czas trwania cyklu
maszynowego:
f
t
=
12
f
XTAL
=
12
MHz
12
= 1MHz
T
t
=
t
f
1
= 1
µ
s
aby odmierzyć 1s licznik musi zliczyć:
1 s = 1000000
µ
s = 1000000 cykli
15
65536
1000000
=
reszta 16960
do we reset mikrokontrolera
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
27
Aby odliczyć 1000000 cykli licznik trzeba przepełnić 15 razy w pełnym zakresie i jeszcze
16960 cykli. Wartość początkowa, którą należy wpisać do licznika:
65536 – 16969 = 48576.
MOV TMOD,#00010000B ;licznik T1 zlicza impulsy wewnętrzne (C/ T =0)
;w trybie 1 (M1M0=01)
MOV TH1,#HIGH(48576) ;załadowanie starszego bajtu wartości początkowej
;do starszej części licznika T1
MOV TL1,#LOW(48576)
;załadowanie młodszego bajtu wartości początkowej
;do młodszej części licznika T1
MOV R7,#16
;licznik przepełnień
SETB TR1
;start zliczania
SEK: JNB TF1,$
;oczekiwanie na przepełnienie licznika
CLR TF1
;programowe zdjęcie flagi przepełnienia
DJNZ R7,SEK
;dekrementacja licznika przepełnień
CLR TR1
SETB P1.0
;zatrzymanie licznika po odmierzeniu 1s
;załączenie diody
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) przeanalizować wybór trybu pracy i źródła zliczanych impulsów (wpis do rejestru
TMOD),
2) przeanalizować obliczenia ilości zliczanych cykli (na tej podstawie obliczysz liczbę
przepełnień licznika i wartość początkową wpisywaną do licznika dla 3 s),
3) podłączyć diodę do wyjścia P1.0,
4) skompilować program, zaprogramować mikroprocesor,
5) uruchomić program używając zestawu startowego,
6) sprawdzić poprawność działania programu,
7) zmienić wartości w programie tak, aby odmierzyć 3 s,
8) ponownie skompilować program, zaprogramować mikroprocesor i uruchomić zmieniony
program,
9) sprawdzić poprawność działania programu,
10) zaprezentować wykonane ćwiczenie.
Wyposażenie stanowiska pracy:
–
komputer PC,
–
oprogramowanie umożliwiające kompilowanie i debugowanie programu,
–
zestaw startowy z oprogramowaniem,
–
lista rozkazów asemblera,
–
literatura wskazana przez nauczyciela,
–
materiały i przybory do pisania.
Ćwiczenie 2
Spośród układów scalonych wybierz mikroprocesory. Na podstawie oznaczeń określ ich
typy. Odnajdź w Internecie notę katalogową każdego mikroprocesora i odczytaj parametry
mikroprocesorów. Odszukaj sklepy internetowe oferujące mikrokontrolery, porównaj ceny
mikrokontrolerów (pamiętaj, że mikrokontroler nie posiadający wewnętrznej pamięci
programu wymaga dołączenia zewnętrznej pamięci EEPROM i należy jej cenę uwzględnić
w kalkulacji kosztów).
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
28
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) wybrać mikroprocesory spośród wszystkich układów,
2) odczytać typ każdego z nich,
3) odnaleźć w Internecie kartę katalogową mikrokontrolera na schemacie,
4) odczytać parametry poszczególnych mikrokontrolerów,
5) porównać ceny mikrokontrolerów,
6) zaprezentować wykonane ćwiczenie.
Wyposażenie stanowiska pracy:
–
różne układy scalone, w tym mikroprocesory różnych typów,
–
komputer PC z dostępem do Internetu,
–
oprogramowanie umożliwiające przeglądanie dokumentacji w postaci plików PDF,
–
literatura wskazana przez nauczyciela,
–
materiały i przybory do pisania.
Ćwiczenie 3
Przeanalizuj schematy ideowe. Wskaż na schematach mikrokontroler. Odnajdź
w Internecie notę katalogową mikrokontrolera i przeanalizuj podłączenie poszczególnych
pinów.
Schemat 1 do ćwiczenia 3
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
29
Schemat 2 do ćwiczenia 3
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
30
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) przeanalizować schemat ideowy,
2) odnaleźć w Internecie kartę katalogową mikrokontrolera na schemacie,
3) przeanalizować podłączenie poszczególnych pinów,
4) powtórz czynności dla drugiego schematu,
5) zaprezentować wykonane ćwiczenie.
Wyposażenie stanowiska pracy:
–
komputer PC z dostępem do Internetu,
–
oprogramowanie umożliwiające przeglądanie dokumentacji w postaci plików PDF,
–
literatura wskazana przez nauczyciela.
4.2.4. Sprawdzian postępów
Czy potrafisz:
Tak
Nie
1) rozpoznać mikrokontroler na podstawie oznaczeń?
2) rozpoznać mikrokontroler na schemacie ideowym?
3) scharakteryzować zasoby wewnętrzne mikrokontrolerów?
4) odczytać parametry mikroprocesora w dokumentacji?
5) skompilować program w języku asemblera?
6) zaprogramować mikrokontroler na płytce bazowej?
7) przeanalizować program w języku asemblera?
8) wprowadzić modyfikacje w programie?
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
31
4.3. Dołączanie urządzeń zewnętrznych
4.3.1. Materiał nauczania
Współpraca mikrokontrolera z otoczeniem jest realizowana przez dołączone urządzenia
zewnętrzne (peryferyjne). Urządzenia zewnętrzne są dołączane do mikrokontrolera na dwa
sposoby:
−
za pośrednictwem układów wejścia wyjścia dołączanych do magistral systemu
mikroprocesorowego – rejestry układów są adresowane tak, jak komórki zewnętrznej
pamięci danych,
−
bezpośrednio do portów (równoległych lub szeregowych) mikrokontrolera.
Port równoległy 8255
Transmisja równoległa, polegająca na przesyłaniu jednocześnie całych bajtów, pozwala
m.in. na wyposażenie systemu mikroprocesorowego w układ komunikacji z użytkownikiem.
W najprostszym przypadku układ taki pozwala na podłączenie klawiatury i zespół
wyświetlaczy 7–segmentowych.
Układ Intel 8255 jest programowalnym układem równoległego wejścia–wyjścia. Jest on
wyposażony w dwie grupy wyprowadzeń, służących do dołączenia układu do magistrali
systemowej oraz do sterowania urządzeniami zewnętrznymi. Układ zawiera 3 porty: A, B i C,
umożliwiając dołączenie dwóch lub trzech (w zależności od wybranego trybu pracy)
urządzeń.
Rys. 21. Port równoległy 8255 [6, s. 60]
Sygnały łączące port z mikrokontrolerem:
−
D
0
–D
7
– dwukierunkowa, 8–bitowa magistrala danych z wyjściami trójstanowymi,
−
A
1,
A
0
– wejścia adresowe układu, służące do wyboru jego rejestrów wewnętrznych (port
A–00, port B–01, port C–10 oraz rejestr słów sterujących–11,
−
CS – wejście uaktywnienia układu, aktywne w stanie niskim,
−
RD – wejście żądania odczytu informacji z układu, aktywne w stanie niskim,
−
WR – wejście żądania zapisu informacji do układu, aktywne w stanie niskim,
−
RES – wejście zerowania układu, aktywne w stanie wysokim.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
32
Interfejs urządzeń zewnętrznych zawiera trzy dwukierunkowe, 8–bitowe porty
wejścia–wyjścia: A, B i C. Porty mogą pracować w 3 trybach:
−
w trybie 0 prostego wejścia–wyjścia (bez potwierdzenia) – może pracować dowolny
port, podczas programowania trybu pracy należy ustalić m.in. kierunek transmisji
obowiązujący dla całego portu, przy czym port C może być podzielony na dwie połowy,
dla których kierunek ten można ustalić indywidualnie,
−
w trybie 1 i 2 możliwa jest wymiana sygnałów dotyczących gotowości portu
do odebrania lub wysłania danej, w trybie 1 mogą pracować porty A i B, natomiast port C
pełni rolę rejestru statusowego, podczas programowania trzeba ustalić kierunek
transmisji, w trybie 2 może pracować tylko port A jako port dwukierunkowy.
Przykład zastosowania portu 8255 w systemie mikroprocesorowym. Do modułu 8255
dołączone są 64 klawisze oraz 8 wyświetlaczy 8– segmentowych.
Rys. 22. Schemat układu we/wy z klawiaturą i wyświetlaczem 8–segmentowym dołączonymi do
mikrokontrolera za pośrednictwem modułu 8255 [6, s. 62]
Port PB układu 8255 pracuje jako wyjście. Linie PB
0
– PB
2
poprzez demultiplekser 74139
wybierają aktywny wyświetlacz i pobudzają klawiaturę. Wspólne wejścia wyświetlaczy
steruje się za pośrednictwem wzmacniaczy tranzystorowych. Na wyjściach PB
3
– PB
6
podawany jest kod cyfry do wyświetlenia. Port PA układu pracuje jako wejście służące
do wczytywania stanu klawiatury.
Używając portu równoległego należy go zaprogramować wysyłając słowo sterujące do
rejestru słów sterujących. Słowo sterujące:
b7
b6
b5
b4
b3
b2
b1
b0
b7=1,
b6, b5– wybór trybu dla portu A,
b4 – kierunek transmisji przez port A– 1– we, 0– wy,
b3 – kierunek transmisji przez starszy półbajt portu C – 1– we, 0– wy,
b2 – wybór trybu dla portu B,
b1 – kierunek transmisji przez port B– 1– we, 0– wy,
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
33
b0 – kierunek transmisji przez młodszy półbajt portu C – 1– we, 0– wy.
Mikrokontrolery najczęściej są wyposażone w porty równoległe, przed ich użyciem
należy określić kierunek transmisji przez port.
Port szeregowy
Zadaniem portu szeregowego jest przesyłanie danych bit po bicie. Transmisja może
odbywać się synchronicznie (przesył danej wraz z sygnałem taktującym) lub asynchronicznie
(nadajnik i odbiornik są taktowane oddzielnie). Podczas transmisji asynchronicznej dane
przesyłane są w postaci ramek:
Format danych (bit kontrolny nie zawsze występuje):
bit
startu
bity danych
bit
kontr.
bit
stopu
D0
D1
D2
D3
D4
D5
D6
D7
Rys. 23. Format znaku w transmisji asynchronicznej
Przykładem portu szeregowego jest moduł 8251. Jednak mikrokontrolery są wyposażone
we wbudowany port szeregowy i nie ma potrzeby dołączania dodatkowego portu
szeregowego. Na przykład port szeregowy w mikrokontrolerach rodziny ‘51 pozwala
na wczytywanie danych szeregowych przez wejście RxD (P3.0) i wysyłanie danych
szeregowych przez wyjście TxD (P3.1). Port może pracować w jednym z czterech trybów:
Tabela 3. Tryby pracy portu szeregowego
Tryb
SM0
SM1
Opis
0
0
0
Transmisja synchroniczna, znaki 8–bitowe, taktowane sygnałem zegarowym
o częstotliwości f
XTAL
/12
1
0
1
Transmisja asynchroniczna, znaki 8–bitowe, szybkość określona programowo
2
1
0
Transmisja asynchroniczna, znaki 9–bitowe, szybkość 1/32 lub 1/64 częstotliwości
zegara
3
1
1
Transmisja asynchroniczna, znaki 9–bitowe, szybkość określona programowo
Zamiana postaci danej z szeregowej na równoległą (odbiór danej) lub równoległej na
szeregową (nadawanie danej) oraz sterowanie transmisji odbywa się automatycznie. Dane
odebrane przez port szeregowy są wpisywane do rejestru SBUF, dane wysyłane są pobierane
z rejestru SBUF.
Zaprogramowanie portu szeregowego wymaga wpisania słowa sterującego do rejestru SCON
SCON– słowo sterujące układu transmisji szeregowej:
SM0
SM1
SM2
REN
TB8
RB8
TI
RI
SM0 SM1
−
tryb pracy,
SM2
−
bit sterujący przejściem do komunikacji wieloprocesorowej,
REN
−
bit zezwolenia na odbiór danych przez port szeregowy, bit ustawiany
i zerowany programowo,
TB8
−
dziewiąty bit nadawanego słowa,
RB8
−
dziewiąty bit odbieranego słowa,
TI
−
znacznik zakończenia nadawania danych, może wywołać przerwanie,
kasowany programowo,
RI
−
znacznik zakończenia odbierania danych, może wywołać przerwanie,
kasowany programowo,
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
34
Interfejs RS232
Jednym z najczęściej wykorzystywanych interfejsów szeregowych w mikrokontrolerach
jest RS232. w tym standardzie dane przesyłane są asynchronicznie. Stosowane są typowe
prędkości transmisji: 1200, 2400, 4800, 9600, 57600 i 115200 bodów (bitów na sekundę).
Przy konstruowaniu urządzeń wykorzystujących RS232 należy pamiętać o tym, że poziomy
napięć linii sygnałowych w tym standardzie nie są zgodne z poziomem TTL/CMOS. Jedynce
logicznej odpowiada napięcie z zakresu od – 3 V do – 15 V, a zeru napięcie z zakresu od
+ 3 V do + 15 V, stan od – 3 V do +3 V jest stanem nieokreślonym. W celu dopasowania
poziomów logicznych stosuje się najczęściej gotowe konwertery np. MAX232. Przykładowy
sposób dołączenia interfejsu RS232 do mikrokontrolera rodziny ’51 za pośrednictwem
konwertera poziomów został przestawiony na rysunku 23 Zastosowany został wewnętrzny
port szeregowy mikrokontrolera (piny TxD, RxD).
Rys. 24. Przykładowy sposób dołączenia interfejsu RS232 do mikrokontrolera rodziny ’51 za pośrednictwem
konwertera poziomów [5, s. 216]
Interfejs SPI
Interfejs szeregowy SPI umożliwia przesyłanie danych w sposób synchroniczny, w trybie
full–duplex (jednoczesne nadawanie i odbiór danych). Umożliwia pracę w trybie urządzenia
nadrzędnego i podrzędnego. Jest wykorzystywany do programowania pamięci programu
i pamięci danych EEPROM mikrokontrolera, realizacji transmisji wieloprocesorowej oraz
współpracy ze specjalizowanymi urządzeniami zewnętrznymi o wejściu lub wyjściu
szeregowym np. przetworniki A/C i C/A. Wejście danych jest oznaczone MOSI, a wyjście
MISO, sygnał taktujący SCK.
Interfejs I
2
C
W systemach mikroprocesorowych bardzo często zachodzi potrzeba dołączenia układów
peryferyjnych, które nie wymagają częstej komunikacji z jednostką centralną (CPU)
np.: Pamięć EEPROM zawierająca np. nastawy początkowe, zegar czasu rzeczywistego,
sterowniki wyświetlaczy LED lub LCD, kontroler klawiatury oraz specjalizowane układy
analogowe. Dzięki szeregowej realizacji połączenia potrzebne tylko dwie linie sygnałowe:
SDA – linia danych i SCL – linia sygnału zegarowego. Szyna I
2
C pozwala na dołączenie
wielu urządzeń, każdy z nich ma odrębny adres, umożliwiający jednoznaczne wybranie
urządzenia do nadawania lub odbioru. Liczba urządzeń jest ograniczona wyłącznie
pojemnością szyny równą 400 pF, pojemność ta jest obliczana jako suma pojemności
pasożytniczych wprowadzanych przez urządzenia. Przesyłaniem danych steruje układ
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
35
nadrzędny (Master). Magistrala I
2
C dzięki synchronizacji sygnałem zegarowym umożliwia
komunikację między urządzeniami stosującymi różne prędkości transmisji. W przypadku
jednoczesnego rozpoczęcia nadawania przez kilka urządzeń podrzędnych (Slave) o kolejności
obsługi decyduje mechanizm arbitrażu.
Rys. 25. Połączenie kilku układów za pomocą magistrali I
2
C [3, s. 194]
Wymiana danych w I
2
C przebiega pomiędzy układami Master (może być ich kilka)
a układami Slave (może być ich wiele). Master inicjuje i synchronizuje transmisję oraz
kończy transmisję. Układ Slave jest adresowany 7–bitowym adresem oraz bitem
wskazującym kierunek transmisji danych (
W
R/
). Przesyłane są dane 8–bitowe, każda
wymiana danych rozpoczyna się sekwencja startu, a kończy sekwencją stopu, prawidłowe
przesłanie bajtu jest sygnalizowane sekwencją potwierdzenia.
Interfejs 1–Wire
Interfejs szeregowy 1–Wire jest przeznaczony do stosowania w systemach
z pojedynczym urządzeniem nadrzędnym (Master) sterującym wieloma urządzeniami
podrzędnymi (Slave) za pomocą tylko jednej linii, po której może być także przesyłane
zasilanie układów podrzędnych. Układy peryferyjne z interfejsem 1–Wire to m. in. czujniki
temperatury z wyjściem cyfrowym, pamięci RAM i EEPROM, układy zegarów czasu
rzeczywistego, potencjometry cyfrowe i inne.
4.3.2. Pytania sprawdzające
Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.
1. W jaki sposób mikrokontroler może komunikować się z otoczeniem?
2. Co charakteryzuje równoległe przesyłanie danych?
3. Co charakteryzuje szeregowe przesyłanie danych?
4. W jakich trybach może pracować port szeregowy w mikrokontrolerze ‘51?
5. Jakie cechy posiada interfejs szeregowy RS232?
6. Jakie cechy posiada interfejs I
2
C?
7. Jakie cechy posiada interfejs 1–Wire?
8. Jakie jest zastosowanie poszczególnych interfejsów szeregowych?
4.3.3. Ćwiczenia
Ćwiczenie 1
Uruchom podany program krążącej jedynki w lewo na diodach dołączonych do portu
równoległego P1. Przeanalizuj program i zmień go tak, aby realizował program:
−
krążącej jedynki w prawo,
−
krążącego zera w prawo,
−
licznika Johnsona.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
36
MOV A,#01
CYKL:
MOV P1,A
;zapalenie diody dołączonej do P1.0
RL A
;przesunięcie zawartości akumulatora
LJMP CYKL
;zapętlenie programu
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) przeanalizować podany program,
2) skompilować i zdebugować program,
3) uruchomić program w sposób krokowy używając zestawu uruchomieniowego,
4) sprawdzić poprawność działania programu,
5) dokonać zmian w programie, skompilować go i uruchomić,
6) zaprezentować wykonane ćwiczenie,
7) dokonać oceny poprawności wykonanego ćwiczenia.
Wyposażenie stanowiska pracy:
–
komputer PC,
–
oprogramowanie umożliwiające kompilowanie i debugowanie programu,
–
mikroprocesorowy zestaw uruchomieniowy z oprogramowaniem,
–
lista rozkazów mikrokontrolera ’51,
–
literatura wskazana przez nauczyciela.
Ćwiczenie 2
Przeanalizuj sposób dołączenia interfejsu równoległego 8255 na schemacie. Jakie słowo
sterujące i pod jaki adres należy wysłać w celu zaprogramowania tego modułu, jeżeli do portu
A są dołączone diody, a do portu B zadajniki binarne?
Rysunek do ćwiczenia 2 [9]
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
37
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) przeanalizować schemat,
2) wybrać tryby pracy i kierunek transmisji dla każdego z portów,
3) zestawić słowo sterujące,
4) obliczyć adres bazowy oraz adres rejestru słów sterujących modułu,
5) zaprezentować wykonane ćwiczenie.
Wyposażenie stanowiska pracy:
−
treść zadania dla każdego ucznia,
−
literatura wskazana przez nauczyciela,
−
materiały i przybory do pisania.
Ćwiczenie 3
Komunikacja mikrokontrolera z komputerem PC za pośrednictwem interfejsu RS232.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) przeanalizować otrzymany program wysyłania danych przez port szeregowy,
2) skompilować program i zaprogramować mikrokontroler poprzez łącze SPI,
3) dołączyć wyjście portu szeregowego do portu COM komputera PC,
4) uruchomić program,
5) obserwować okno terminala sprawdzając poprawność realizacji zadania,
6) zmienić program poprzez zmianę wysyłanych znaków i zmianę szybkości transmisji,
7) skompilować ponownie program i zaprogramować mikrokontroler,
8) sprawdzić działanie programu w oknie terminala,
9) zaprezentować wykonane ćwiczenie.
Wyposażenie stanowiska pracy:
–
komputer PC,
–
oprogramowanie umożliwiające kompilowanie i debugowanie programu,
–
oprogramowanie terminala portu szeregowego (np. Tera Term),
–
zestaw startowy oparty np. na mikrokontrolerze AVR (lub innym z możliwością
programowania w układzie),
–
lista rozkazów mikrokontrolera,
–
literatura wskazana przez nauczyciela.
4.3.4. Sprawdzian postępów
Czy potrafisz:
Tak
Nie
1) scharakteryzować transmisję równoległą?
2) scharakteryzować
transmisję
szeregową
synchroniczną
i asynchroniczną?
3) dobrać rodzaj interfejsu do konkretnego urządzenia peryferyjnego?
4) dołączyć urządzenia zewnętrzne do interfejsów?
5) zrealizować
komunikację
mikrokontrolera
z
urządzeniem
zewnętrznym?
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
38
4.4. Instalowanie,
uruchamianie
i
obsługa
sterowników
i regulatorów mikroprocesorowych
4.4.1. Materiał nauczania
Sterowanie to proces oddziaływania sygnałów sterujących na przyrządy, urządzenia
techniczne lub maszyny robocze. W układach mikroprocesorowych sterowanie odbywa się
w sposób cyfrowy. Zaletą sterowania mikroprocesorowego jest to, że łatwo można zmienić
program realizujący zadanie.
Schemat blokowy sterowania realizowanego przez mikrokontroler (bez pętli sprzężenia
zwrotnego):
Rys. 26. Schemat blokowy układu sterowania
Regulacja jest działaniem polegającym na oddziaływaniu na wielkość regulowaną
mierzoną na bieżąco, aby była podobna do wielkości zadanej.
Schemat blokowy regulacji realizowanego przez mikrokontroler (z pętlą sprzężenia
zwrotnego):
wejścia cyfrowe
układy
wykonawcze
czujniki
mikrokontroler
obiekt
regulowany
wyjścia cyfrowe
Rys. 27. Schemat blokowy układu sterowania i regulacji
Sterowanie urządzeniami dołączonymi do portów mikrokontrolera:
Niektóre linie portów równoległe mikrokontrolerów (np. PA w PIC lub PORTB w AVR)
mają indywidualnie wybierany rezystor podciągający do plusa zasilania (pull–up). dzięki
temu można bezpośrednio wysterować np. diody LED podłączając je tylko przez rezystor
ograniczający:
Rys. 28. Przykład bezpośredniego sterowania diodą LED przez mikrokontroler AVR [1, s. 100]
Niektóre zastosowania wymagają sterowania urządzeniami zasilanymi napięciem
sieciowym. W przypadku odbiorników małej mocy można zastosować rozwiązanie jak
na rysunku 28.
wartość
zadana
mikrokontroler
wyjścia cyfrowe
układy
wykonawcze
obiekt
sterowany
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
39
Rys. 29. Układ umożliwiający sterowanie urządzeniem zasilanym napięciem sieciowym [5, s. 244]
Konstruując urządzenie współpracujące z odbiornikami wykorzystującymi zasilanie
sieciowe należy zawsze pamiętać o skutecznym galwanicznym odizolowaniu części
pracującej z napięciem sieciowym od reszty układu i obudowy (najlepiej z tworzywa
sztucznego). Izolacje galwaniczną najprościej jest zrealizować za pomocą optotriaków.
Sterownik mikroprocesorowy
Przykładem sterownika mikroprocesorowego jest programowalny sterownik czasowy.
Sterownik jest przeznaczony do sterowania urządzeniami, które mają być włączone na
określone odcinki czasu. Czas załączenia oraz czas przerwy między załączeniami może być
ustawiany na wartość mniejszą niż 100 godzin. Sterownik można wykorzystać
np. do sterowania pompą obiegu wody w systemach centralnego ogrzewania, załączaniu
i wyłączaniu oświetlenia w mieszkaniu itp.
W sterowniku zastosowany został mikrokontroler 80C51, z pamięcią Flash 2 kB. Wyjścia
portu P1 mikrokontrolera maja zwiększoną obciążalność, dzięki czemu możliwe jest
bezpośrednie podłączenie segmentów wyświetlaczy. Wyjście P3.1 mikrokontrolera steruje
przekaźnikiem za pośrednictwem pary tranzystorów T6 i T7, które również zabezpieczają
przekaźnik przez chwilowym zadziałaniem w czasie restartu mikrokontrolera. Przyciskami S1
(godziny) i S2 (minuty) nastawia się wybrany czas pracy. Przycisk S4 pozwala na przejście
do nastawiania czasu przerwy (zapala się dioda D2) – nastawianie odbywa się tak samo, jak
nastawianie czasu pracy. Start sterownika następuje po naciśnięciu przycisku S3, jest to
sygnalizowane zapaloną diodą D3, rozpoczyna się odliczanie czasu wstecz. Po odliczeniu
czasu pracy dioda gaśnie i następuje odliczanie czasu przerwy. Stan w jakim znajduje się
sterownik wskazują dodatkowo diody D1 (praca) i D2 (przerwa). Przyciskiem S3 można
wstrzymać odliczanie, a ponowne naciśnięcie tego przycisku spowoduje kontynuację
odliczania. Schemat ideowy sterownika oraz sposób jego podłączenia został przedstawiony na
rysunkach 29 i 30.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
40
Rys. 30. Schemat ideowy programowalnego sterownika czasowego [12]
Rys. 31. Sposób podłączenia [12]
Regulator mikroprocesorowy
Przykładem
regulatora
mikroprocesorowego
jest
regulator
temperatury
z mikrokontrolerem AT89C2051 zawierającym komparator. Napięcie odniesienia na jego
wejściu odwracającym ustala dzielnik złożony z rezystorów R1 i R2. Do pomiaru temperatury
można zastosować czujnik temperatury KTY 10. Czujnik jest podłączony do wejścia
nieodwracającego komparatora.
Metoda pomiaru oparta jest na mierzeniu czasu ładowania kondensatora przez czujnik
temperatury. Czas ładowania jest proporcjonalny do rezystancji czujnika. Czujnik KTA ma
dodatni współczynnik temperatury tzn. im wyższa temperatura tym rezystancja wyższa.
Pomiar rozpoczyna się po dołączeniu kondensatora C8 do masy, przez wewnętrzne
tranzystory mikroprocesora. Jednocześnie uruchamiany jest pomiar czasu. Jeżeli napięcie na
kondensatorze przekroczy próg przełączania komparatora zawartość timera zostanie
zapamiętana w pamięci EEPROM. Na podstawie czasu ładowania kondensatora programowo
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
41
obliczana jest temperatura. Na wyświetlaczu wyświetlany jest wynik pomiaru. Wyświetlacz
8–segmentowy jest dołączony do mikrokontrolera poprzez 2 rejestry przesuwne, z których
jeden steruje segmentami, a drugi poprzez wzmacniacze tranzystorowe anodami
wyświetlaczy.
Schemat regulatora jest przedstawiony na rysunku 31.
Rys. 31. Schemat regulatora temperatury [12]
4.4.2. Pytania sprawdzające
Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.
1. Co jest istotą sterowania mikroprocesorowego?
2. Na czym polega regulacja w systemie mikroprocesorowym?
3. Jakie układy można wysterować bezpośrednio z mikrokontrolera?
4. Co należy uwzględniać sterując urządzeniami zasilanymi napięciem sieciowym?
5. W jakim celu może być stosowany sterownik czasowy?
6. W jakim celu może być stosowany regulator temperatury?
4.4.3. Ćwiczenia
Ćwiczenie 1
Zmontuj regulator temperatury zgodnie ze schematem ideowym i otrzymaną instrukcją.
Skalkuluj koszt wykonanego regulatora.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
42
Schematy do ćwiczenia 2 [12]
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) przygotować stanowisko pracy z narzędziami,
2) sprawdzić płytkę drukowaną,
3) przymierzyć płytki do obudowy, w razie potrzeby wyszlifować krawędzie płytek
papierem ściernym,
4) wykonać otwory w tylnej ściance służące wyprowadzeniu przewodów,
5) wywiercić otwory: 4 na przyciski i 2 do przykręcenia płytki, a następnie zamocować
płytkę z przyciskami do górnej części obudowy, na 4 mm tulejkach dystansowych,
6) wlutować podstawki pod mikroprocesor i pamięć EEPROM oraz pozostałe elementy,
7) przylutować płytkę wyświetlaczy bezpośrednio do płytki głównej,
8) połączyć punkty lutownicze A i B na płytce wyświetlaczy przewodami z punktami
A i B przy przekaźniku,
9) podłączyć płytkę klawiatury do układu za pomocą krótkiej wiązki przewodów
(pamiętając o zgodności numeracji przewodów na obu płytkach),
10) sprawdzić montaż,
11) obliczyć łączny koszt zmontowanego regulatora,
12) zaprezentować wykonane ćwiczenie z uwzględnieniem sposobu obliczenia kosztu.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
43
Wyposażenie stanowiska pracy:
–
elementy wg wykazu:
US1
7805
R1
3,3 kΩ
US2
AT89C2051
R2, R3
5,6 kΩ
US3
PCF8582C
z
10 kΩ
US4, US5
UCY74164
R8–R10
470 Ω
T1– T4
BC327
R11–R14,R25
2,2 kΩ
T5, T6
BC547
R15–R22
150 Ω
D1
1N4001
R24
1,5 kΩ
D2
1N4148
C1
1000 µF
D3– D6
LED
C2
220 µF
Q1
kwarc 12 MHz
C3, C4,C5,C10,C11
100 nF
W1– W4
2x TDY5520(WA)
C6
22 µF
Th1
KTY 10– 6
C7, C8, C9
1 µF
PK1
przekaźnik 12V/3A
C10, C11
30 pF
S1– S4
przycisk imp. 6 mm
−
podstawka DIL8,
−
podstawka DIL20,
−
płytki drukowane 3 szt.,
−
obudowa KM35
−
lutownica, śrubokręty, wiertarka, papier ścierny,
−
śruby, tuleje,
−
materiały i przybory do pisania.
Ćwiczenie 2
Uruchom regulator temperatury. Wyskaluj go i ustaw zadane temperatury.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) podłączyć czujnik temperatury do złącza na płytce głównej (kolejność wyprowadzeń jest
dowolna),
2) podłączyć zasilanie 12V obserwując wyświetlacz, pojawienie się trzech poziomych
segmentów na wyświetlaczu oznacza, ze mikroprocesor zainicjował pracę pamięci
EEPROM wpisując do niej wstępne ustawienia termometru,
3) wyskalować termometr jedną z dwóch metod:
−
mniej dokładną: nacisnąć przycisk S4 (SKALOWANIE) i przytrzymać go przez
ok. 5 s, zapalą się diody D3 i D4, następnie umieścić czujnik pod pachą i po upływie
kilku minut, kiedy temperatura nie będzie już wzrastać, zatwierdzić pomiar
jednokrotnym naciśnięciem przycisku S4, diody D3 i D4 zgasną, a na wyświetlaczu
pojawi się wskazanie 36,6,
−
metoda bardziej dokładna: naciśnąć jednocześnie przyciski S4 i S3 (SKALOWANIE
i Lo) i przytrzymać je przez ok. 5 sek, zapali się dioda D4, następnie umieścić
czujnik w naczyniu z kostkami lodu i niewielką ilością wody, po ustaleniu się
wskazań nacisnąć przycisk S4, dioda D3 zgaśnie a wyświetlacz pokaże 0,0,
następnie jednocześnie nacisnąć przyciski S4 i S2 (SKALOWANIE i Hi) do czasu
zapalenia się diody D3, umieścić czujnik w naczyniu z wrzącą wodą, po
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
44
ustabilizowaniu temperatury nacisnąć przycisk S4, na wyświetlaczu pojawi się 100,0
– skalowanie jest zakończone,
4) zaprogramować termostat:
−
nacisnąć jednocześnie przyciski S1 i S2 (PROGRAMOWANIE i Hi) i przytrzymać
je aż do zapalenia diod D3 i D5 w celu ustalenie temperatury przy której zostanie
wyłączony przekaźnik, przytrzymanie przycisku Hi zwiększa wskazania na
wyświetlaczu o pełne stopnie, a pojedyncze naciśnięcia o dziesiąte części °C
(przycisk S3 – Lo w taki sam sposób zmniejsza wskazania), ustawioną temperaturę
zatwierdzić jednokrotnym naciśnięciem przycisku S1 (PROG),
−
przytrzymać jednocześnie przyciski S1 i S3 (PROG i Lo) przez kilka sekund w celu
ustalenia temperatury, przy której przekaźnik zostanie ponownie załączony, zapalą
się diody D4 i D5, przyciskami S2 i S3 nastawić temperaturę załączenia przekaźnika
tak samo jak poprzednio temperaturę wyłączania, zatwierdzić nastawę przez
jednokrotne naciśnięcie S1 (PROG),
5) dokonać kilku prób regulacji temperatury w zadanym zakresie, porównać wyniki
uzyskane przy każdej z metod skalowania,
6) zaprezentować wykonane ćwiczenie
.
Wyposażenie stanowiska pracy:
–
mikroprocesorowy regulator temperatury,
–
naczynie z lodem,
–
termometr do porównywania wyników,
–
grzałka o małej mocy,
–
literatura wskazana przez nauczyciela.
4.4.4. Sprawdzian postępów
Czy potrafisz:
Tak
Nie
1) określić różnicę między sterownikiem a regulatorem mikroprocesorowym?
2) podłączyć układy sterowane mikrokontrolerem do jego portów?
3) scharakteryzować przykłady układów sterowania mikroprocesorowego,
z jakimi możesz się spotkać w życiu codziennym?
4) wskazać przykłady mikroprocesorowych układów regulacji?
5) określić jakie sygnały mogą wpływać na obiekt regulowany?
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
45
5. SPRAWDZIAN OSIĄGNIĘĆ
INSTRUKCJA DLA UCZNIA
1. Przeczytaj uważnie instrukcję.
2. Podpisz imieniem i nazwiskiem kartę odpowiedzi.
3. Zapoznaj się z zestawem zadań testowych.
4. Test zawiera 20 zadań o różnym stopniu trudności. Wszystkie zadania są zadaniami
wielokrotnego wyboru i tylko jedna odpowiedź jest prawidłowa.
5. Udzielaj odpowiedzi tylko na załączonej karcie odpowiedzi – zaznacz prawidłową
odpowiedź znakiem X (w przypadku pomyłki należy błędną odpowiedź zaznaczyć
kółkiem, a następnie ponownie zakreślić odpowiedź prawidłową).
6. Pracuj samodzielnie, bo tylko wtedy będziesz miał satysfakcję z wykonanego zadania.
7. Kiedy udzielenie odpowiedzi będzie Ci sprawiało trudność, wtedy odłóż jego
rozwiązanie na później i wróć do niego, gdy zostanie Ci czas wolny. Trudności mogą
przysporzyć Ci zadania: 17–20, gdyż są one na poziomie trudniejszym niż pozostałe.
Przeznacz na ich rozwiązanie więcej czasu.
8. Na rozwiązanie testu masz 90 minut.
Powodzenia!
ZESTAW ZADAŃ TESTOWYCH
1. Wskaźnik stosu przechowuje
a) adres powrotu z podprogramu.
b) adres ostatniej zajętej warstwy stosu.
c) daną ostatnio złożoną na stosie.
d) adres początku wywoływanego podprogramu.
2. Inna grupa rozkazów odnosi się do komunikacji z pamięcią, a inna do układów
wejścia/wyjścia gdy zastosowano adresację
a) rozdzieloną.
b) jednolitą.
c) natychmiastową.
d) bezpośrednią.
3. Argument operacji arytmetycznej został pobrany z pamięci programu. Do adresacji użyto
trybu
a) bezpośredniego.
b) natychmiastowego.
c) rejestrowego.
d) pośredniego.
4. Zaadresowanie przestrzeni adresowej o wielkości 1024 adresy, wymaga podania
a) 8–bitowego adresu.
b) 10–bitowego adresu.
c) 16–bitowego adresu.
d) to zależy od sposobu adresacji.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
46
5. Transmisja DMA pozwala na komunikację pomiędzy
a) mikroprocesorem i pamięcią danych.
b) mikroprocesorem i urządzeniami zewnętrznymi.
c) pamięcią danych i urządzeniami zewnętrznymi.
d) pamięcią programu i urządzeniami zewnętrznymi.
6. Jednokierunkową magistralą jest
a) magistrala danych.
b) magistrala adresowa.
c) magistrala sterująca.
d) każda magistrala.
7. Przez interfejs SPI dane przesyłane są
a) równolegle.
b) szeregowo asynchronicznie.
c) szeregowo synchronicznie.
d) szeregowo synchronicznie lub asynchronicznie.
8. Full–duplex oznacza
a) przesyłanie danych równolegle jednobajtowo.
b) przesyłanie danych równolegle dwubajtowo.
c) przesyłanie danych szeregowo w jednym kierunku.
d) przesyłanie danych szeregowo w obu kierunkach.
9. Na schemacie przedstawiono układy dołączone do mikrokontrolera za pośrednictwem
a) interfejsu szeregowego 1–Wire.
b) interfejsu szeregowego RS232.
c) interfejsu szeregowego SPI.
d) interfejsu szeregowego I
2
C.
10. Mikrokontrolery rodziny ‘51 posiadają magistralę danych
a) 8–bitową.
b) 16–bitową.
c) nie posiadają magistrali danych.
d) szerokość magistrali jest zależna od tego, jakiego typu dane są nią przesyłane.
11. Cykl maszynowy, a jednocześnie rozkazowy mikrokontrolera PIC trwa 4 takty zegarowe.
Jaki jest czas wykonania pojedynczego rozkazu, jeżeli mikrokontroler jest taktowany
częstotliwością 20 MHz
a) 20 µs.
b) 5 µs.
c) 200 ns.
d) 500 ns.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
47
12. Jaka jest najmniejsza częstotliwości taktowania mikrokontrolerów rodziny AVR?
a) 10 MHz.
b) 12 MHz.
c) 1 MHz.
d) nie ma takiego ograniczenia.
13. Przepełnienie licznika Watchdog’a spowoduje
a) zrestartowanie mikrokontrolera.
b) ustawienie znacznik przepełnienia licznika, a licznik liczy dalej.
c) ustawienie znacznik przepełnienia licznika, a licznik jest zatrzymany.
d) wyzerowanie licznika.
14. Rysunek przedstawia architekturę Harvardzką. W oparciu o tą architekturę zbudowane są
mikrokontrolery
a) PIC i AVR.
b) PIC i ’51.
c) AVR i ’51.
d) AVR, PIC i ‘51.
8
pamięć
programu
pamięć
danych
12
14
16
8
pamięć
danych
jednostka
centralna
CPU
pamięć
programu
jednostka
centralna
CPU
15. Timer jest zasobem wewnętrznym mikrokontrolerów stosowanym do:
a) odmierzania czasu.
b) zliczania ilości zrealizowanych rozkazów.
c) taktowania mikroprocesora.
d) dołączenia zewnętrznego zegara czasu rzeczywistego.
16. Fragment schematu przedstawia sposób
a) dołączenia resetu do mikrokontrolera.
b) dołączenia pojemności wzorcowej.
c) dołączenia napięcia odniesienia.
d) dołączenia rezonatora kwarcowego.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
48
Schemat przedstawia zestaw startowy oparty o mikrokontroler. Przeanalizuj schemat
i na jego podstawie rozwiąż zadania
17. Numerem 1 został oznaczony mikrokontroler. Jest to mikrokontroler z rodziny
a) PIC.
b) AVR.
c) ’51.
d) żaden z wymienionych.
18. Numerem 2 jest oznaczony interfejs
a) równoległy.
b) szeregowy synchroniczny.
c) szeregowy asynchroniczny.
d) szeregowy synchroniczno/asynchroniczny.
19. Numerem 3 jest oznaczony interfejs
a) RS232.
b) SPI.
c) I
2
C.
d) 1–Wire.
1
2
3
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
49
20. Diody LED zostały dołączone do
a) magistrali danych.
b) portu równoległego.
c) portu szeregowego.
d) interfejsu I
2
C.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
50
KARTA ODPOWIEDZI
Imię i nazwisko ……………………………………………………..
Instalowanie sterowników i regulatorów mikroprocesorowych
Zakreśl poprawną odpowiedź.
Nr
zadania
Odpowiedź
Punkty
1
a
b
c
d
2
a
b
c
d
3
a
b
c
d
4
a
b
c
d
5
a
b
c
d
6
a
b
c
d
7
a
b
c
d
8
a
b
c
d
9
a
b
c
d
10
a
b
c
d
11
a
b
c
d
12
a
b
c
d
13
a
b
c
d
14
a
b
c
d
15
a
b
c
d
16
a
b
c
d
17
a
b
c
d
18
a
b
c
d
19
a
b
c
d
20
a
b
c
d
Razem:
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
51
6. LITERATURA
1. Doliński J.: Mikrokontrolery AVR w praktyce. Wydawnictwo btc, Warszawa 2004
2. Dyrcz K., Kowalski C. T., Zarczyński Z.: Podstawy techniki mikroprocesorowej. Oficyna
Wydawnicza Politechniki Wrocławskiej, 1999
3. Jabłoński T.: Mikrokontrolery PIC16F8x w praktyce. Wydawnictwo btc, Warszawa 2002
4. Rydzewski A.: Mikrokomputery jednoukładowe rodziny MCS–51.Wydawnictwa
Naukowo-Techniczne, Warszawa 1992
5. Starecki T.: Mikrokontrolery 8051 w praktyce. Wydawnictwo btc, Warszawa 2002
6. Zieliński B.: Układy mikroprocesorowe. Przykłady rozwiązań. Helion, Gliwice 2002
7. czasopismo Elektronika Praktyczna
8. www.atmel.com
9. www.ire.pw.edu.pl
10. www.microchip.com
11. www.micromade.pl
12. www.nikomp.com.pl