„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
MINISTERSTWO EDUKACJI
NARODOWEJ
Grzegorz Żegliński
Piotr Cierzniewski
Projektowanie i
montaż układów mikroprocesorowych
311[37].Z1.02
Poradnik dla ucznia
Wydawca
Instytut Technologii Eksploatacji – Państwowy Instytut Badawczy
Radom 2006
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
1
Recenzenci:
dr Jacek Buko
mgr inż. Adam Majtyka
Opracowanie redakcyjne:
dr inż. Grzegorz Żegliński
Konsultacja:
mgr inż. Hanna Grządziel
mgr inż. Andrzej Zych
Korekta:
Poradnik stanowi obudowę dydaktyczną programu jednostki modułowej 311[37].Z1.02.
Projektowanie i montaż układów mikroprocesorowych zawartego w modułowym programie
nauczania dla zawodu technik telekomunikacji.
Wydawca
Instytut Technologii Eksploatacji – Państwowy Instytut Badawczy, Radom 2006
„
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. Mikrokontroler 8051
7
4.1.1. Materiał nauczania
7
4.1.2. Pytania sprawdzające
10
4.1.3. Ćwiczenia
10
4.1.4. Sprawdzian postępów
11
4.2. Układ mikroprocesorowy
12
4.2.1. Materiał nauczania
12
4.2.2. Pytania sprawdzające
15
4.2.3. Ćwiczenia
15
4.2.4. Sprawdzian postępów
16
4.3. Klawiatura i układy wyświetlania
17
4.3.1. Materiał nauczania
17
4.3.2. Pytania sprawdzające
20
4.3.3. Ćwiczenia
20
4.3.4. Sprawdzian postępów
25
4.4. Urządzenia we/wy. Magistrala I
2
C.
26
4.4.1. Materiał nauczania
26
4.4.2. Pytania sprawdzające
32
4.4.3. Ćwiczenia
33
4.4.4. Sprawdzian postępów
37
4.5. Projektowanie i uruchamianie układu mikroprocesorowego
38
4.4.1. Materiał nauczania
38
4.4.2. Pytania sprawdzające
44
4.4.3. Ćwiczenia
44
4.4.4. Sprawdzian postępów
45
5. Sprawdzian osiągnięć
46
6. Literatura
54
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
3
1. WPROWADZENIE
Przedstawiony poradnik będzie Ci pomocny w przyswajaniu wiedzy z zakresu projektowania i
montażu układów mikroprocesorowych opartych na mikrokontrolerach z rodziny '51. Wiedzę i
umiejętności z dobyte można stosować do konstrukcji układów opartych na mikrokontrolerach
AVR, PIC i innych.
Poradnik ten zawiera:
1. Wymagania wstępne, czyli wykaz niezbędnych umiejętności i wiedzy, które powinieneś mieć
opanowane, aby przystąpić do realizacji tej jednostki modułowej.
2. Cele kształcenia tej jednostki modułowej.
3. Materiał nauczania (rozdział 4) umożliwia samodzielne przygotowanie się do wykonania ćwiczeń
i zaliczenia sprawdzianów. Wykorzystaj do poszerzenia wiedzy wskazaną literaturę oraz inne
źródła informacji. Obejmuje on również ćwiczenia, które zawierają:
−
wykaz materiałów, narzędzi i sprzętu potrzebnych do realizacji ćwiczenia,
−
pytania sprawdzające wiedzę potrzebną do wykonania ćwiczenia,
−
sprawdzian teoretyczny,
−
sprawdzian umiejętności praktycznych.
4. Przykład zadania/ćwiczenia oraz zestaw pytań sprawdzających Twoje opanowanie wiedzy
i umiejętności z zakresu całej jednostki. Zaliczenie tego ćwiczenia jest dowodem osiągnięcia
umiejętności praktycznych określonych w tej jednostce modułowej. Wykonując sprawdzian
postępów powinieneś odpowiadać na pytanie tak lub nie, co oznacza, że opanowałeś materiał
albo nie.
Jeżeli masz trudności ze zrozumieniem tematu lub ćwiczenia, to poproś nauczyciela
o wyjaśnienie i ewentualne sprawdzenie, czy dobrze wykonujesz daną czynność. Po przerobieniu
materiału spróbuj zaliczyć sprawdzian z zakresu jednostki modułowej. Do realizacji programu użyj
kompilatora BASCOM .
Jednostka modułowa: Projektowanie i montaż układów mikroprocesorowych, której treści teraz
poznasz przygotuję Cię do zapoznania się z eksploatacją cyfrowych systemów telekomunikacyjnych,
eksploatacją systemów teleinformatycznych, programowaniem abonenckich urządzeń końcowych i
obsługą systemów telekomunikacyjnych.
Bezpieczeństwo i higiena pracy
W czasie pobytu w pracowni musisz przestrzegać regulaminów, przepisów bhp 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
311[37].Z1
Projektowanie prostych układów sterowania
mikroprocesorowego
311[37].Z1.01
Programowanie w języku Asembler
311[37].Z1.02
Projektowanie i montaż układów
mikroprocesorowych
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 „Projektowanie i montaż układów
mikroprocesorowych” powinieneś umieć:
−
kodować liczby w różnych kodach liczbowych,
−
realizować operacje arytmetyczne i logiczne na liczbach dwójkowych i szesnastkowych,
−
klasyfikować cyfrowe układy scalone,
−
porównywać własności cyfrowych układów scalonych wykonanych w różnych technologiach,
−
przeczytać oznaczenia i symbole graficzne elementów i układów cyfrowych,
−
rozpoznawać bramki logiczne i cyfrowe bloki funkcjonalne na podstawie symboli graficznych i
tabel prawdy albo tabel stanów,
−
przeanalizować działanie elementów i cyfrowych bloków funkcjonalnych,
−
wykonywać proste operacje arytmetyczne i logiczne za pomocą układów arytmetycznych,
−
definiować parametry elementów i układów cyfrowych,
−
łączyć układy sekwencyjne w bloki,
−
klasyfikować pamięci półprzewodnikowe,
−
porównywać różne typy pamięci półprzewodnikowych,
−
łączyć scalone układy pamięci w bloki,
−
obsłużyć wybrany program wspomagający projektowanie układów logicznych,
−
programować programowalne układy logiczne,
−
określać zasady łączenia układów cyfrowych z urządzeniami wejściowymi i wyjściowymi,
−
interpretować zjawiska związane z przesyłaniem sygnałów cyfrowych na różne odległości,
−
projektować proste układy cyfrowe,
−
korzystać z katalogów i innych różnych źródeł informacji na temat cyfrowych elementów i
układów elektronicznych,
−
korzystać z różnych źródeł informacji,
−
scharakteryzować podstawowe zasoby mikroprocesora (pamięci programu, porty, liczniki,
system przerwań, pamięci danych, UART, sposoby poboru mocy),
−
charakteryzować podstawowe zasoby mikrokontrolera (pamięci programu, porty, liczniki,
system przerwań, pamięci danych, UART, sposoby poboru mocy),
−
pisać algorytm rozwiązujący zadany problem,
−
pisać średniorozgałęziony program realizujący zadany algorytm z wykorzystaniem różnych
zasobów mikroprocesora,
−
uruchamiać program (zasemblować, załadować do pamięci, zbadać funkcjonowanie,
zweryfikować działanie programu pod względem formalnym i funkcjonalnym),
−
przestrzegać wymagań określonych przez producenta dotyczących warunków zasilania
mikroprocesora.
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
6
3. CELE KSZTAŁCENIA
W wyniku realizacji programu jednostki modułowej powinieneś umieć:
−
narysować schemat ideowy układu sterowania,
−
dobrać czujniki, elementy wykonawcze, przetworniki do współpracy z mikroprocesorem,
−
napisać program obsługujący układ sterowania,
−
zaprogramować urządzenia współpracujące z mikroprocesorem,
−
podłączyć pamięci zewnętrzne do mikroprocesora,
−
zarejestrować i zinterpretować wykresy czasowe obrazujące realizację wybranych rozkazów,
−
zmontować, uruchomić i zaprezentować układ sterowania,
−
przestrzegać wymagań określonych przez producenta dotyczących warunków zasilania
i zabezpieczania urządzeń,
−
posłużyć się normami, dokumentacja techniczną, instrukcjami, schematami montażowymi
w zakresie treści tego modułu,
−
zastosować przepisy bezpieczeństwa i higieny pracy oraz przeciwpożarowe przy montażu
i obsłudze urządzeń.
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
7
4. MATERIAŁ NAUCZANIA
4.1. Mikrokontroler
4.1.1. Materiał nauczania
Mikrokontroler jest układ zawierający w jednostkę centralną CPU oraz układy funkcjonalne
w swojej strukturze (np.: pamięć RAM, układ we/wy, przetwornik A/C itp.). Jedne
z najpopularniejszych mikrokontrolerów należą zwykle do rodzin: '51, AVR, czy też PIC.
Rys. 1. Mikroprocesor i mikrokontroler [12]
Mikrokontrolery jednoukładowe '51
Mikrokontrolery rodziny '51 różnią się ze względu na:
−
wielkość pamięci RAM,
−
wielkość pamięci EEPROM (niektóre wersje są z pamięcią ROM),
−
ilość portów we/wy,
−
ilość liczników/zegarów,
−
typ złącza szeregowego,
−
występowanie układu "watchdoga",
−
dodatkowe cechy jak: ilość źródeł przerwań, występowanie przetwornika A/C, pamięć ROM.
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
8
Typowymi przedstawicielami mikrokontrolerów rodziny '51 są:
−
8031 (wersja z zewnętrzną pamięcią programu),
−
8051 (wersja z pamięcią programu ROM),
−
89C51 (wersja z pamięcią EEPROM 4KB, , wersja 40 nóżkowa, tylko dwa porty we/wy),
−
89C2051 (wersja z pamięcią EEPROM 2KB, wersja 20 nóżkowa, tylko dwa porty we/wy).
Parametry mikrokontrolera 8051:
−
wewnętrzna pamięć typu ROM -4KB (mikroprocesor 89C51 posiada pamięć FEEPROM,
87C51 posiada pamięć EPROM),
−
wewnętrzna pamięć RAM- 128 bajtów,
−
możliwość adresowania 64KB pamięci zewnętrznej,
−
4 porty we/wy - ośmiobitowe,
−
dwa układy licznikowe (po 16 bitów każdy),
−
5 źródeł przerwań (układ przerwań dwupoziomowy),
−
częstotliwość zegarowa od 0 do 33 MHz,
−
tryby pracy z redukcją poboru mocy,
−
występuje w wersjach DIP-40, LCC-44, QFP-44.
a)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
P1.0
P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
RST
P3.0/RxD
P3.1/TxD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
XTAL2
XTAL1
VSS
VCC
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
EA
ALE
PSEN
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
b)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
40
39
38
37
36
35
34
33
32
31
30
29
28
27
26
25
24
23
22
21
T2/P1.0
T2EX/P1.1
P1.2
P1.3
P1.4
P1.5
P1.6
P1.7
RST
P3.0/RxD
P3.1/TxD
P3.2/INT0
P3.3/INT1
P3.4/T0
P3.5/T1
P3.6/WR
P3.7/RD
XTAL2
XTAL1
VSS
VCC
P0.0
P0.1
P0.2
P0.3
P0.4
P0.5
P0.6
P0.7
EA
ALE
PSEN
P2.7
P2.6
P2.5
P2.4
P2.3
P2.2
P2.1
P2.0
Rys.2. Wyprowadzenia mikrokontrolera: a) 80C31 (80C51), b) 80C32 (80C52).
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
9
Tabela 1. Zestawienie wybranych mikrokontrolerów rodziny '51
Typ
mikrokontrolera
ROM
[KB]
EEPROM
[KB]
RAM
[B]
Porty
we/wy
źródła
przerwań
port
szeregowy
liczniki/
zegary
Inne
80C31
-
-
128
4
5/2
UART
2
-
80C51
4
-
128
4
5/2
UART
2
89C51
-
4
128
4
5/2
UART
2
80CL31
-
-
128
4
13/2
UART
2
80CL51
4
-
128
4
13/2
UART
2
80C32
-
-
256
4
6/2
UART
3
80C52
8
-
256
4
6/2
UART
3
89C52
-
8
256
4
6/2
UART
3
80CL32
-
-
256
4
14/2
UART
3
80CL52
8
-
256
4
14/2
UART
3
89C54
-
16
256
4
6/2
UART
3
89C55
-
20
256
4
6/2
UART
3
80C550
-
-
128
4
7/2
UART
2
A/C
8-bitowy,
watchdog
83C550
4
-
128
4
7/2
UART
2
A/C
8-bitowy,
watchdog
89C1051
-
1
64
2
3
UART
1
DIL-20
89C2051
-
2
128
2
5/2
UART
2
DIL-20
80C410
-
-
128
4
13/2
I2C
2
interfejs
I2C
8051FA
-
-
256
4
6/2
UART
3+PCA
Budowa mikrokontrolera 80C32 została przedstawiona na rys.3. Jeśli mikrokontroler posiada
w nazwie lub w karcie katalogowej symbol OTP (z ang. one time programming) oznacza to, że jest
on przeznaczony do jednorazowego zaprogramowania. Dużą popularność zyskały małe
mikrokontrolery z rodziny '51. Przykładem jest 20-nóżkowy układ 89C2051 posiadający dwa porty
we/wy i 2KB pamięci FEEPROM (pamięć programu). W układach '51 port 3 jest portem
specjalnym, przeznaczonym do obsługi timerów, portu szeregowego, przerwań. W niektórych
wersjach np.: 80C32, przeznaczone są również niektóre linie portu P1. Wejścia ALE i PSEN
w wersjach 89C51 i 89C52 są przeznaczone do programowania pamięci FEEPROM tych
mikrokontrolerów.
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
10
RAM
ROM
Uk
ład
przerwa
ń
CPU
oscylator
Porty we/wy
Port
szeregowy
Timer0
Timer1
Timer2
Magistrala wewn
ętrzna
Vcc
INT0
INT1
P0 P1 P2 P3
TxD
RxD
P3.1
P3.0
T0
P3.4
T1
T2
T2Ex
P3.5
P1.0
P1.2
RST
XTAL1
XTAL2
EA
ALE
PSEN
WR
P3.6
RD
P3.7
Rys.3. Budowa układu 80C32 (80C52)
1
2
3
4
5
6
7
8
9
10
20
19
18
17
16
15
14
13
12
11
RST
P3.0
P3.1
XTAL2
XTAL1
P3.2/INT0
P3.1/INT1
P3.4/T0
P3.5/T1
GND
VCC
P1.7
P1.6
P1.5
P1.4
P1.3
P1.2
P1.1/AIN-
P1.0/AIN+
P3.7
Rys.4. Wyprowadzenia mikrokontrolera 89C2051.
4.1.2. Pytania sprawdzające
Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.
1. Jaka jest różnica między mikroprocesorem, a mikroprocesorem jednoukładowym?
2. Jakie są zalety stosowania mikrokontrolerów?
3. Jeśli program do obsługi mikroprocesora '51 zajmuje 715 bajtów, a układ wymaga jednego portu
ośmiobitowego we/wy, który z układów należy wybrać do realizacji układu?
4. Czy mikrokontroler 89C2051 może posiadać program w pamięci zewnętrznej EPROM?
4.1.3. Ćwiczenia
Ćwiczenie 1
Układ czujnika temperatury wymaga obsługi dwóch linii we/wy oraz wyświetlacza
obsługiwanego przez złącze szeregowe. Program do obsługi po kompilacji zajmuje ok. 6KB.
Wybierz układ mikrokontrolera do realizacji takiego systemu?
Sposób wykonania ćwiczenia
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
11
Aby wykonać ćwiczenie powinieneś:
1) wykorzystać tabelę 1 i porównać parametry mikroprocesorów,
2) uzasadnić pisemnie wybór,
3) wskazać alternatywne rozwiązanie.
Wyposażenie stanowiska pracy:
−
komputer z dostępem do sieci internet.
Ćwiczenie 2
Dla wskazanej przez nauczyciela dokumentacji katalogowej producenta mikroprocesora
89C4051:
−
określ parametry mikrokontrolera,
−
organizację pamięci RAM,
−
wejścia programujące układu.
−
porównać układ 89C4051 z układem 89C2051.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie powinieneś:
1) wypisać z noty katalogowej informację o wielkości pamięci RAM, pamięci przeznaczonej na
program, ilość portów we/wy, ilość timerów, typ złącza szeregowego, napięcie zasilania,
częstotliwość pracy,
2) określić na podstawie katalogowej mapy pamięci, jaka część zajęta jest przez rejestry specjalne,
3) ile rejestrów specjalnych znajduje się w układzie 89C4051,
4) odnaleźć piny odpowiedzialne za obsługę pamięci programowej flash,
5) wykorzystując fragmenty katalogowe 89C2051 i 89C4051, porównać wyprowadzenia układów,
oraz parametry z punktu 1 i tabeli 1.
6) wskazać producenta takiego układu, wykorzystując wyszukiwarki w sieci internet.
Wyposażenie stanowiska pracy:
−
nota katalogowa układu 89C2051,
−
nota katalogowa układu 89C4051,
−
komputer z dostępem do sieci internet.
4.1.4. Sprawdzian postępów
Czy potrafisz:
Tak
Nie
1) zdefiniować pojęcie mikrokontrolera?
2) odróżnić mikrokontroler od mikroprocesora?
3) wybrać mikrokontroler do realizacji projektu posiadając dane o wielkości
programu i układach współpracujących?
4) odróżnić mikroprocesor 89C2051 od 89C51?
5) określić podstawowe cechy i parametry mikrokontrolera na podstawie noty
katalogowej producenta?
6) rozpoznać wyprowadzenia mikrokontrolera?
7) odnaleźć rejestry mikrokontrolera na "mapie" pamięci RAM?
8) posłużyć się internetem w celu wyszukania mikrokontrolera na stronie
producenta?
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
12
4.2. Układ mikroprocesorowy
4.2.1. Materiał nauczania
Rezonator kwarcowy jest to filtr rezonansowy RLC i elementem generatora zegarowego dla
mikrokontrolera. Niektóre mikrokontrolery posiadają generator wewnętrzny, jak również można
dołączyć rezonator zewnętrzny. Producent mikrokontrolera określa wartość typową rezonatora, jak
również przedział częstotliwości dla rezonatorów.
W praktyce częstotliwość ta może wynosić od
1,2MHz do 12...16MHz, na rynku spotyka się także wersje procesorów pracujące przy wyższych
częstotliwościach nawet do 40MHz. Wartość kondensatorów C1 i C2 dobiera się z przedziału
22...40pF.
Rys.5. Podłączanie rezonatora kwarcowego w mikrokontrolerze [3]
W mikrokontrolerze przewidziano możliwość taktowania z użyciem generatora zewnętrznego za
pośrednictwem układu buforującego, co pokazano na rys.6.
Rys.6. Podłączanie generatora zewnętrznego do mikrokontrolera [3]
Układ zerowania (RESET) jest niezbędnym obwodem do prawidłowej pracy mikrokontrolera.
Obwód ten zapewnia w momencie włączenia zasilania ustawienie stanów początkowych na liniach
portów, ustawienie licznika rozkazów (na 0000H), ustawienie początkowe rejestrów. Producent
mikrokontrolera określa czas zerowania oraz stan zerujący (niski/wysoki).
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
13
Rys.7. Podłączanie przycisku RESET do mikrokontrolera [3]
Układ zasilania najczęściej projektowany jest na bazie stabilizatora scalonego 7805 (niskie koszty)
dla układów zasilanych napięciem +5V. Zasilacz należy zaopatrzyć w odpowiednie kondensatory
filtrujące, najczęściej elektrolityczne. Przetworniki stosowane w układach mikroprocesorowych,
bądź inne układy wymagają stosowania często wyższych napięć zasilających lub zasilania
symetrycznego. Stąd stosowane są układy 78xx dla napięć dodatnich lub 79xx dla napięć ujemnych
dla typowych wartości (odpowiednio w V) xx= 5, 9, 12, 15, czasem wykorzystuje się zasilacze dla
xx=24V. Układy te posiadają różne wersje dla maksymalnych prądów wyjściowych.
Rys.8. Zasilacz dla mikrokontrolerów [3]
Obwody podtrzymania napięcia w przypadku zaniku napięcia pochodzącego z sieci zasilającej
mają zadanie bezzwłocznie przełączyć zasilanie bateryjne.
Rys.9. Układ podtrzymania napięcia zasilania z wykorzystaniem układu ICL 7673 [3]
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
14
Dołączanie równoległej pamięci zewnętrznej
Mikrokontroler z rodziny 51 może posiadać pamięć typu "flash" przeznaczoną na pamięć programu.
Jeśli mikroprocesor nie posiada pamięci typu "flash" lub jest ona nie wystarczająca to istnieje
konieczność dołączenia pamięci zewnętrznej. Aby mikroprocesor mógł startować z zewnętrznej
pamięci typu ROM muszą istnieć sygnały PSEN , RD ,WR .
Organizacja tego typu wymaga podłączenia zewnętrznej pamięci RAM. Stworzenie magistrali
adresowej, danych i sterującej wymaga zastosowania rejestru zatrzaskowego z uwagi na ograniczoną
liczbę portów wyjściowych mikrokontrolera. Magistrala adresowa jest współdzielona z magistralą
danych poprzez zatrzask przetrzymujący młodsze 8 bitów adresowych. W przedstawionym systemie
rys.9 posiadamy 8 bitową magistralę danych (D0-D7), 16 bitową magistralę adresową (A0-A15)
oraz magistralę sterującą utworzoną przez sygnały PSEN , RD ,WR , ALE .
Układ mikroprocesorowy składa się dodatkowo z układów: U1 74ls573 zatrzask, U2 62256 pamięć
typu RAM, U3 27C512 pamięć EPROM. Układ ten posiada 32KB pamięci RAM i 62KB pamięci
programu. Niektóre mikrokontrolery nie posiadają możliwości startowania korzystając z zewnętrznej
pamięci np.: małe mikrokontrolery ATMEL 89CX051.
Wejście EA w mikrokontrolerze 8051 może startować z pamięci wewnętrznej jeśli podamy stan
wysoki na to wejście. Pamięć programu jest sumą pamięci wewnętrznej i zewnętrznej.
Rys.10. Współpraca mikrokontrolera z pamięciami równoległymi [3]
Do kontrolerów serii '51 można dołączyć maksymalnie 64kB zewnętrznej pamięci danych.
Można więc zastosować: - 2 kostki 62256 (2x 32kB = 64kB) lub 8 kostek 6264 (8x 8kB =
64kB), 32 kostki 6116 (32x 2kB = 64kB). W przypadku trybu pracy EA =1 łącznie możemy
zaadresować nie więcej niż 64kB pamięci.
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
15
Rys.11. Funkcjonalny układ mikroprocesorowy na mikrokontrolerze 8051 z programem w układzie EPROM 27C512
4.2.2. Pytania sprawdzające
Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.
1. Jakie elementy są niezbędne aby uruchomić układ mikrokontrolera 8051?
2. Jakie elementy są niezbędne aby uruchomić układ mikrokontrolera 89c2051?
3. Kiedy istnieje konieczność podłączenia zewnętrznej pamięci EPROM?
4. Jeśli w układzie mikroprocesorowym zastosowano pamięć 27C128 i pamięć RAM 62128, czy
wystarczy to do uruchamiania programu o rozmiarze 22KB?
5. Jaki maksymalny obszar pamięci RAM i EPROM można zaadresować w układzie jak na rys.9?
4.2.3. Ćwiczenia
Ćwiczenie 1
Podłączyć układ pamięci RAM 6116 i pamięci EPROM 27C64 z wykorzystaniem układu
zatrzasku 74ls373 do mikrokontrolera 8051.?
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie powinieneś:
1) wykorzystać noty katalogowe elementów,
Ćwiczenie 2
Narysuj schemat funkcjonalnego układu mikroprocesorowego opartego na mikrokontrolerze
89c2051.
Sposób wykonania ćwiczenia
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
16
Aby wykonać ćwiczenie powinieneś:
1) wykorzystać notę katalogową mikrokontrolera,
2) określić na podstawie noty katalogowej sposób podłączenia rezonatora kwarcowego,
3) podłączyć układ zerowania
4) podłączyć układ zasilania
Wyposażenie stanowiska pracy:
−
nota katalogowa układu 89C2051,
−
komputer z dostępem do sieci internet.
Ćwiczenie 3
Uruchom układ mikroprocesorowy z obwodem zerowania i rezonatora kwarcowego.
Wykorzystaj zaprogramowany mikroprocesor 89c2051, który aktywuje na stałe linię portu P1.0.
Podłącz diodę do linii portu z wykorzystaniem rezystora ustalającego wartość prądu.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie powinieneś:
1) narysuj badany obwód
2) oblicz wartość rezystora
3) podłącz obwód.
4) zmierz przebieg zegarowy, oblicz częstotliwość przebiegu zegarowego.
Wyposażenie stanowiska pracy:
−
nota katalogowa układu 89C2051,
−
stanowisko do uruchamiania mikroprocesora 89c2051
−
zasilacz
−
elementy elektroniczne
−
oscyloskop
Przykładowy program do ćwiczenia:
Set P1.0
'ustawienie stanu wysokiego na linii P1.0
Do
'rozpoczęcie wykonywania pętli
Reset P1.0
'zapalenie diody na linii P1.0
Loop
4.2.4. Sprawdzian postępów
Czy potrafisz:
Tak
Nie
1) określić elementy tworzące układ mikroprocesorowy
2) podłączyć rezonator do mikrokontrolera?
3) podłączyć układ zerowania?
4) podłączyć pamięć EPROM do mikroontrolera?
5) podłączyć pamięć RAM i EPROM do mikrokontrolera?
7) narysować schemat zasilacza dla układu mikroprocesorwego?
8) odnaleźć rejestry mikrokontrolera na "mapie" pamięci RAM?
9) uruchomić prosty układ mikroprocesorowy na mikrokontrolerze '51?
10) zaobserwować przebieg zegarowy w systemie mikroprocesorowym?
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
17
4.3. Klawiatura i układy wyświetlania
4.3.1. Materiał nauczania
Klawiatura umożliwia nam wprowadzenie przez nas danych i poleceń mikrokontrolera.. Może
być zbudowana jako połączenie kilku przycisków wspólnym końcem lub poszczególne przyciski
mogą być zorganizowane w postaci matrycy. W zależności od dostępności portów wejściowych i
wymaganej liczby klawiszy stosuje się różnego
rodzaju układy wejściowe. Na przykład port Pl ma
tzw. wewnętrzne rezystory podciągające {pull-up). Dzięki tej właściwości można dołączyć
klawiaturę 8-stykową lub matrycową 4x4. Program do obsługi klawiatury matrycowej ustawia
kolejno stan logiczny 0 na poszczególnych liniach portu Pl (od P1.4 do P1.7) i odczytuje stan
linii od P1.0 do P1.3. Naciśnięty przycisk wymusza stan 0.
Rys. 12. Podłączenie klawiatury ośmiostykowej do portu P1 mikrokontrolera
Rys.13. Podłączenie klawiatury 4x4 do portu P1 mikrokontrolera
Gdy port Pl jest już zajęty, to układ klawiatury podłączamy do zewnętrznego portu
wejściowego i wtedy układ taki jest traktowany jako zewnętrzny układ wejściowy (zewnętrzna
pamięć danych). Takie rozwiązanie wymaga dodatkowych elementów w postaci dekodera adresów,
rejestrów wejściowych i wyjściowych oraz wydłuża program do obsługi klawiatury.
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
18
Rys. 14. Podłączenie klawiatury 4x4 z wykorzystaniem układu specjalizowanego 74C922 [11]
Elementy sygnalizacyjne, oparte na diodach świecących typu LED, są podstawowymi
elementami do wizualizacji stanów wyjściowych oraz komunikacji z użytkownikiem. Do tych
elementów zaliczymy pojedyncze diody lub zespoły diod LED, wyświetlacze 7-segmentowe lub
wielosegmentowe oraz matryce diodowe. Pojedyncze diody lub wyświetlacze podłącza się do
portów mikrokontrolera lub do zewnętrznych układów wyjściowych poprzez bufory mocy, aby
zapewnić odpowiedni prąd świecenia. Wyświetlacze w zależności od liczby segmentów dołącza
się do portów mikrokontrolera lub do zewnętrznych układów wyjściowych poprzez odpowiednie
układy dekodujące Bezpośrednio do portu (rys. 15) można podłączyć tylko jeden wyświetlacz 7-
segmentowy typu WA (wspólna anoda). Na rys. 16 przedstawiono rozwiązanie podłączenia
jednego wyświetlacza LED do portu Pl z zastosowaniem gotowych dekoderów 7447.
Rys. 15. Podłączenie wyświetlacza siedmiosegmentowego do portu P1 mikrokontrolera [11]
Rys. 16. Podłączenie wyświetlacza siedmiosegmentowego z wykorzystaniem dekodera 7447 [11]
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
19
Rys.17. Podłączenie wyświetlaczy siedmiosegmentowych do mikrokontrolera [3]
Wyświetlacze LCD (inaczej pola odczytowe) są to urządzenia w większości przypadków
samodzielne, które zawierają swój własny układ mikroprocesorowy. Z tego względu o wiele
łatwiej obsługiwać taki wyświetlacz niż wyświetlacz typu LED. Wyświetlacz tekstowy
(alfanumeryczny) LCD jest traktowany jak zewnętrzne urządzenie wejścia/wyjścia i może być
podłączony do systemu poprzez wewnętrzny port mikrokontrolera lub jako zewnętrzne urządzenia
wejścia/wyjścia. Wyświetlacze LCD mogą pracować w trybie 4-bitowym lub 8-bitowym. Na Rys. 23
przedstawiono sposób podłączenia wyświetlacza LCD jako układu 8-bitowego. Obsługa
programowa takiego układu polega na wysyłaniu odpowiednich danych i rozkazów do układu LCD.
Przeważnie większość tekstowych wyświetlaczy LCD pod względem rozkazów jest kompatybilna
z wyświetlaczem, opartym na kontrolerze HD44780.
Układ wyświetlacza LCD zajmuje cztery kolejne adresy w przestrzeni adresowej. Przy
podłączeniu wyświetlacza jako zewnętrznego urządzenia wejścia/wyjścia należy pamiętać
o minimalnym czasie trwania sygnałów /RD, /WR i /CS, które są generowane przez mikrokontroler.
Rys.18 Podłączenie wyświetlacza LCD do mikrokontrolera
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
20
Rys.19. Podłączenie wyświetlacza LCD do mikrokontrolera z wykorzystaniem trybu 4 bitowego
4.3.2. Pytania sprawdzające
Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.
1. Który z portów mikrokontrolera 89c4051 przeznaczyłbyś do podłączenia klawiatury 4
przyciskowej?
2. Wyjaśnij rolę układu 74c922?
3. Narysuj układ mikroprocesorowy na mikrokontrolerze 89c2051 z obwodem zerowania,
rezonatora i klawiatury cztero-przyciskowej?
4. Wyjaśnij zasadę podłączania wskaźnika siedmiosegmentowego do mikrokontrolera ?
5. W jakim zakresie powinne zawierać się wartości rezystorów zabezpieczających i dlaczego?
6. Narysuj schemat podłączenia wskaźnika siedmiosegmentowego do mikrokontrolera 89c2051 w
układzie wspólna katoda?
7. Narysuj schemat systemu mikroprocesorowego na mikrokontrolerze 8051,z klawiaturą ośmio-
przyciskową i wyświetlaczem LCD?
4.3.3. Ćwiczenia
Ćwiczenie 1
Uruchom układ mikroprocesorowy z obwodem zerowania i rezonatora kwarcowego.
Wykorzystaj zaprogramowany mikroprocesor 89c2051, który obsługuje klawiaturę na portach P1.2-
P1.5 Podłącz diodę do linii portu P1.7 z wykorzystaniem rezystora ustalającego wartość prądu
(ćwiczenie 3 z p.4.2.3).
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie powinieneś:
1) narysuj badany obwód
2) podłącz obwód.
3) zbadaj reakcję przycisków na portach obserwując stan diody.
Wyposażenie stanowiska pracy:
−
nota katalogowa układu 89C2051,
−
stanowisko do uruchamiania mikroprocesora 89c2051
−
zasilacz
−
elementy elektroniczne
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
21
Przykładowy program:
Set P1.7
'ustaw linię 0 portu P1 w stan wysoki
Do
If P1.2 = 0 Then
'sprawdzenie stanu klawisza na linii P1.2
Reset P1.7
'zapal diodę na 1s
Wait 1
Set P1.7
'zgaszenie diody
End If
If P1.3 = 0 Then
'sprawdzenie stanu klawisza na linii P1.3
Reset P1.7
'zapal diodę na 2s
Wait 2
Set P1.7
'zgaszenie diody
End If
If P1.4 = 0 Then
'sprawdzenie stanu klawisza na linii P1.4
Reset P1.7
'zapal diodę na 1s.
Wait 1
Set P1.7
'zgaś diodę na 1s.
Wait 1
Reset P1.7
'zapal diodę na 1s.
Wait 1
Set P1.7
'zgaś diodę.
End If
If P1.5 = 0 Then
'sprawdzenie stanu klawisza na linii P1.5
Reset P1.7
'zapal diodę na 1s.
Wait 1
Set P1.7
'zgaś diodę na 2s.
Wait 2
Reset P1.7
'zapal diodę na 3s.
Wait 3
Set P1.7
'zgaś diodę
End If
Loop
Ćwiczenie 2
Podłącz wskaźnik siedmiosegmentowy do zaprogramowanego układu mikrokontrolera 89c2051
do portu P1. Zgodnie z tabelą:
P.1.0
a
P.1.1
b
P.1.2
c
P.1.3
d
P.1.4
e
P.1.5
f
P.1.6
g
P.1.7.
kropka
Po wciśnięciu przycisk RESET mikrokontroler wygeneruje w odstępach 2 sekundowych
3 liczby.
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
22
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie powinieneś:
1) narysuj badany obwód
2) podłącz obwód.
3) wciśnij przycisk reset
4) obserwuj stan wyświetlacza. Wyniki zanotuj
Wyposażenie stanowiska pracy:
−
nota katalogowa układu 89C2051,
−
stanowisko do uruchamiania mikroprocesora 89c2051
−
zasilacz
−
elementy elektroniczne
Przykładowy program do ćwiczenia:
P1 = 255
'linie wyświetlacza są w stanie wysokim- stan nieaktywny
Wait 2
'opóźnienie 2 sekundy
P1 = 121
'generowana jest liczba 1
Wait 2
'opóźnienie 2 sekundy
P1 = 2
'generowana jest liczba 6
Wait 2
'opóźnienie 2 sekundy
P1 = 0
'generowana jest liczba 8
Wait 2
'opóźnienie 2 sekundy
P1= 255
'linie wyświetlacza są w stanie wysokim- stan nieaktywny
Tabela 2. Tabela działania wyświetlacza
Segment
Cyfra
g
f
e
d
c
b
a
wartość
0
1
0
0
0
0
0
0
64
1
1
1
1
1
0
0
1
121
2
0
1
0
0
1
0
0
36
3
0
1
1
0
0
0
0
48
4
0
0
1
1
0
0
1
25
5
0
0
1
0
0
1
0
18
6
0
0
0
0
0
1
0
2
7
1
1
1
1
0
0
0
120
8
0
0
0
0
0
0
0
0
9
0
0
1
0
0
0
0
32
Ćwiczenie 3
Napisać program w asemblerze testujący wskaźnik siedmiosegmentowy z ćwiczenia 1.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie powinieneś:
1) narysować schemat blokowy działania programu.
2) napisać program w asemblerze
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
23
3) skompilować program.
4) przetestować program na emulatorze 89c2051.
5) wygenerować plik .hex dla programatora
6) zaprogramować z użyciem programatora mikroprocesor.
7) przetestować działanie programu w układzie
Wyposażenie stanowiska pracy:
−
nota katalogowa układu 89C2051,
−
stanowisko do uruchamiania mikroprocesora 89c2051
−
zasilacz
−
elementy elektroniczne
−
emulator 89c2051
−
programator mikrokontrolerów 89c2051
Ćwiczenie 4
Podłącz wyświetlacz LCD do portu P1 mikrokontrolera 89c2051 zgodnie ze schematem na
rys. 19 i uruchom program testowy znajdujący się w pamięci "flash" mikrokontrolera.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie powinieneś:
1) narysuj badany obwód
2) podłącz obwód.
3) wciśnij przycisk reset
4) obserwuj stan wyświetlacza. Wyniki zanotuj
Wyposażenie stanowiska pracy:
−
nota katalogowa układu 89C2051,
−
stanowisko do uruchamiania mikroprocesora 89c2051
−
zasilacz
−
elementy elektroniczne
−
wyświetlacz LCD oparty na mikrokontrolerze HD44780.
Przykładowy program [16]:
Config Lcd = 40 * 2
'wybór rodzaju wyświetlacza LCD- dwuwierszowy 40 znaków
Cls
'inicjalizacja wyświetlacza
Lcd "program testowy"
'wyświetlenie pierwszej części napisu
Lowerline
'ustawienie kursora w dolnym wierszu
Lcd "cwiczenie 4"
'wyświetlenie drugiej części napisu
End
Przyłączenie wyświetlacza LCD do mikrokontrolera wykonuje się w opcji "hardware simulation" w
kompilatorze BASCOM.
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
24
Ćwiczenie 5
Napisać program w asemblerze testujący wskaźnik LCD wyświetlając własne imię i nazwisko na
wyświetlaczu.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie powinieneś:
1) narysuj schemat blokowy działania programu.
2) napisz program w asemblerze
3) skompiluj program.
4) przetestuj program na emulatorze 89c2051.
5) wygeneruj plik .hex dla programatora
6) zaprogramuj z użyciem programatora mikroprocesor 89c2051.
7) przetestuj działanie programu w układzie
Wyposażenie stanowiska pracy:
−
nota katalogowa układu 89C2051,
−
stanowisko do uruchamiania mikroprocesora 89c2051
−
zasilacz
−
elementy elektroniczne
−
emulator 89c2051
−
programator mikrokontrolerów 89c2051
−
wyświetlacz LCD na mikrokontrolerze HD44780
−
tablica kodów mikrokontrolera i trybu pracy
Ćwiczenie 6
Zmodyfikuj program z ćwiczenia 4 wprowadzając przesuwanie napisu z lewej strony do prawej.
Przykład programu przesuwającego w prawo [16]:
Dim X As Byte
'deklaracja zmiennej pomocniczej jako bajtu
Config Lcd = 16 * 1 'deklaracja wyświetlacza jednowierszowego
Cls
'inicjalizacja wyświetlacza
Lcd "Kowalski "
For A = 1 To 225
'Pętla przesuwająca
Shiftlcd Right
'instrukcja przesuwająca
Next A
'zakończenie pętli For
Cls
End
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
25
4.3.4. Sprawdzian postępów
Czy potrafisz:
Tak
Nie
1) podłączyć klawiaturę złożoną z 4 przycisków do mikrokontrolera 89c2051?
2) podłączyć klawiaturę matrycową do mikrokontrolera?
3) pojedynczy segment wyświetlacza LED do mikrokontrolera?
4) uruchomić program do obsługi wyświetlacza LED ?
5)uruchomić program do obsługi klawiatury przyciskowej?
7) podłączyć linijkę LED do mikrokontrolera?
8) zmodyfikować program obsługi wyświetlacza LED?
9) podłączyć wyświetlacz LCD do mikrokontrolera?
10) uruchomić program obsługi wyświetlacza LCD?
11) dobierać rezystor dla wyświetlacza LED
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
26
4.4. Urządzenia we/wy. Magistrala I
2
C.
4.4.1. Materiał nauczania
Zewnętrzne urządzenia i układy można dołączyć do systemu mikroprocesorowego,
korzystając z portów mikrokontrolera lub z zewnętrznej szyny danych i szyny adresowej. Pierwsza
metoda zapewnia szybką wymianę danych i łatwość oprogramowania takiego połączenia, ale
wymagana jest odpowiednia liczba wolnych linii portów mikrokontrolera. W drugiej metodzie
układ lub urządzenie traktowane jest jako zewnętrzna pamięć danych. Podłączenie urządzenia
do zewnętrznej przestrzeni adresowej umożliwia dołączenie bardzo dużej liczby układów lub
urządzeń zewnętrznych. W tym przypadku wymagane jest istnienie zewnętrznej szyny adresowej
i danych oraz dekodera adresu. Zewnętrzne porty wejścia/wyjścia są najczęściej stosowanym
rozwiązaniem rozszerzenia możliwości układu mikroprocesorowego. Duża liczba dodatkowych
układów lub urządzeń dołączona jest do systemu właśnie poprzez zewnętrzne porty
wejścia/wyjścia. Korzystanie z wewnętrznego portu, np. Pl, bardzo ułatwia pisanie programu,
ponieważ port ten jest w wewnętrznej przestrzeni adresowej mikrokontrolera i zapis lub odczyt
portu wykonuje się jednym rozkazem oraz każdą linię portu Pl można ustawiać indywidualnie.
Zapis lub odczyt informacji z portu, umieszczonego w zewnętrznej przestrzeni adresowej, wymaga
użycia kilku rozkazów, co wydłuża program.
Układ 74HCT573 pełni rolę 8-bitowego portu wyjściowego, a 74HCT541 8-bitowego portu
wejściowego. Układy te zajmuje jeden adres w zewnętrznej przestrzeni adresowej mikrokontrolera.
Taki sam układ można zbudować z wykorzystaniem elementów 74HCT574 i 74HCT245.
Rys. 20. Sposób rozszerzenia portów we/wy z wykorzystaniem układów 74HCT573 i 74HCT541 [11]
We wszelkiego rodzaju układach sterowania bardzo często zachodzi konieczność
załączania i wyłączania elementów wykonawczych, jak np. przekaźników, elektro-zaworów,
silników małej mocy (są to elementy o charakterze rezystancyjno-indukcyjnym) oraz elementów
sygnalizacyjnych, np. żarówki, diody i wyświetlacze typu LED (są to elementy o charakterze
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
27
rezystancyjnym). Wydajność prądowa poszczególnych portów mikrokontrolera nie jest
wystarczająca do tych celów i należy zastosować dodatkowe układy wzmacniające, takie jak
bufory, bramki mocy i tranzystory wykonawcze. W zależności jaka liczba sygnałów wyjściowych jest
wymagana oraz jakie parametry prądowo-napięciowe ma element wykonawczy, można
zastosować układy wzmacniające, zbudowane na pojedynczych tranzystorach, tranzystorach
w układzie Darlingtona lub użyć scalonych układów mocy. Do najczęściej stosowanych
zaliczymy układy np. z serii ULN2000A/2800A. Są to układy, które zawierają w sobie stopień
mocy w układzie Darlingtona oraz diodę zabezpieczającą.
Rys. 21.Wykorzystanie układu mocy ULN2803 do sterowania silnikiem krokowym z 4 linii portu P1 8051 [11]
Kolejnym praktycznym przykładem wykorzystującym port mikrokontrolera jest czujnik stykowy,
którego praca wymaga ustalenie pewnej minimalnej wartości prądu w celu samooczyszczania styków
z osadzających się substancji chemicznych.
Rys. 22. Współpraca czujnika stykowego z mikrokontrolerem [3]
Kolejną grupą elementów współpracujących za pośrednictwem portów we/wy są różnego typu
czujniki np.: czujnik temperatury, ciśnienia, optoelektroniczny. Układy tego typu dzielą się na dwie
grupy: układy współpracujące za pośrednictwem magistrali I
2
C (patrz p. 4.6) i układy oparte na
części analogowej sprzęgającej czujnik z mikrokontrolerem. Rolę układów analogowych pełnią
wzmacniacze, mostki, układy polaryzujące, końcówki mocy itp.
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
28
Rys.22. Współpraca fotodiody z mikrokontrolerem [11].
Ważną grupą wykorzystywaną w automatycznych układach sterowania są przekaźniki. Podobnie
jak czujniki wymagają one najczęściej wykorzystania końcówek mocy, Jednakże najprostsze
realizacje dotyczą układów tranzystorowych małej mocy jak na rys.23.
Rys. 23. Obsługa przekaźnika przez mikrokontroler z wykorzystaniem układu tranzystorowego [11].
Kolejną popularną grupą urządzeń we/wy są przetworniki. Dość popularne są układy 8-bitowych
przetworników A/C ADC0838 i 8-bitowych przetworników C/A np.: DAC08. Na rysunkach 24 i 25
pokazano sposób podłączenia obu typu układów do mikrokontrolera '51.
Rys. 24. Podłączenie 8-bitowego przetwornika A/C ADC0838 za pomocą 4 linii portu P1 [11].
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
29
Rys. 25. Podłączenie 8-bitowego przetwornika C/A DAC08 z wykorzystaniem układu '574 [11].
Transmisja szeregowa
Mikroprocesor z rodziny '51 posiada dwa sposoby podłączenia urządzeń szeregowo. Obsługę za
pomocą linii portu P3.0-RXT i P3.1-TXT oraz za pomocą magistrali I
2
C.
Transmisja szeregowa
Rys. 26. Ramka transmisji szeregowej [3]
Linie portu P3.0 i P3.1 pozwalają bezpośrednio połączyć dwa mikrokontrolery jak pokazano na
rys.27
Rys. 27. Wykorzystanie portu P3 do transmisji szeregowej między mikrokontrolerami [3]
Podłączenie mikrokontrolera do sprzętu elektronicznego lub komputerowego wymaga często
skorzystania ze standardu transmisyjnego RS232. W takim układzie istnieje konieczność zamiany
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
30
poziomów napięć w standardzie TTL/CMOS na standard RS232. Do tego typu zadania można
zastosować układ MAX232 (rys.28).
MAX 232
T1In
T2In
R1Out
R2Out
C1+
C1-
Vcc
T1Out
T2Out
R1In
R2In
C2+
C2-
Vs+
Vs-
GND
+5V
TxD
RxD
RSTxD
RSDxD
1µF
1µF
1µF
1µF
+8.5V
-8.5V
Rys. 28. Układ konwertujący napięcie w standardzie RS232 na napięcie w standardzie TTL/CMOS.
Magistrala I
2
C
Magistrala I
2
C do transmisji wykorzystuje 2 linie: SDA-linia danych i SCL-linia zegarowa. Dane
przesyłane mogą być z prędkością do 100kBd. Do magistrali można przyłączyć bardzo dużą ilość
układów, które mogą pracować w trybie "Master" lub "Slave".
Rys. 29. Struktura magistrali I
2
C [3]
Sygnał taktowania magistrali (linia SCL), niezależnie od kierunku transmisji, jest generowany
zawsze przez układ "master". Każda transmisja na magistrali I
2
C musi rozpocząć się warunkiem
startu oraz zakończyć się warunkiem stopu. Jak widać na rysunku obok, warunek startu (S) powstaje
wtedy, gdy linia SDA zmienia swój stan z wysokiego na niski przy linii SCL pozostającej w stanie
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
31
wysokim. Odwrotna sytuacja występuje w przypadku warunku stopu (P), gdyż linia SDA zmienia
stan z niskiego na wysoki, przy linii SCL w stanie wysokim (rys.30ab ).
a)
b)
Rys. 30. Sygnał startu (a) i stopu magistrali (b) [3]
Ramka transmisyjna I
2
C składa się z ośmiu bitów danych poprzedzonych startem i stopem. Początek
transmisji od bajtu najbardziej znaczącego. Układy typu "slave" w przypadku braku gotowości do
transmisji podaje na sygnał SCL stan niski co powoduje przejście w stan oczekiwaniu układu typu
"master". Magistrala I
2
C jest wykorzystywana przez szereg urządzeń takich jak czujniki, pamięci
szeregowe, wyświetlacze, klawiatury. W zasadzie cały układ mikroprocesorowy może być
zbudowany w oparciu o tą magistralę. Na rys.31 pokazany jest sposób podłączenia pamięci
szeregowych EEPROM AT24CXX, 2401- 1KB, 2402, 2KB, 2404-4KB, 2416-16KB. Tego typu
pamięć jest stosowana w układach zamków szyfrowych, pilotach, centralkach alarmowych.
Rys. 31. Podłączenie pamięci szeregowej EEPROM do magistrali I
2
C [11]
Podobnie jak poprzedni układ moduł wyświetlacza również można podłączyć do magistrali I
2
C.
Niektóre układy (wyświetlacza HD44780) nie posiadają bezpośrednio tej szyny. W takiej sytuacji
stosuje się układ PCF8574, który pozwala przyłączyć się do magistrali I
2
C z magistrali danych.
(rys.32).
Rys.32. Podłączenie wyświetlacza LCD z wykorzystaniem układu PCF8574 [11]
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
32
Popularne zastosowanie magistrali I
2
C dotyczy zegara czasu rzeczywistego PCF8583. Układ ten
jest zaawansowanym układem programowanym z 16 rejestrami. Rejestry umieszczone są w pamięci
RAM od adresu 00H. Cyfry czasu zapisywane są w kodzie BCD. W przypadku rejestru daty
oznacza to, że cztery najmłodsze bity rejestru będą oznaczały liczbę jednostek, a cztery starsze
liczbę dziesiątek ustawianej daty.
Rys.33. Zegar czasu rzeczywistego na magistrali I
2
C [11]
Czujniki temperatury jest to grupy jednych z najpopularniejszych zastosowaniach, opartych na
charakterystyce diody krzemowej, termistorze, termoparze lub zintegrowanych układach np.: układ
firmy Dallas DS1820. Czujniki tradycyjne wymagają stosowania mostków lub przetworników
pomiarowych oraz przetworników A/C. Układ DS1820 jest przystosowany do pracy
z mikrokontrolerem bez konieczności stosowania dodatkowych układów. Zakres pracy czujnika
wynosi (-55
0
C
÷
+125
0
C). Temperatura jest przekazywana do mikrokontrolera szeregowo z udziałem
16bitów.
Rys.34. Podłączenie czujnika temperatury DS1820 do mikrokontrolera.
4.4.2. Pytania sprawdzające
Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.
1. Które układy pozwalają przyłączać zewnętrzne urządzenia we/wy?
2. Ile linii portów we/wy jest potrzebnych w celu podłączenia klawiatury 16 przyciskowej,
wyświetlacza LED 2 segmenty, silnika krokowego, czujnika optoelektronicznego?
3. Jaką rolę pełnią układy ADC 0838 i DAC08 w systemie z mikrokontrolerem '51?
4. Które linie portu mikrokontrolera 89c2051 są przeznaczone do transmisji szeregowej?
89c2051
P1.1
DS1820
+5V
+5V
4.7k
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
33
5. Co to jest magistrala I
2
C?
6. Jak podłączyć układ wyświetlacza LCD do magistrali I
2
C?
7. Jaka sekwencja zboczy na liniach SCL i SDA powoduje uruchomienie transmisji I
2
C?
8. Jak zachowa się układ "master" jeśli układ "slave" na magistrali I
2
C nie jest gotowy do
transmisji?
9. Jaka jest różnica między układami PCF8583 i PCF8574?
10. Jaki układ zapewnia konwersję sygnału RS232 na sygnał portu szeregowego mikrokontrolera
8051?
11. Ile linii portu we/wy zajmuje czujnik temperatury DS1820?
12. Narysuj schemat podłączenia pamięci 24C04 do mikroprocesora 89c2051?
4.4.3. Ćwiczenia
Ćwiczenie 1
Napisz program w asemblerze uruchamiający silnik krokowy przy współpracy z układem
ULN2803. Silnik ma wykonać 3 obroty w prawo.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie powinieneś:
1) narysuj schemat blokowy działania programu.
2) napisz program w asemblerze
3) skompiluj program.
4) przetestuj program na emulatorze 89c2051.
5) wygeneruj plik o rozszerzeniu .hex dla programatora
6) zaprogramuj z użyciem programatora mikrokontr.oler
7) przetestuj działanie programu w układzie
Wyposażenie stanowiska pracy:
−
nota katalogowa układu 89C2051,
−
stanowisko do uruchamiania mikroprocesora 89c2051
−
zasilacz
−
elementy elektroniczne
−
emulator 89c2051
−
programator mikrokontrolerów 89c2051
−
silnik krokowy
Przykładowy program dla schematu na rys.21[16]:
Dim R As Byte
'Deklaracja zmiennej obrotów
Dim X As Byte
'Deklaracja zmiennej skoku
Dim Rotations As Byte
'Deklaracja zmiennej liczby obrotów
Dim Steps As Byte
'Deklaracja zmiennej poczwórnych skoków
Rotations = 3
'ustawienie liczby obrotów
Steps = 25
'ustawienie jednego obrotu - liczba skoków zależy od typu silnika
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
34
For R = 1 To Rotations
'wywołanie pętli obrotów
For X = 1 To Steps
'wywołanie pętli poczwórnego skoku trwającego ok. 200ms
Call FourSteps
'wywołanie podprogramu "czterech skoków"
Next X
Next R
Reset P1.0 : Reset P1.1 : Reset P1.2 : Reset P1.3 'ustawienie końcowe silnika
Sub Foursteps
'Procedura 4 skokó
Set P1.0 : Reset P1.1 : Reset P1.2 : Reset P1.3
Waitms 50
Reset P1.0 : Set P1.1 : Reset P1.2 : Reset P1.3
Waitms 50
Reset P1.0 : Reset P1.1 : Set P1.2 : Reset P1.3
Waitms 50
Reset P1.0 : Reset P1.1 : Reset P1.2 : Set P1.3
Waitms 50
End Sub
Ćwiczenie 2
Zaprogramuj pamięć AT24C02. Uruchom program w asemblerze pozwalający odczytać
zawartość pamięci
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie powinieneś:
1) na podstawie kodu źródłowego narysuj schemat blokowy działania programu.
2) zapoznaj się z nota katalogową pamięci 24c02 i wyjaśnij zasadę programowania tej pamięci.
3) użyj programatora pamięci eeprom do zaprogramowania układu. plik programujacy pobierz od
prowadzącego lub przygotuj za pomocą programu edytującego zawartość pamięci
4) podłącz pamięć do układu mikrokontrolera.
5) skompiluj program czytający zawartość pamięci eeprom dla mikrokontrolera 89c2051
6) zaprogramuj mikrokontroler
7) przetestuj działanie programu.
Wyposażenie stanowiska pracy:
−
nota katalogowa układów 89C2051, 24C02.
−
stanowisko do uruchamiania mikroprocesora 89c2051
−
zasilacz
−
elementy elektroniczne
−
programator mikrokontrolerów 89c2051
−
programator pamięci EEPROM
−
program do edycji zawartości pamięci
Ćwiczenie 3
Uruchom program obsługujący układ mikrokontrolera 89c2051 z przetwornikiem temperatury
DS1820.
Sposób wykonania ćwiczenia
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
35
Aby wykonać ćwiczenie powinieneś:
1) na podstawie kodu źródłowego narysuj schemat blokowy działania programu.
2) zapoznaj się z nota katalogową czujnika
3) wyjaśnij sposób podłączania i programowania czujnika
4) podłącz czujnik do układu mikroprocesorowego z mikrokontrolerem 89c2051.
5) skompiluj program do obsługi czujnika.
6) zaprogramuj mikrokontroler.
7) przetestuj działanie programu.
Wyposażenie stanowiska pracy:
−
nota katalogowa układów 89C2051, DS1820.
−
stanowisko do uruchamiania mikroprocesora 89c2051
−
zasilacz
−
elementy elektroniczne
−
programator mikrokontrolerów 89c2051
−
czujnik Dallasa DS1820
Przykładowy program obsługujący czujnik Dallasa i wyświetlacz [16]:
Config 1wire = P1.1 ' + jumper J2 B-C
Dim Odczyt(2) As Byte , A As Byte , Licznik As Byte , T As Integer , T1 As Single
Do
1wreset 'reset
1wwrite &HCC 'jedna kostka, więc wykorzystujemy rozkaz SKIP ROM
1wwrite &H44 'dokonaj konwersji
Waitms 750 'przeczekaj czas konwersji
1wreset 'reset
1wwrite &HCC 'rozkaz adresowy SKIP ROM
1wwrite &HBE 'rozkaz funkcyjny - polecenie odczytu DS18x20
Odczyt(1) = 1wread(2) 'odczytaj dwa pierwsze bajty
T = Odczyt(2) 'przepisz starszy bajt do zmiennej typu Integer
Shift T , Left , 8 'przesuń ten bajt w lewo na wyższe pozycje
T = T + Odczyt(1) 'przepisz - dodaj młodszy bajt
'teraz w zmiennej T typu Integer jest ułamkowa wartość temperatury
T1 = T / 16 'wyraź w stopniach Celsjusza, wynik wpisz do zmiennej
Single
' T1 = T / 2
'dla układów DS18S20 i DS1820
Cls : Lcd "Temp=" ; T1 ; "oC" 'wyświetl wynik ze zmiennej Single
Loop : End
Ćwiczenie 4
Uruchom program obsługujący układ mikrokontrolera 89c2051 z zegarem czasu rzeczywistego
PCF8583
Sposób wykonania ćwiczenia
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
36
Aby wykonać ćwiczenie powinieneś:
1) na podstawie kodu źródłowego narysuj schemat blokowy działania programu.
2) zapoznaj się z nota katalogową układu pcf8583
3) wyjaśnij sposób podłączania i programowania układu zegara.
4) podłącz układ pcf8583 do układu mikroprocesorowego z mikrokontrolerem 89c2051.
5) skompiluj program do obsługi zegara
6) zaprogramuj mikrokontroler.
7) przetestuj działanie programu.
Wyposażenie stanowiska pracy:
−
nota katalogowa układów 89C2051
−
stanowisko do uruchamiania mikroprocesora 89c2051
−
zasilacz
−
elementy elektroniczne
−
programator mikrokontrolerów 89c2051
−
układ PCF8583
Przykład programu do odczytu z układu PCF8583:
Config Sda = P3.5
‘konfiguracja linii SDA magistrali I2C
Config Scl = P3.7
‘konfiguracja linii SCL magistrali I2C
Dim H As Byte
‘deklaracja zmiennej godzin
Dim M As Byte
‘deklaracja zmiennej minut
Dim S As Byte
‘deklaracja zmiennej sekund
Do
I2cstart
‘inicjalizacja magistrali I2C
I2cwbyte 162
‘podanie adresu PCF8583 dla zapisu
I2cwbyte 2
‘wybranie rejestru sekund
I2cstart
‘powtórna inicjalizacja magistrali
I2cwbyte 163
‘podanie adresu PCf8583 dla odczytu danych
I2crbyte S , Ack
‘odczyt sekund z potwierdzeniem transmisji
I2crbyte M , Ack
‘odczyt minut z potwierdzeniem transmisji
I2crbyte H , Nack
‘odczyt godzin bez potwierdzenia transmisji
I2cstop
‘koniec transmisji
Loop
Ćwiczenie 5
Uruchom program obsługujący transmisję układu mikrokontrolera 89c2051 z komputerem PC
poprzez łącze RS232.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie powinieneś:
1) zapoznaj się z nota katalogową układu max232
2) narysuj schemat podłączenia układu mikrokontrolera do komputera pc.
3) połącz układ.
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
37
4) zmodyfikuj program do obsługi transmisji szeregowej, tak aby odpowiednie porty obsługiwały
we/wy układu max232.
5) skompiluj program dla mikrokontrolera
6) zaprogramuj mikrokontroler.
7) podłącz układ mikroprocesorowy za pomocą kabla rs232 do komputera pc.
8) uruchom program śledzący transmisję na złączu rs232 w komputerze pc
9) prześlij podane znaki asci przez prowadzącego do komputera pc.
10) zmodyfikuj prędkość transmisji programu.
Wyposażenie stanowiska pracy:
−
nota katalogowa układów 89C2051, Max232
−
stanowisko do uruchamiania mikroprocesora 89c2051
−
zasilacz
−
elementy elektroniczne
−
programator mikrokontrolerów 89c2051
−
układ Max232
−
program do odczytu stanu linii we/wy na porcie COM1 komputera PC
4.4.4. Sprawdzian postępów
Czy potrafisz:
Tak
Nie
1) podłączyć urządzenia we/wy do mikrokontrolera '51?
2) podłączyć do mikrokontrolera i oprogramować przetworniki A/C i C/A?
3) podłączyć do mikrokontrolera i oprogramować szeregową pamięć EEPROM?
4) podłączyć do mikrokontrolera i oprogramować silnik krokowy?
5) podłączyć do mikrokontrolera i oprogramować zegar czasu rzeczywistego ?
7) podłączyć do mikrokontrolera i oprogramować czujnik temperatury?
8) podłączyć do mikrokontrolera i oprogramować porty szeregowe?
9) modyfikować programy dla urządzeń we/wy?
10) testować działania układów we/wy?
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
38
4.5. Projektowanie i uruchamianie układu mikroprocesorowego
4.5.1. Materiał nauczania
Realizacja praktycznego tematu mikroprocesorowego wymaga wykonania prawidłowego
projektu, montażu oraz uruchomienia. W skład tych czynności wchodzi szereg etapów pośrednich.
Wykonanie prawidłowe wszystkich etapów powoduje, że układ będzie działał poprawnie.
Projektowanie może być wykonane na bazie gotowego układu np.: na bazie schematów
prototypowych, które pozwalają wykonać większość projektów na bazie uniwersalnego modułu
mikroprocesorowego. Projektowaniu podlega tylko część dołączona do modułu np.: czujnik,
sterownik lub przetwornik. Przykładem takich modułów jest system BASCOM, DSM, ADHtronik.
Realizacja projektu może sprowadzać się bardzo często tylko do przetestowania programu w
asemlerze. Drugą metodą jest wykonanie projektu od podstaw. Ten typ realizacji wymaga
dostosowania się do zaleceń producenta mikrokontrolera, czujnika, pamięci. Producent najczęściej
proponuje schemat układu na mikrokontrolerze, natomiast producenci czujników i innych elementów
współpracujących
przewidują
w
notach
współpracę
z
mikrokontrolerem.
Producenci
mikrokontrolerów dostarczają za pomocą serwerów internetowych niezbędne oprogramowanie do
kompilowania źródeł w asemblerze, programy do testowania, schematy programatorów, emulatorów
oraz oprogramowanie do ich uruchamiania.
I Etap- projektowanie układu mikroprocesorowego
−
wybór tematu
−
wybór mikrokontrolera
−
schemat układu ideowego (na tym etapie dopuszczalny jest również schemat blokowy)
−
wstępny kosztorys projektu
−
zakup elementów układu
−
wykonanie schematu płytki
Etap wymaga określenia tematu projektu. Temat może określić nauczyciel. Jeśli nauczyciel nie
określi typu mikrokontrolera, należy dokonać wstępnej analizy budowy układu poprzez narysowanie
schematu blokowego. Wyboru można dokonać korzystając tabeli 1 z p.4.1. Ewentualna korekta
wyboru, może nastąpić na etapie tworzenia schematu ideowego lub podczas zakupu elementów
współpracujących np.: czujników. Podczas tworzenia schematu ideowego dobrze jest przeglądnąć
literaturę o tematyce mikroprocesorowej i strony producentów elementów mikroprocesorowych, aby
optymalnie zaprojektować układ.
II Etap- montaż i uruchomienie układu mikroprocesorowego
−
przygotowanie płytki drukowanej
−
montaż układu
−
przygotowanie programu dla mikrokontrolera
−
testowanie działania programu z wykorzystaniem emulatora
−
zaprogramowanie mikrokontrolera
−
testowanie działania układu
−
montaż obudowy, zasilania itp.
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
39
Podczas projektowania płytki drukowanej dobrze jest wykorzystać odpowiednie narzędzia, które
zawarte są w takich programach jak EAGLE, czy PROTEL. Warto korzystać z automatycznych
funkcji tych programów z zakresu optymalizacji i testowania połączeń na płytce.
Przygotowanie programu dla mikrokontrolera wymaga przekompilowania go i przetestowania.
Zagadnienia dotyczące programowania w asemblerze znajdują się w skrypcie do modułu
311[37].Z1.02. Testowanie programu powinno się odbyć w trzech krokach: testowanie w programie
kompilującym (kompilator asemblera), testowanie z wykorzystaniem emulatora sprzętowego,
testowanie w układzie projektowanym. Te trzy kroki pozwalają przygotować oprogramowanie do
projektu stosunkowo optymalnie. Emulator sprzętowy jest układem, który posiada wyprowadzenia
jak mikroprocesor, jednakże można go wielokrotnie i szybko programować bez konieczności
używania programatora sprzętowego. Dodatkowo zaawansowane emulatory współpracujące z
komputerami PC posiadają różnego typu dodatkowe sygnały pozwalające zapoznać się z reakcją
oprogramowania na działanie w układzie. Bardzo często mikrokontroler zaprogramowany nie daje
nam możliwości znalezienia błędu w wyniku braku właściwej reakcji na wyjściu układu. Prawidłowo
działający program powinien zostać skompilowany, a następnie powinno wygenerować się zbiór o
rozszerzeniu hex, który jest używany do zaprogramowania mikrokontrolera. Programatory są to
układy wgrywające program za pośrednictwem oprogramowania o rozszerzeniu hex do
mikrokontrolera. Jeśli układ zostanie przetestowany i jego działanie można uznać za prawidłowe,
bardzo często program umieszcza się w mikrokontrolerach z serii OTP ( z ang. one time
programming) jednokrotnego zaprogramowania lub wykonuje się programowanie z ustawianiem
bitów zabezpieczeń przed kasowaniem i czytaniem.
III Etap- przygotowanie dokumentacji
−
strona tytułowa projektu
−
opis przeznaczenia układu
−
opis działania układu
−
opis uruchamiania i testowania układu
−
schemat ideowy, schemat płytki (strona elementów i druku)
−
spis elementów
−
kosztorys
−
literatura
−
noty katalogowe (jeśli jest to konieczne, lub skrót tych not).
Dokumentacja musi zawierać wszystkie szczegóły techniczne, które pozwolą wykonać urządzenie
ponownie, uruchomić je i przetestować, a także serwisować. Schematy należy wykonać z
użyciem odpowiednich programów do tego przeznaczonych. Dobrze jest załączyć do
dokumentacji źródła w asemblerze, kompilator i instrukcję obsługi kompilatora. Dokumentacja
powinna zawierać skrót norm katalogowych zawierających dane: o wyprowadzeniach elementów
i parametrach charakterystycznych, w przypadku niektórych układów ważne są przebiegi
czasowe, tabele prawdy itp. niezbędne w procesie uruchamiania układu.
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
40
Przykłady projektów mikroprocesorowych
Projekt "zegar mikroprocesorowy"
Projekt układu rozpoczynamy od schematu blokowego i określenia realizowanych funkcji
Rys.34. Schemat blokowy zegara
Funkcje przycisków
S1-zmiana trybu pracy czas
→
data
→
budzik
S2-przycisk korekty (ustawianie minut, miesiąca)
S3-przycisk korekty (ustawianie godzin, dni miesiąca)
S4-przejście w tryb korekty
Schemat układu
Rys.35. Schemat ideowy zegara [13]
Mikrokontroler
89c4051
S1
S2
S3
S4
wyświetlacz LCD
szyna I
2
C
szyna 1-wire
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
41
Wariant II-zegar z pomiarem temperatury
I wariant układu można rozbudowywać wykorzystując wyprowadzone szyny i zasilanie. Wariant
z pomiarem temperatury zawiera dodatkowo układ wyświetlania temperatury oraz czujnik DS1820
firmy Dallas.
Rys.35. Schemat wyświetlacza dla układu termometru [13]
Rys.36. Podłączenie czujnika DS1820 do magistrali 1-wire [13]
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
42
Projekt "wykrywacz metali"
Projektowanie układów opartych na mikrokontrolerach służących do pomiaru parametrów
elektrycznych i nieelektrycznych wymaga stosowania zwykle dość złożonej części analogowej
(mostki pomiarowe, układy dopasowujące poziom napięć, wzmacniacze, układy rezonansowe).
Układ "wykrywacza metali" niewątpliwie należy do tego typu układów. Wykrywanie metali jest
związane z dostrajaniem się do pewnego zakresu częstotliwości. Jeśli weźmiemy pod uwagę różne
czynniki zewnętrzne takie jak: zmiana temperatury, rezystancję i impedancję w pobliżu metalu to
zadanie staje się dość trudne. Stąd tego typu projekty należy traktować z ostrożnością obserwując i
ich działanie, nie mniej jednak uwidaczniają się duże możliwości mikrokontrolerów. Projekty tego
typu zawierają podobne elementy blokowe jak np.: wykrywacze amatorskie [14,15].Schemat
blokowy takiego wykrywacza pokazano na rysunku 37.
Rys.37. Schemat blokowy wykrywacza metali na mikrokontrolerze 89c2051
Zworki Z1 i Z2 ustalają tryby kalibracji układu zgodnie z wariantami w tabeli 2. Elementy P1, R8,
C8 decydują o czułości układu. Układ cewki wykrywacza Ls współpracuje ze wzmacniaczem
pomiarowym LM311. Jakość wykrywania zależy w dużym stopniu od jakości wykonania cewki
wykrywacza. Cewka w układzie powinna posiadać indukcyjność 10mH, średnica toroidu 30cm,
średnica drutu 0.2-0.3mm, ilość zwojów 100.
Mikrokontroler
89c2051
Z1
Z2
Wł
wskaźniki
diodowe
słuchawki
ustawianie
czułości
układu
sonda
pomiarowa
Wzmacniacz pomiarowy
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
43
Tabela 1. Zestawienie wybranych mikrokontrolerów rodziny '51
zworka z1
zworka z2
opis działania
rozwarta
rozwarta
tryb autokalibracji rozłączony
rozwarta
zwarta
autokalibracja - średnia z 4 pomiarów (2s)
zwarta
rozwarta
autokalibracja - średnia z 8 pomiarów (4s)
zwarta
zwarta
autokalibracja - średnia z 12 pomiarów (6s)
Cechy układu
rozdzielczość częstotliwości- 10
-6
częstotliwość pracy- ok. 50kHz
częstotliwość powtarzania pomiarów- 2Hz
Rys.38. Schemat ideowy wykrywacza metali na mikrokontrolerze 89c2051 [15]
4.5.2. Pytania sprawdzające
Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.
1. Wyjaśnij procedurę projektowania układu mikroprocesorowego?
2. Jakie elementy powinna zawierać dokumentacja projektowa?
3. Jak zrealizować projekt uniwersalny, który posiada możliwość ewentualnej rozbudowy?
4. Dlaczego przy projektowaniu układów mikroprocesorowych coraz częściej sięga się po
mikrokontroler 89c2051, czy też 89c4051?
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
44
4.5.3. Ćwiczenia
Ćwiczenie 1
Narysuj schemat blokowy i zaplanuj niezbędne czynności do realizacji projektu
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie powinieneś:
1) wybierz temat projektu
2) określ zadania jakie mają być wykonane w projekcie
3) narysuj schemat blokowy zadania
4) zapisz możliwe rozwiązania do każdego z bloków
5) wybierz mikrokontroler
6) przejrzyj noty katalogowe producentów
7) oszacuj wstępnie koszt układu i możliwość realizacji
8) narysuj schematy ideowe dla każdego z bloków
Wyposażenie stanowiska pracy:
−
stanowisko PC podłączone do sieci internet.
Ćwiczenie 2
Dokonaj korekty wykrywacza metali z rys.38 na wykrywacz z wyświetlaczem LCD.
Sposób wykonania ćwiczenia
Aby wykonać ćwiczenie powinieneś:
1) narysuj moduł wyświetlania
2) uruchom program dla tego modułu
3) narysuj schemat blokowy działania procedury wyświetlania
4) narysuj schemat podłączenia wyświetlacza LCD
5) podłącz wyświetlacz LCD
6) zmodyfikuj program, tak aby reakcja układu była zapisywana w postaci odpowiedniego numerka
dziesiętnego na wyświetlaczu (odpowiednik zdekodowanej kombinacji na diodach).
7) zapisz program, skompiluj go i przetestuj
8) uruchom emulator sprzętowy
9) zaprogramuj mikrokontroler
10) przetestuj działanie programu
Wyposażenie stanowiska pracy:
−
nota katalogowa układu 89C2051,
−
stanowisko do uruchamiania mikroprocesora 89c2051
−
zasilacz
−
elementy elektroniczne
−
emulator 89c2051
−
programator mikrokontrolerów 89c2051
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
45
4.5.4. Sprawdzian postępów
Czy potrafisz:
Tak
Nie
1) zrealizować etap planowania projektu?
2) zmodyfikować plan projektu?
3) narysować schemat blokowy zadania projektowego?
4) narysować schemat ideowy układu?
5) zaprojektować płytkę drukowaną ?
7) wykonać montaż płytki?
8) sporządzić dokumentacje techniczną?
9) przetestować zmontowany układ?
10) zaprogramować mikrokontroler użyty w projekcie?
11) oprogramować projekt?
12) modyfikować funkcje projektu?
13) zaprezentować projekt?
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
46
5. SPRAWDZIAN OSIĄGNIĘĆ
INSTRUKCJA DLA UCZNIA
1. Przeczytaj uważnie instrukcję.
2. Podpisz imieniem i nazwiskiem kartę odpowiedzi.
3. Zapoznaj się z zestawem pytań testowych.
4. Test zawiera 24 zadania dotyczące montażu i uruchamiania układu mikroprocesorowego.
Pytania są wielokrotnego wyboru i tylko jedna odpowiedź jest prawidłowa.
5. Udzielaj odpowiedzi tylko na załączonej karcie odpowiedzi:
−
w pytaniach zaznacz prawidłową odpowiedź 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 wolny czas.
8. Na rozwiązanie testu masz 60 min.
Powodzenia
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
47
ZESTAW ZADAŃ TESTOWYCH
1. Który z mikrokontrolerów posiada pamięć typu "flash" ?
a) 8031
b) 8051
c) 8751
d) 89c51
2. Jaka może być maksymalna wielkość programu dla mikrokontrolera 89c4051 ?
a) 1 kB
b) 2 kB
c) 4 kB
d) 8 kB
3. Jaka wartość rezonatora kwarcowego jest typowa dla mikrokontrolera 89c2051?
a) 8 MHz
b) 11.059 MHz
c) 12 MHz
d) 16 MHz
4. Który z mikrokontrolerów nie obsłuży programu w zewnętrznej pamięci EPROM?
a) 8031
b) 8051
c) 89c51
d) 89cX51
5. Posiadamy mikrokontroler 89c52 i pamięć EPROM 27c64. Jaka wartość pamięci dostępna
dla programu?
a) 4 kB
b) 8 kB
c) 12 kB
d) 16 kB
6. Który z sygnałów mikrokontrolera jest odpowiedzialny za uruchomienie programu z pamięci
zewnętrznej ?
a) PSEN
b)
RD
c)
WR
d)
ALE
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
48
7. Do którego portu mikrokontrolera 89c2051 należy przyłączyć klawiaturę?
a) P1
b) P2
c) P3
d) P4
8. Układ dekodera klawiatury 74c922 współpracuje z mikrokontrolerem 8051. Ile linii portu
mikrokontrolera wykorzystuje dekoder dla klawiatury 16 przyciskowej ?
a) 3
b) 4
c) 5
d) 6
9. Pobór prądu segmentu wyświetlacza wynosi 8 mA, aby uzyskać odpowiednią intensywność
świecenia . Wyświetlacz pracuje w układzie wspólnej anody. Jaka jest optymalna wartość
rezystora ograniczającego, jeśli napięcie zasilania wyświetlacza LED wynosi 5V?
a) 220
Ω
b) 470
Ω
c) 560
Ω
d) 820
Ω
10.Na rysunku pokazany jest przykład wykorzystania układu ULN2803 współpracującego z
mikrokontrolerem do sterowania?
a) silnikiem krokowym
b) przetwornikiem C/A
c) żarówką samochodową
d) przekaźnikiem
11.Na rysunku pokazany jest w pełni funkcjonalny system mikroprocesorowy.
Pamięć programu użytkownika w tym systemie wynosi:
a) 4 kB
b) 16kB
c) 32kB
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
49
d) 64kB
12.Który z poniższych układów nie zapewnia poprawnej pracę z urządzeniami zewnętrznymi
w układzie na rysunku , jeśli układu 74HCT573 i 74HCT574 pełnia role portów wyjściowych,
z układy 74HCT541 i 74HCT245 rolę portów wejściowych. ?
a) U1- 74HCT573 U3-74HCT541
b) U1-74HCT573 U3-74HCT245
c) U1-74HCT574 U3-74HCT541
d) U1-74HCT574 U3-74HCT573
13.Zegar czasu rzeczywistego współpracujący z mikrokontrolerem 89c2051 za pośrednictwem
magistrali I
2
C to:
a) PCF8583
b) PCF8574
c) PCF8591
d) PCF7575
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
50
14. Poniższy program przy założeniu, że do nóżki P3.1 podłączona jest dioda, gdy włączymy układ
po raz pierwszy do zasilania spowoduje:
sjmp START
WAIT
mov r2,#0
WAIT2
mov r1,#0
djnz r1,$
djnz r2,WAIT2
ret
START
mov P3,#0
PETLA call WAIT
mov A,P3
cpl A
mov P3,A
sjmp PETLA
a) dioda zaświeci się tylko raz
b) dioda nie zaświeci się nigdy
c) dioda zaświeci się następnie zgaśnie po określonym czasie. Sekwencja będzie powtarzana
cyklicznie
d) dioda zaświeci się z opóźnieniem następnie zgaśnie i tak w kółko
15. Poniższy program związany jest z transmisją szeregową.
ORG 8100H
INIT: MOV SCON, #52H
;port szeregowy tryb1
MOV TMOD
, #20H
; timer xx, tryb2
MOV TH1, #-13
; załaduj licznik dla 2400 bodów
SETB TR1
;start timera
END
Który z timerów został uruchomiony w tym trybie transmisyjnym?
a) 1
b) 2
c) 3
d) 4
16. Linie SDA i SCL są związane z szyną:
a) 1-wire
b) UART
c) I
2
C
d) RS232
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
51
17. Start magistrali z pyt.16 odbywa się dla przebiegów czasowych:
a) SDA 1->0 a następnie SCL 1->0
b) SCL 1->0 a następnie SDA 1->0
c) SDA 0->1 a następnie SCL 0->1
d) SCL 0->1 a następnie SDA 0->1
18. Mikroprocesorowy czujnik temperatury (rys.) został oparty na diodzie krzemowej zgodnie z
zasadą, że spadek na diodzie wynosi -2.3mV/K. 0
0
C zostało skalibrowane przy spadku napięcia na
diodzie 0.665V. W układzie wykorzystano przetwornik A/C 8 bitowy. Termometr ma pracować w
zakresie -20
0
C
÷
40
0
C. Jaka jest możliwa dokładność do uzyskania w tym układzie.
a) 0.5
0
C
b) 1
0
C
c) 1.5
0
C
d) 2
0
C
19. Uruchamianie zmontowanego układu mikroprocesorowego po włączeniu zasilania rozpoczyna
się od:
a) podłączenia rezonatora kwarcowego
b) wciśnięcia przycisku RESET
c) ustawienia sygnału na wyprowadzeniu INT
d) od uzyskania sygnału ALE
20. Mikrokontroler 8031 pracuje posiada wejście EA ustawione w stan wysoki. Jaki maksymalny
obszar pamięci zewnętrznej można zaadresować w tym systemie
a) 48kB
b) 56kB
c) 60kB
d) 64kB
czujnik
diodowy
wzmacniacz
pomiarowy
przetwornik
A/C
8051
P1.0
...
P1.7
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
52
21. W układzie mikroprocesorowym termometru opartym na mikrokontrolerze 89c2051 z klawiaturą
4 przyciskową, wyświetlaczem LED, czujnikiem DS1820 stwierdzono brak sygnału na
rezonatorze kwarcowym. Która z poniższych sytuacji odpowiada za brak pracy układu?
a) zbyt mała wartość kondensatorów wygładzających w zasilaczu
b) nie podłączenie sygnału RST
c) nie podłączenie sygnału INT
d) brak kondensatora między nóżkami P1.0 i P1.1
22.Czujnik temperatury DS1820 do poprawnej pracy z mikrokontrolerem 89c4051 wymaga
podłączenia do:
a) dowolnej linii portu P1
b) dwóch linii oraz linii P3.2 lub P3.3
c) dwóch linii z dowolnego portu
d) dowolnej linii z portu P3
23. Który z układów pozwala przetestować działanie zmontowanego układu mikroprocesorowego
bez konieczności montowania mikrokontrolera?
a) programator
b) tester cyfrowy
c) emulator sprzętowy
d) kompilator
24. Podłączając wyświetlacz LCD do mikrokontrolera za pośrednictwem magistrali I
2
C musimy użyć
z 8 bitowej magistrali danych wyświetlacza minimalnie:
a) 2 linie
b) 4 linie
c) 6 linie
d) 8 linii
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
53
KARTA ODPOWIEDZI
Imię i nazwisko..........................................................................................
Projektowanie i montaż układó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
21
a
b
c
d
22
a
b
c
d
23
a
b
c
d
24
a
b
c
d
Razem:
„
Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
54
6. LITERATURA
1. Doliński J.: Mikrokontrolery AVR w praktyce, BTC, Warszawa 2003
2. Gałka P., Gałka P.: Podstawy programowania mikrokontrolera 8051. Pracownia systemów
mikroprocesorowych na bazie DSM-51, Mikom, Warszawa 1995
3. Hadam P.: Projektowanie systemów mikroprocesorowych, BTC, Warszawa 2004
4. Hajduk Z.: Mikrokontrolery w systemach zdalnego sterowania, BTC, Warszawa 2005
5. Pełka R.: Mikrokontrolery, architektura, programowanie, zastosowania, WKiŁ, Warszawa
2000.
6. Pietraszek S.: Mikroprocesory jednoukładowe PIC, Helion, Gliwice 2002
7. Starecki T.: Mikrokontrolery jednoukładowe rodziny 51, NOZOMI, Warszawa 1996
8. Sibigtroth J.M.: Zrozumieć małe mikrokontrolery, BTC, Warszawa, 2003.
9. Wiązania M.: Programowanie mikrokontrolerów AVR w języku BASCOM, BTC, Warszawa
2004
10. Zieliński B. : Układy mikroprcoesorowe. Przykłady rozwiązań, Helion, Gliwice 2002
11. Materiały firmowe PPHU Adatronik, Moduł prototypowy z mikrokontrolerem z rodziny 8051,
Kraków 2001
12. Czasopismo Elekronika Plus- wydanie specjalne, Bascom- najlepsze narzędzie do
projektowania mikrokontrolerów.
13. Czasopismo Elektronika dla Wszystkich, 5/2005, s.14-18
14. Czasopismo Elektronika Praktyczna, 7/2001, s.10-14
15. Praktyczny Elektronik, 7/1999,s.4-7
16. Wydanie specjalne Elektronika dla Wszystkich- BASCOM, Nr1(2) 2004.
Strony internetowe producentów mikrokontrolerów i układów mikroprocesorowych:
17. www.atmel.com
18. www.philips.com
19. www.siemens.com
20. www.dallas.com
21. www.intel.com