02 Projektowanie i montaż układów mikroprocesorowych

background image

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

background image

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

background image

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

background image

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.










background image

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












background image

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.

background image

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ń.

background image

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.

background image

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).

background image

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.

background image

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

background image

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?

background image

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).

background image

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]

background image

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.

background image

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

background image

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?

background image

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.

background image

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]

background image

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

background image

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

background image

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.

background image

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

background image

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.

background image

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

background image

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

background image

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

background image

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.

background image

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].

background image

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

background image

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

background image

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]

background image

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

background image

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

background image

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

background image

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

background image

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.

background image

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?

background image

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.

background image

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.

background image

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

background image

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]

background image

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

wskaźniki
diodowe

słuchawki

ustawianie
czułości
układu

sonda
pomiarowa

Wzmacniacz pomiarowy

background image

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?

background image

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

background image

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?

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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:

background image

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







Wyszukiwarka

Podobne podstrony:
Projektowanie i montaż układów mikroprocesorowych
Projektowanie i montaż układów mikroprocesorowych
Projektowanie analogowych układów scalonych
projekt z montażu
02 Projekt BLUE BEAM dokladna informacja
01 02 Projektstruktur Step7 Funktionen S7
ajczęściej popełniane błędy przy projektowaniu i montażu systemów ociepleniowych część I, Budownictw
lab, MetNum2 lab, Laboratorium: ANALIZA I PROJEKTOWANIE KOMPUTEROWE UKŁADÓW ELEKTRONICZNYCH
projekt z montażu
projekt montazu
02 Projektowanie ergonomiczneid Nieznany
Pompa ciepla bledy projektowe montazowe i eksploatacyjne
projekt montazu
Projektowanie elementów i układów optycznych
Projektowanie dyskretnych układów mechanicznych synteza stary off
Podstawowe zasady projektowania i montażu instalacji nawadniających(1), architekt
02 Opis matematyczny układów liniowych
PROJEKTOWANIE I SYMULACJA UKŁADÓW STEROWANIA
02 Modelowanie matematyczne układów dynamicznych

więcej podobnych podstron