Instalowanie sterowników i regulatorów mikroprocesorowych
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
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
1
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
2
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ń, sprawdz 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
3
725[01].Z3
Instalacja urządzeń elektronicznych
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
Schemat układu jednostek modułowych
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego
4
2. WYMAGANIA WSTPNE
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 zró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
5
3. CELE KSZTAACENIA
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
6
4. MATERIAA 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Ä…dz 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.
dane wyniki
system
mikroprocesorowy
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:
pamięć
programu
jednostka jednostka
pamięć pamięć
centralna centralna
danych programu
CPU CPU
pamięć
8 12
8
danych
14
16
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
7
program
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 wskaznikó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
2n komórek pamięci np. 16 bitowy adres pozwala zaadresować 216 = 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 Ri (general purpose register),
- rejestr rozkazów IR (instruction register),
- wskaznik stosu SP (stack pointer),
- układ sterowania CU (control unit).
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego
8
MAGISTRALA DANYCH
A
IR
REJESTRY
ROBOCZE
ALU
CU
SYGN
STER.
SP
PC
REJ. FLAG.
MAG. ADRESOWA
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
wskaznikó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.
Wskaznik 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
9
realizacja stosu, niektóre mikroprocesory posiadają stos sprzętowy. Stos i wskaznik 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.
rozkaz 1
P W
rozkaz 2
P W
& &
rozkaz n
P W
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
10
- 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
11
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
12
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 (wskaznikó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
13
16 bitowy rejestr adresowy pamięci
akumulator
programu
rejestr roboczy 8 bitowa magistrala dwukierunkowa
licznik rozkazów wydzielony fragment pamięci danych
magistrala danych 8 bitowa magistrala jednokierunkowa
8 bitowy rejestr, w którym umieszczany
wskaznik stosu
jest wynik operacji arytm log
adresacja natychmiastowa 8 bitowy rejestr ogólnego przeznaczenia
argument rozkazu jest pobierany z pamięci
stos
danych
argument rozkazu jest pobierany z pamięci
magistrala adresowa
programu
16 bitowy rejestr adresowy pamięci
adresacja rejestrowa pośrednia
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
14
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
15
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
16
priorytet
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
17
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óznień 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 zró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
18
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,
wyjście żądania odczytu z przestrzeni adresowej zewnętrznej pamięci programu.
PSEN
ALE wyjście sygnału zegarowego o częstotliwości fXTAL/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.
wejście wymuszające pobieranie kodu rozkazów wyłącznie z zewnętrznej pamięci
EA
programu.
XTAL1, - wejścia służące do podłączenia oscylatora kwarcowego, które mogą być też
XTAL2
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
19
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 VCC = 2,7 6,0 V / 4 MHz i VCC = 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 zró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
20
Rys. 10. Opis wyprowadzeń mikrokontrolera Rys. 11. Przykładowe mikrokontrolery AVR
AT 90S2313 [1, s. 17]
Tabela 2. Opis wyprowadzeń
pin funkcja
VCC 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
21
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
22
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 zró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 I2C (jako master lub slave),
- uniwersalny synchroniczny/asynchroniczny port szeregowy (USART).
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego
23
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
24
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
25
- podłączenie resetu należy zrealizować w sposób pokazany na rysunku 20.
do we reset mikrokontrolera
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óznienie 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 =12MHz. Obliczamy czas trwania cyklu
XTAL
maszynowego:
fXTAL 12MHz
ft = = = 1MHz
12 12
1
Tt = = 1 µs
ft
aby odmierzyć 1s licznik musi zliczyć:
1 s = 1000000 µs = 1000000 cykli
1000000
= 15 reszta 16960
65536
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego
26
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 ;zatrzymanie licznika po odmierzeniu 1s
SETB P1.0 ;załączenie diody
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) przeanalizować wybór trybu pracy i zró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. Odnajdz 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
27
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) odnalezć 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. Odnajdz
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
28
Schemat 2 do ćwiczenia 3
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego
29
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie, powinieneś:
1) przeanalizować schemat ideowy,
2) odnalezć 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
30
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:
- D0 D7 dwukierunkowa, 8 bitowa magistrala danych z wyjściami trójstanowymi,
- A1, A0 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
31
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 PB0 PB2 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 PB3 PB6
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
32
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 bit bit
startu bity danych kontr. 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 fXTAL/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
33
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 I2C
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 I2C 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
34
nadrzędny (Master). Magistrala I2C 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 I2C [3, s. 194]
Wymiana danych w I2C 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 ( R/W ). 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 I2C?
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
35
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
36
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
37
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):
układy obiekt
mikrokontroler wyjścia cyfrowe wykonawcze sterowany
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):
wartość
zadana
wejścia cyfrowe mikrokontroler wyjścia cyfrowe
obiekt układy
czujniki regulowany wykonawcze
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.
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego
38
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
przekaznikiem za pośrednictwem pary tranzystorów T6 i T7, które również zabezpieczają
przekaznik 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
39
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
40
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
41
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 przekazniku,
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
42
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 przekaznik 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
43
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 przekaznik, 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 przekaznik zostanie ponownie załączony, zapalą
się diody D4 i D5, przyciskami S2 i S3 nastawić temperaturę załączenia przekaznika
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
44
5. SPRAWDZIAN OSIGNIĆ
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 odpowiedz jest prawidłowa.
5. Udzielaj odpowiedzi tylko na załączonej karcie odpowiedzi zaznacz prawidłową
odpowiedz znakiem X (w przypadku pomyłki należy błędną odpowiedz zaznaczyć
kółkiem, a następnie ponownie zakreślić odpowiedz 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ózniej 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 ZADAC TESTOWYCH
1. Wskaznik 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
45
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 I2C.
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
46
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.
pamięć
programu
jednostka jednostka
pamięć pamięć
centralna centralna
danych programu
CPU CPU
pamięć
8 12
8
danych
14
16
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
47
Schemat przedstawia zestaw startowy oparty o mikrokontroler. Przeanalizuj schemat
i na jego podstawie rozwiąż zadania
1
3
2
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) I2C.
d) 1 Wire.
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego
48
20. Diody LED zostały dołączone do
a) magistrali danych.
b) portu równoległego.
c) portu szeregowego.
d) interfejsu I2C.
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego
49
KARTA ODPOWIEDZI
ImiÄ™ i nazwisko & & & & & & & & & & & & & & & & & & & & ..
Instalowanie sterowników i regulatorów mikroprocesorowych
Zakreśl poprawną odpowiedz.
Nr
Odpowiedz Punkty
zadania
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
50
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
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego
51
Wyszukiwarka