Badanie układów zewnętrznych mikrokontrolera

background image

Projekt wspó

łfinansowany ze środków Europejskiego Funduszu Społecznego”


MINISTERSTWO EDUKACJI

NARODOWEJ

Mirosław Sulejczak

Badanie układów zewnętrznych mikrokontrolera

311[07].Z4.03





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:

mgr inż. Elżbieta Małgorzata Majka

mgr inż. Anna Kembłowska



Opracowanie redakcyjne:

mgr inż.Danuta Pawełczyk

Konsultacja:

mgr inż. Gabriela Poloczek

Korekta:

Poradnik stanowi obudowę dydaktyczną programu jednostki modułowej 311[07].Z4.03
„Badanie układów zewnętrznych mikrokontrolera” zawartego w modułowym programie
nauczania dla zawodu technik elektronik.













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

6

3. Cele kształcenia

7

4. Materiał nauczania

8

4.1. Dołączanie układów zewnętrznych do mikrokontrolera

8

4.1.1. Materiał nauczania

8

4.1.2. Pytania sprawdzające

13

4.1.3. Ćwiczenia

14

4.1.4. Sprawdzian postępów

15

4.2. Wyświetlacz LCD

16

4.2.1. Materiał nauczania

16

4.2.2. Pytania sprawdzające

19

4.2.3. Ćwiczenia

20

4.2.4. Sprawdzian postępów

21

4.3. Przetwornik C/A

22

4.3.1. Materiał nauczania

22

4.3.2. Pytania sprawdzające

23

4.3.3. Ćwiczenia

24

4.3.4. Sprawdzian postępów

26

5. Sprawdzian osiągnięć

27

6. Literatura

35

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

3

1. WPROWADZENIE

Poradnik będzie Ci pomocny w przyswajaniu wiedzy z zakresu badania modułów

wewnętrznych mikrokontrolera.

W poradniku zamieszczono:

wymagania wstępne – wykaz umiejętności, jakie powinieneś mieć już opanowane,
abyś bez problemów mógł korzystać z poradnika,

cele kształcenia – wykaz umiejętności, jakie opanujesz podczas pracy z poradnikiem,

materiał nauczania – podstawowe wiadomości teoretyczne niezbędne do opanowania
treści jednostki modułowej,

zestaw pytań przydatny do sprawdzenia, czy już opanowałeś podane treści,

ćwiczenia, które pomogą Ci zweryfikować wiadomości teoretyczne oraz ukształtować
umiejętności praktyczne,

sprawdzian postępów,

literaturę uzupełniającą,

sprawdzian osiągnięć – przykładowy zestaw zadań i pytań. Pozytywny wynik
sprawdzianu potwierdzi, że dobrze pracowałeś podczas lekcji i że nabyłeś wiedzę
i umiejętności z zakresu tej jednostki modułowej,

W materiale nauczania zostały omówione zagadnienia zakresu badania układów

zewnętrznych mikrokontrolera, ich budowy, sposobu dołączenia do mikrokontrolera
oraz programowania. Podczas poznawania modułów mikrokontrolera niewątpliwie pomocny
będzie nauczyciel, który pomoże Ci w przypadku pojawienia się problemów.
Z rozdziałem „Pytania sprawdzające” możesz zapoznać się:

przed przystąpieniem do rozdziału „Materiał nauczania” – poznając przy tej okazji
wymagania wynikające z zawodu, a po przyswojeniu wskazanych treści, odpowiadając
na te pytania sprawdzisz stan swojej gotowości do wykonywania ćwiczeń,

po zapoznaniu się z rozdziałem „Materiał nauczania”, by sprawdzić stan swojej wiedzy,
która będzie Ci potrzebna do wykonywania ćwiczeń.
Kolejny etap to wykonywanie ćwiczeń, których celem jest uzupełnienie i utrwalenie

wiadomości z zakresu badania modułów mikrokontrolera.

Wykonując ćwiczenia przedstawione w poradniku lub zaproponowane przez nauczyciela,

będziesz poznawał budowę, sposób programowania i użytkowania modułów dołączanych do
mikrokontrolera.

Po wykonaniu zaplanowanych ćwiczeń, sprawdź poziom swoich postępów wykonując

„Sprawdzian postępów”.
W tym celu:

przeczytaj pytania i odpowiedz na nie,

podaj odpowiedź wstawiając X w podane miejsce,

wpisz TAK jeśli Twoja odpowiedź na pytanie jest prawidłowa,

wpisz NIE jeśli Twoja odpowiedź na pytanie jest niepoprawna.

Odpowiedzi NIE wskazują luki w Twojej wiedzy, informują Cię również, jakich

zagadnień jeszcze dobrze nie poznałeś. Oznacza to także powrót do treści, które nie są
dostatecznie opanowane.

Poznanie przez Ciebie wszystkich lub określonej części wiadomości będzie stanowiło

dla nauczyciela podstawę przeprowadzenia sprawdzianu poziomu przyswojonych wiadomości
i ukształtowanych umiejętności. W tym celu nauczyciel może posłużyć się zadaniami
testowymi.


background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

4

W rozdziale 5. tego poradnika jest zamieszczony przykład takiego testu, zawiera on:

instrukcję, w której omówiono tok postępowania podczas przeprowadzania sprawdzianu,

przykładową kartę odpowiedzi, w której, w przeznaczonych miejscach wpisz odpowiedzi

na pytania lub zakreśl właściwe odpowiedzi spośród zaproponowanych.

Bezpieczeństwo i higiena pracy

W czasie pobytu w pracowni musisz przestrzegać regulaminów, przepisów

bezpieczeństwa i higieny pracy oraz instrukcji przeciwpożarowych, wynikających z rodzaju
wykonywanych prac. Przepisy te poznasz podczas trwania nauki.

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

5

Schemat układu jednostek modułowych

311[07].Z4

Badanie układów

mikroprocesorowych

311[07].Z4.01

Pisanie i uruchamianie programów

w asemblerze

311[07].Z4.02

Badanie modułów wewnętrznych

mikrokontrolera

311[07].Z4.03

Badanie układów zewnętrznych

mikrokontrolera

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

6

2. WYMAGANIA WSTĘPNE

Przystępując do realizacji programu jednostki modułowej, powinieneś umieć:

omawiać architekturę systemu mikroprocesorowego,

stosować rozkazy mikrokontrolera,

pisać, kompilować i poprawiać programy w języku asemblera,

programować moduły wewnętrzne mikrokontrolera,

używać zestawu uruchomieniowego do uruchamiania programu,

korzystać z różnych źródeł informacji.

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

7

3. CELE KSZTAŁCENIA

W wyniku realizacji programu jednostki modułowej powinieneś umieć:

zaprogramować przetworniki C/A,

wykorzystać brzęczyk do sygnalizacji określonych sytuacji,

wykorzystać przełączniki wejściowe do wprowadzania danych binarnych,

wyświetlić informację na zestawie diod,

stworzyć kody klawiszy,

zaprogramować niestandardowe znaki wyświetlacza,

uruchomić mikroprocesorowe systemy sterowania (np. sygnalizacją świetlną
skrzyżowania).

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

8

4. MATERIAŁ NAUCZANIA

4.1. Dołączanie układów zewnętrznych do mikrokontrolera

4.1.1. Materiał nauczania

Układy zewnętrzne mogą być dołączone do mikrokontrolera za pośrednictwem portów

lub dołączane do magistral danych, adresowej i sterującej. Układy dołączone do magistral są
dostępne w przestrzeni adresowej zewnętrznej pamięci danych XRAM.


Diody:

Aby wyświetlić informację na zestawie diod należy wysłać daną:

do portu równoległego np. MOV P1,#0FFH

na adres pod którym są dostępne w przestrzeni adresowe np.:

MOV DPTR,#9000H

;

;adres diod

MOV A,#0FFH

MOVX @DPTR,A

Można również zapalać lub gasić pojedyncze diody dołączone do portu np. SETB P1.1

lub CLR P1.1. Podobnie można załączać/ wyłączać brzęczyk.


Przełączniki binarne:

Przełączniki binarne również mogą być dołączane do portu lub umieszczane
w przestrzeni adresowej XRAM. Pobranie stanu przełączników do akumulatora:

z portu np.: MOV A,P1

z bufora umieszczonego w przestrzeni adresowej np.:

MOV DPTR,#8000H

;adres klawiatury

MOV A,@DPTR

Przykład programu realizującego koder priorytetowy tzn. pobierającego stan

przełączników dołączonych do portu P1 i wyświetlającego binarnie numer wybranego
przełącznika na diodach dołączonych do magistrali pod adresem 9000H. Przełącznik 0 ma
najwyższy priorytet.

MOV R7,#0

MOV A,P1

NAST:

RRC A

;bity pobrane z portu są przesuwane w prawo
;i wpisywane jako bit CY

INC R7

;rej. R7 jest inkrementowany po każdym wysuniętym
;zerze

JNC NAST

DEC R7

MOV A,R7

;w R7 jest binarny numer najstarszego ustawionego
;przełącznika

MOV DPTR,#9000H

MOVX @DPTR,A



background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

9

Klawiatura
Klawiatura może być zbudowana jako połączenie kilku przycisków wspólną końcówką,

lub poszczególne przyciski mogą być zorganizowane w postaci matrycy. W zależności od
dostępności portów wejściowych i wymaganej ilości klawiszy, stosuje się różnego rodzaju
układy wejściowe. Najprostszym sposobem dołączenia klawiatury bezpośrednio do portu
mikrokontrolera przedstawia rysunek 1. Port P1 jest rejestrem umieszczonym w wewnętrznej
przestrzeni adresowej mikrokontrolera i z tego powodu można wymuszać stany logiczne
na poszczególnych wyjściach portu. 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 P1 (od P1.4 do P1.7) i odczytuje stan linii
P1.0 do P1.3. Naciśnięty przycisk wymusza stan 0.


a)

b)

Rys. 1. Dołączenie styków klawiatury do portu P1 mikrokontrolera a) matryca 4x4, b) klawiatura 8–stykowa [6]



Podobnie jak w przypadku innych układów zewnętrznych możliwe jest dołączenie

klawiatury do magistral w przestrzeni adresowej zewnętrznej pamięci XRAM. Takie
rozwiązanie wymaga dodatkowych elementów w postaci dekodera adresów, rejestrów
wejściowych i wyjściowych:

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

10

Rys. 2. Dołączenie klawiatury 16– stykowej [6]




Podobnie

jak

diody

do

mikrokontrolera

mogą

być

dołączone

wskaźniki

elektroluminescencyjne np. ośmiosegmentowe. Najprostszy sposób dołączenia pojedynczego
wyświetlacza ośmiosegmentowego do portu mikrokontrolera przedstawia rysunek 3.

Rys.3. Wyświetlacz ośmiosegmentowy dołączony do portu [6]

W przypadku dołączenia kilku wyświetlaczy znaki na nich mogą być wyświetlane:

statycznie – informacja jest wyświetlana na wszystkich wskaźnikach jednocześnie,

dynamicznie – w danej chwili aktywny jest tylko jeden wyświetlacz, wrażenie ciągłego
wyświetlania znaków na wszystkich wyświetlaczach uzyskuje się dzięki bezwładności
ludzkiego oka.

Przykładową makietę zawierającą 4 wskaźniki 8–segmentowe przedstawia rys. 4, cztery

wskaźniki W1..W4 są wybierane liniami portu P5.0–P5.3, stan jedynki logicznej na linii
portu P4.0–P4–7 wywołuje przepływ prądu przez wybrany segment, a tym samym
zaświecenie segmentu, jeśli wskaźnik jest wybrany, stan zera – wygasza segment.

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

11

Rys. 4.– Schemat blokowy makiety wskaźników 8–segmentowych [3, s.92]

Można również zastosować dekoder z serii CMOS typu CD4511, który zawiera w sobie

dekoder kodu BCD na kod wskaźnika 7–segmentowego oraz rejestr zatrzaskowy. Dzięki
temu istnieje możliwość podłączenia czterech wyświetlaczy typu WK (wspólna katoda) do
jednego portu mikrokontrolera (rys.5). Liniami portu P1.0 do P1.3 podajemy kod znaku
do wyświetlenia a wyjściami P1.4 do P1.7 wybieramy wyświetlacz, zmiana stanu z 0 na 1
na którymś z wyjść P1.4 do P1.7 powoduje wpisanie kodu do dekodera. Rezystory
w obwodzie poszczególnych segmentów ograniczają prąd świecenia. Dzięki rozwiązaniom
układowym

przedstawionym

powyżej

oprogramowanie

wyświetlaczy

jest

proste

i poszczególne wyświetlacze świecą statycznie.


R1 …...... R8

P4.0 P4.7

a………h a………h a………h a………h

sterowanie anod wskaźników

P5.0-P5.3

sterowanie katod (segmentów) wskaźników

P4.0-P4.7

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

12

Rys. 5. Cztery wyświetlacze 7–segmentowe podłączone do portu mikrokontrolera poprzez dekodery typu

CD4511 [6]


Przykład:

Do portu P1 mikrokontrolera dołączony jest wyświetlacz 8–segmentowy. Napisz

program jednocyfrowego licznika odliczającego sekundy.
Rozwiązanie zadania należy rozpocząć od utworzenia tablicy kodów 8–segmentowych cyfr
0–9 (segment A–P1.0, B–P1.1,....H–P1.7):

cyfra

H

G

F

E

D

C

B

A

hex

0

0

0

1

1

1

1

1

1

CF

1

0

0

0

0

0

1

1

0

06

2

0

1

0

1

1

0

1

1

5B

3

0

1

0

0

1

1

1

1

4F

4

0

1

1

0

0

1

0

0

34

5

0

1

1

0

1

1

0

1

6D

6

0

1

1

1

1

1

0

1

7D

7

0

0

0

0

0

1

1

1

07

8

0

1

1

1

1

1

1

1

7F

9

0

1

1

0

1

1

1

1

6F


Następnie obliczyć liczbę przepełnień licznika odmierzającego 1 sekundę:
Aby odmierzyć 1 s licznik musi zliczyć:
1s=1000000

µ

s=1000000 cykli

15

65536

1000000

=

reszta 16960

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

13

Aby odliczyć 1000000 cykli licznik trzeba przepełnić 15 razy w pełnym zakresie i jeszcze
16960 cykli. Wartość początkowa, którą należy wpisać do licznika:
65536–16969=48576.
Program będzie składał się z następujących części:

1. załadowanie do pamięci IRAM od adresu 30h tablicy kodów 8–segmentowych,
2. rejestr R1 będzie licznikiem wyświetlanych cyfr (uwaga: można wpisać do rejestru

wartość początkową 30h, zamiast 0– pozwoli to adresować tablicę kodów
8–segmentowych),

3. pobranie kodu cyfry i wysłanie na port P1,
4. odmierzenie 1 sekundy,
5. inkrementacja licznika i sprawdzenie, czy jest już równy 9, jeżeli tak – następną cyfrą

będzie 0,

6. kroki 3–6 będą powtarzane.

MOV R0,#30H

;adres tablicy kodów

MOV @R0,#0CFH

;kod 0

INR R0

.......

;załadowanie wszystkich kodów

OD_NOWA: MOV R1,#30H

;licznik cyfr

CYKL:

MOV P1,#@R1

; wysłanie kodu 8–segmentowego

LCALL SEKUNDA

;odmierzenie opóźnienia

INR R1

CJNE R1,#10,CYKL

;czy była cyfra 9?

LJMP OD_NOWA

SEKUNDA:

MOV TMOD,#00010000B

; licznik T1 zlicza impulsy wewnętrzne

(C/T =0) w trybie 1 (M1M0=01)

MOV TH1,#HIGH(48576)

;załadowanie starszego bajtu wartości
początkowej do starszej części licznika T1

MOV TL1,#LOW(48576)

;załadowanie młodszego bajtu wartości
początkowej do młodszej części licznika T1

MOV R7,#16

;licznik przepełnień

SETB TR1

;start zliczania

SEK:

JNB TF1,$

;oczekiwanie na przepełnienie licznika

CLR TF1

;programowe zdjęcie flagi przepełnienia

DJNZ R7,SEK

; dekrementacja licznika przepełnień

CLR TR1

; zatrzymanie licznika po odmierzeniu 1s

RET

4.1.2. Pytania sprawdzające

Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.

1. W jaki sposób można dołączyć układy zewnętrzne do mikrokontrolera?
2. Jakimi rozkazami można wysłać daną z akumulatora mikrokontrolera na układ

zewnętrzny dołączony do portu równoległego?

3. Jakimi rozkazami można wysłać daną z akumulatora mikrokontrolera na układ

zewnętrzny dołączony do magistrali?

4. W jaki sposób można wyświetlać znaki na kilku wyświetlaczach dołączonych

do mikrokontrolera?

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

14

4.1.3. Ćwiczenia

Ćwiczenie 1

Napisz i uruchom program sterowania sygnalizacją świetlną. Sygnalizatory są

symulowane przez diody dołączone do portu P5 mikrokontrolera:

Sposób wykonania ćwiczenia

Aby wykonać ćwiczenie powinieneś:

1) przygotować sekwencję świateł na skrzyżowaniu wypełniając tabelę:

droga

główna

droga

podporz.

przejście

dla

pieszych

D7 D6 D5 D4 D3 D2 D1 D0

czas

zielone

czerw.

czerw.

0

0

1

1

0

0

0

1

5 s

……

……

……

2) przygotować algorytm programu w postaci schematu blokowego,
3) napisać program w języku asemblera do odmierzania czasu używając układu czasowego,
4) skompilować program, poprawić ewentualne błędy,
5) uruchomić program używając zestawu uruchomieniowego,
6) sprawdzić poprawność działania programu,
7) zaprezentować wykonane ćwiczenie,
8) dokonać oceny poprawności wykonanego ćwiczenia.

Wyposażenie stanowiska pracy:

– komputer PC,
– oprogramowanie umożliwiające kompilowanie i debbugowanie programu,
– zestaw uruchomieniowy z oprogramowaniem,
– literatura z rozdziału 6.

Ćwiczenie 2

Napisz i uruchom program wyświetlania na wyświetlaczu 8–segmentowym numeru

naciśniętego na klawiaturze klawisza:

Sposób wykonania ćwiczenia

D0
D1

D2 D3 D4

D5

D6

D7

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

15

Aby wykonać ćwiczenie powinieneś:

1) przygotować kody 8–segmentowe poszczególnych cyfr szesnastkowych,
2) przygotować algorytm programu w postaci schematu blokowego,
3) napisać program w języku asemblera,
4) skompilować program, poprawić ewentualne błędy,
5) uruchomić program używając zestawu uruchomieniowego,
6) sprawdzić poprawność działania programu,
7) zaprezentować wykonane ćwiczenie,
8) dokonać oceny poprawności wykonanego ćwiczenia.

Wyposażenie stanowiska pracy:

– komputer PC,
– oprogramowanie umożliwiające kompilowanie i debbugowanie programu,
– zestaw uruchomieniowy z oprogramowaniem,
– literatura z rozdziału 6.

Ćwiczenie 3

Napisz i uruchom program wyświetlający na diodach krążącą jedynkę w prawo, krążącą

jedynkę w lewo, krążące zero w prawo lub krążące zero w lewo. Wybór funkcji zrealizuj
używając przełączników.

Sposób wykonania ćwiczenia

Aby wykonać ćwiczenie powinieneś:

1) przygotować algorytm programu w postaci schematu blokowego,
2) napisać program w języku asemblera pamiętając o konieczności wprowadzenia

opóźnienia pomiędzy poszczególnymi stanami,

3) skompilować program, poprawić ewentualne błędy,
4) uruchomić program używając zestawu uruchomieniowego,
5) sprawdzić poprawność działania programu,
6) zaprezentować wykonane ćwiczenie,
7) dokonać oceny poprawności wykonanego ćwiczenia,

Wyposażenie stanowiska pracy:

– komputer PC,
– oprogramowanie umożliwiające kompilowanie i debbugowanie programu,
– zestaw uruchomieniowy z oprogramowaniem,
– literatura z rozdziału 6.

4.1.4. Sprawdzian postępów

Czy potrafisz:

Tak Nie

1) dołączyć diody do mikrokontrolera?

¨

¨

2) dołączyć wyświetlacze 8–segmentowe do mikrokontrolera?

¨

¨

3) dołączyć przełączniki do mikrokontrolera?

¨

¨

4) dołączyć klawiaturę do mikrokontrolera?

¨

¨

5) napisać program wysyłania danych na diody lub wyświetlacze

8–segmentowe?

¨

¨

6) wczytać stan przełączników i klawiatury ?

¨

¨

7) opracować kody klawiszy?

¨

¨

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

16

4.2. Wyświetlacz LCD

4.2.1.Matriał nauczania


Sterowanie wyświetlaczem LCD jest na tyle skomplikowane, że budowane są jako

gotowe moduły zawierające oprócz wyświetlacza kontroler sterujący wyświetlaniem danych
na wyświetlaczu. Przykładem może być wyświetlacz LCD ze sterownikiem HD44780.

Rys.6. Przykładowy sposób dołączenia wyświetlacza LCD w przestrzeni adresowej pamięci XRAM

[5, s. 206]

Kontroler zawiera pamięć danych DD RAM i generator znaków CG ROM. Do pamięci

danych wpisywane są znaki wyświetlane na wyświetlaczu, adres w DD RAM odpowiada
pozycji na wyświetlaczu. Dla wyświetlacza 2x16 znaków do poszczególnych pozycji
wyświetlacza przyporządkowane są następujące adresy DD RAM (szesnastkowo):

linia1 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F
linia2 40 41 42 43 44 45 46 47 48 49 4A 4B 4c 4D 4E 4F

Pamięć CG ROM zawiera generator znaków. Adresy w pamięci CG ROM odpowiadają
kodom ASCII znaków. Dodatkowo można zaprojektować 8 własnych znaków umieszczonych
w pamięci CG ROM pod adresami 0..7 (lub 8..15).

Dołączenie wyświetlacza LCD do mikrokontrolera wymaga doprowadzenia szyny danych
oraz 3 sygnałów sterujących:
Linia

Nazwa

Opis

E

Enable

Wybór sterownika

RS

Register selection Wybór wewnętrznych rejestrów: instrukcji lub danych

R/W

Read/ Write

Odczyt/ zapis sterownika




background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

17

Cztery kombinacje sygnałów RS i R/W pozwalają na wykonanie następujących operacji:

Tabela 1 Sygnały RS i R/W

RS

R/W Opis

1

0

zapis danych do pamięci RAM (pamięci wyświetlacza DD RAM lub generatora
znaków CG RAM)

1

1

odczyt danych z pamięci RAM (pamięci wyświetlacza DD RAM lub generatora
znaków CG RAM)

0

1

odczyt słowa statusowego, najstarszy bit busy jest informacją o stanie zajętości
wyświetlacza: busy=1– sterownik zajęty

0

0

zapis rozkazów do sterownika


Współpraca mikrokontrolera z wyświetlaczem LCD wymaga wysłania rozkazów sterujących.

Tabela 2 Rozkazy sterujące wyświetlacza LCD


Rozkaz

Opis

0 0

0

0

0

0

0

1

Clear Display– kasuj dane wyśw. i ustaw kursor na
adres 0

0 0

0

0

0

0

1

x

Return Home– ustaw kursor na adres 0

0 0

0

0

0

1

I/D S

Entry mode set– ustaw kierunek przesunięcia
kursora oraz wł/ wył kierunek przesuwania danych
wyświetlacza:
I/D=1 zwiększaj adres kursora po każdym wpisie
danej
I/D=0 zmniejszaj adres kursora po każdym wpisie
danej
S=1 jednoczesny obrót danych wyświetlacza

0 0

0

0

1

D

C

B

Display ON/OFF control: 1– ON(włącz), 0–
OFF(wyłącz):
D– cały wyświetlacz
C– kursor
B– miganie znaku w pozycji kursora

0 0

0

1

S/C R/L x

x

Kursor and display Shift
S/C=1– obrót danych wyświetlacza
S/C=0– przesunięcie kursora
R/L=1– obrót/ przesunięcie w prawo
R/L=0– obrót/ przesunięcie w lewo

0 0

1

DL N

F

x

x

Function set
DL=1– 8–bitowa szyna
DL=0– 4–bitowa szyna
N=1– 2 linie wyświetlacza
N=0– 1 linia wyświetlacza
F=1– znaki 5x10 punktów
F=0– znaki 5x7 punktów

0 1

A

5

A

4

A

3

A

2

A

1

A

0

Set CG RAM address
Ustawienie adresu generatora znaków (A

5

..A

0

)

1 A

6

A

5

A

4

A

3

A

2

A

1

A

0

Set DD RAM address
Ustawienie adresu danych (A

6

..A

0

)– pozycji na

wyświetlaczu

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

18

Wyświetlacz LCD może być dołączony do mikrokontrolera w przestrzeni adresowej

pamięci XRAM, przykładowy adres 8800H. Linie R/W i RS są doprowadzone jako bity
adresowe A1 i A0. Stąd w celu wybrania wyświetlacza LCD są stosowane następujące
adresy:
starszy bajt adresu: 88H
młodszy bajt:

A7 A6 A5 A4 A3 A2

A1

R/W

A0
RS

0

0

0

0

0

0

0

0

– zapis słowa sterującego

0

0

0

0

0

0

0

1

– zapis danej

0

0

0

0

0

0

1

0

– odczyt słowa statusowego

0

0

0

0

0

0

1

1

– odczyt danej

Przykładowa inicjalizacja wyświetlacza:

MOV DPTR,#8800H

; wybór funkcji: zapis słowa sterującego

MOV A,#38H

;szyna 8–bitowa, 2 linie, znak 5x7

MOVX @DPTR,A

;wysłanie słowa sterującego do wyświetlacza

LCALL BUSY

;oczekiwanie na gotowość

MOV A,#0EH

;wyświetlacz włączony, kursor widoczny

MOVX @DPTR,A

LCALL BUSY

MOV A,#06H

;inkrementacja adresu po wysłaniu słowa

MOVX @DPTR,A

LCALL BUSY

MOV A,#0

;wyczyszczenie wyświetlacza

MOVX @DPTR,A

LCALL BUSY


; wysyłanie danych na wyświetlacz LCD
BUSY:

PUSH DPH

;zachowanie rejestru DPTR na stosie

PUSH DPL

PUSH ACC

;zachowanie akumulatora na stosie

MOV DPTR,#8802H

;wybór funkcji: odczyt słowa statusowego

TEST:

MOVX A,@DPTR

;pobranie słowa statusowego

JB ACC.7,TEST

;test

flagi

busy

(oczekiwanie

na

gotowość

wyświetlacza)

POP ACC

;odtworzenie stanu akumulatora

POP DPL

;odtworzenie stanu rejestru DPTR

POP DPH

RET







background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

19

Niekiedy pojawia się potrzeba zdefiniowania własnych znaków np. „polskich liter”.

Mamy wówczas do dyspozycji 8 komórek pamięci generatora znaków (adresy 0–7 lub 8–15).
Definiujemy literę ó na polu 5x7 pikseli:

hex:

01

02

0E

11

11

11

0E


inicjalizacja wyświetlacza

………………..

;zdefiniowanie własnego znaku

MOV DPTR,#8800H

;wybór funkcji: zapis słowa sterującego

MOV A,#40H

;adres 0 w CG RAM

MOVX @DPTR,A

LCALL BUSY

MOV R7,#7

;licznik bajtów wysyłanych do CGRAM

MOV A,#0

PL:

MOV DPTR,#TAB_PL

;adres tablicy ze zdefiniowaną literą

PUSH ACC

MOVC A,@A+DPTR

;pobranie bajtu definiowanego znaku

MOV DPTR,#8801H

;wybór funkcji: zapis danej

MOVX @DPTR,A

LCALL BUSY

POP ACC

INC A

DJNZ R7,PL

TAB_PL:

DB: 01, 02, 0Eh, 11h, 11h, 11h, 0Eh


Odwołanie do zdefiniowanego znaku następuje przez podanie jego adresu. Na przykład w

celu wyświetlenia tekstu Próba definiujemy tablicę:
TABLICA: DB ‘Pr’,00,’ba’, znaki znajdujące się pomiędzy apostrofami zostaną pobrane jako
kody ASCII z generatora znaków CGROM, a własny znak– z komórki 0 pamięci CGRAM.
Jeżeli konieczne jest zdefiniowanie większej ilości znaków wystarczy zwiększyć licznik
(np. 3 znaki– licznik=21), w tablicy umieścić odpowiednia ilość bajtów. Znak zdefiniowany
przez pierwsze 7 bajtów zostanie zapamiętany pod adresem 0, kolejne pod adresami 1,2 itd.

4.2.2. Pytania sprawdzające


Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.

1. Jakie sygnały z mikrokontrolera muszą być doprowadzone do wyświetlacza LCD?
2. W jaki sposób można zainicjować wyświetlacz LCD?
3. Jak sprawdzić gotowość wyświetlacza LCD do odebrania słowa sterującego lub danej?
4. Jak wyświetlić znak na wyświetlaczu LCD na wybranej pozycji?

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

20

5. Jak zdefiniować własny znak?
6. Jak wyświetlić tekst zawierający gotowe znaki z CGROM i znaki własne?

4.2.3. Ćwiczenia

Ćwiczenie 1

Program wysyłania na wyświetlacz znaków z generatora znaków. Po wysyłaniu 16

znaków odmierz jednosekundowe opóźnienie umożliwiające obserwację znaków, następnie
wyślij kolejnych 16 znaków itd., aż do wyczerpania znaków w pamięci generatora znaków
CGROM.

Sposób wykonania ćwiczenia

Aby wykonać ćwiczenie powinieneś:

1) przygotować słowa sterujące konieczne do zainicjowania wyświetlacza,
2) opracować algorytm programu i zapisać go w postaci schematu blokowego,
3) napisać program wyświetlania danych z generatora znaków,
4) napisać podprogram odmierzania czasu 1s, włączyć go jako podprogram do programu

głównego,

5) skompilować program, poprawić ewentualne błędy,
6) uruchomić program używając zestawu uruchomieniowego,
7) sprawdzić poprawność działania programu,
8) zaprezentować wykonane ćwiczenie,
9) dokonać oceny poprawności wykonanego ćwiczenia.

Wyposażenie stanowiska pracy:

– komputer PC,
– oprogramowanie umożliwiające kompilowanie i debbugowanie programu,
– zestaw uruchomieniowy z wyświetlaczem LCD wraz z oprogramowaniem,
– lista rozkazów mikrokontrolera,
– lista słów sterujących wyświetlacza LCD,
– tablica kodów ASCII,
– literatura z rozdziału 6.

Ćwiczenie 2

Napisz i uruchom program wyświetlający tekst dłuższy niż 16 znaków używając

znacznika końca:
a) w 2 liniach,
b) tekst przewija się na wyświetlaczu w 1 linijce.

Sposób wykonania ćwiczenia

Aby wykonać ćwiczenie powinieneś:

1) przygotować słowa sterujące konieczne do zainicjowania wyświetlacza,
2) opracować algorytm programu i zapisać go w postaci schematu blokowego,
3) napisać program wyświetlania danych (zdefiniować własne znaki),
4) skompilować program, poprawić ewentualne błędy,
5) uruchomić program używając zestawu uruchomieniowego,
6) sprawdzić poprawność działania programu,
7) zaprezentować wykonane ćwiczenie,
8) dokonać oceny poprawności wykonanego ćwiczenia.

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

21

Wyposażenie stanowiska pracy:

– komputer PC,
– oprogramowanie umożliwiające kompilowanie i debbugowanie programu,
– zestaw uruchomieniowy z wyświetlaczem LCD wraz z oprogramowaniem,
– lista rozkazów mikrokontrolera,
– lista słów sterujących wyświetlacza LCD,
– literatura z rozdziału 6.

Ćwiczenie 3

Napisz program wyprowadzania na wyświetlacz LCD trzycyfrowej liczby wprowadzonej

z klawiatury.

Sposób wykonania ćwiczenia

Aby wykonać ćwiczenie powinieneś:

1) przygotować słowa sterujące konieczne do zainicjowania wyświetlacza,
2) opracować algorytm programu i zapisać go w postaci schematu blokowego,
3) napisać program odczytu danej z klawiatury, zamiany pobranej danej na kod ASCII

i wyświetlania znaku,

4) skompilować program, poprawić ewentualne błędy,
5) uruchomić program używając zestawu uruchomieniowego,
6) sprawdzić poprawność działania programu,
7) zaprezentować wykonane ćwiczenie,
8) dokonać oceny poprawności wykonanego ćwiczenia.

Wyposażenie stanowiska pracy:

– komputer PC,
– oprogramowanie umożliwiające kompilowanie i debbugowanie programu,
– zestaw uruchomieniowy z wyświetlaczem LCD wraz z oprogramowaniem,
– lista rozkazów mikrokontrolera,
– lista słów sterujących wyświetlacza LCD,
– tablica kodów ASCII,
– literatura z rozdziału 6.


4.2.4. Sprawdzian postępów


Czy potrafisz:

Tak Nie

1) omówić sposoby dołączenia wyświetlacza LCD do mikrokontrolera?

¨

¨

2) zainicjować wyświetlacz?

¨

¨

3) napisać program wysyłania znaków na wyświetlacz?

¨

¨

4) zdefiniować i wyświetlić własne znaki?

¨

¨

5) napisać program przewijający po ekranie długi tekst?

¨

¨

6) napisać program wyprowadzający na wyświetlacz numer

naciśniętego klawisza?

¨

¨

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

22

4.3. Przetwornik C/A

4.3.1. Materiał nauczania

Przetwornik C/A pozwala na odwzorowanie danej cyfrowej w postaci sygnału

analogowego. Sposób odwzorowania przedstawia rysunek 7:

Rys. 7. Kształtowanie sygnału analogowego za pośrednictwem przetwornika cyfrowo–analogowego. [3,s. 57]


Odwzorowanie sygnału cyfrowego w analogowy jest tym lepsze :

im liczba bitów przetwornika jest większa,

im krótszy jest czas miedzy kolejnymi próbkami sygnału cyfrowego

t.

Przetwornik cyfrowo–analogowy jest traktowany jako zewnętrzne urządzenie wyjściowe,

do którego wpisywane są dane. W zależności od rozdzielczości przetwornika (ilości bitów)
przetwornik może zajmować jeden albo dwa adresy w przestrzeni adresowej.
Do mikrokontrolera z rodziny ‘51 najłatwiej dołączyć przetwornik C/A 8–bitowy. Prosty
przykład rozwiązania układowego jest przedstawiony na rys. 8. Zastosowano tutaj
przetwornik C/A typu DAC08, który nie zawiera w sobie rejestru pamięciowego, źródła
napięcia odniesienia, wzmacniacza wyjściowego. Z tego względu należy wszystkie te
elementy dołączyć do przetwornika. Najlepszym rozwiązaniem jest zastosowanie
przetwornika C/A przystosowanego do współpracy z układami mikroprocesorowymi, który
zawiera w sobie wszystkie wymienione wyżej elementy.

Rys. 8.–bitowy przetwornik C/A zrealizowany na układzie DAC08 [6]

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

23

Programowe kształtowania sygnału analogowego piłokształtnego na wyjściu

przetwornika C/A może być zrealizowane przez wpisywanie wartości cyfrowych do bufora
przetwornika. Przetwornik dołączony jest w przestrzeni adresowej pamięci zewnętrznej
XRAM, a więc wysłanie danej z mikrokontrolera do przetwornika rozkazem MOVX

powoduje jednocześnie wystawienie sygnału WR powodującego wpis danych do bufora
wejściowego przetwornika. Najwyższą częstotliwość generowanego sygnału można uzyskać,
jeżeli mikrokontroler będzie wykonywał jak najmniej rozkazów pomiędzy kolejnymi
sterowaniami przetwornika C/A lub ograniczy się liczbę poziomów kształtujących sygnał
analogowy. Zakładając 8–bitowy przetwornik (256 poziomów), największą częstotliwość
sygnału można uzyskać dla sygnału o następującym kształcie:

Rys. 9. sygnał piłokształtny uzyskany na wyjściu przetwornika C/A


Program kształtujący sygnał analogowy (przykładowy adres przetwornika C/A–9000H):

CLR A

;zerowanie akumulatora

MOV DPTR,#9000H

;adres przetwornika C/A

CYKL:

MOVX @DPTR,A

;wysłanie danej do bufora przetwornika

INC A

SJMP CYKL

Mikrokontroler wykonuje pętlę w czasie 5 cykli maszynowych: rozkaz MOVX

@DPTR,A– 2 cykle, INC A– 1cykl, SJMP CYKL– 2 cykle. Przy 8– bitowej rozdzielczości
przetwornika C/A okres T generowanego sygnału wynosi:

T=256*5cykli=1280 cykli maszynowych
dla f

XTAL

=12 MHz:

f

max

=

Hz

25

,

781

T

1

=

4.3.2. Pytania sprawdzające

Odpowiadając na pytania, sprawdzisz, czy jesteś przygotowany do wykonania ćwiczeń.

1. Jakie jest zadanie przetwornika C/A?
2. W jaki sposób liczba bitów przetwornika wpływa na jakość sygnału analogowego?
3. Jakie parametry przetwornika C/A wpływają na odwzorowanie sygnału analogowego?
4. W jaki sposób można wygenerować przebieg o zadanym kształcie na wyjściu

przetwornika C/A dołączonego do mikrokontrolera?

t

U(t)

U

max

t

FE

0

1

2

3

FF

FD
D

T

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

24

4.3.3. Ćwiczenia


Ćwiczenie 1

Napisz i uruchom program generujący na wyjściu przetwornika C/A przebieg

piłokształtny jak na rysunku:

Sposób wykonania ćwiczenia

Aby wykonać ćwiczenie powinieneś:

1) przygotować algorytm programu w postaci schematu blokowego,
2) napisać program w języku asemblera,
3) skompilować program, poprawić ewentualne błędy,
4) uruchomić program używając zestawu uruchomieniowego,
5) sprawdzić poprawność działania programu używając oscyloskopu,
6) zaprezentować wykonane ćwiczenie,
7) dokonać oceny poprawności wykonanego ćwiczenia.

Wyposażenie stanowiska pracy:

– komputer PC,
– oprogramowanie umożliwiające kompilowanie i debbugowanie programu,
– zestaw uruchomieniowy z oprogramowaniem,
– oscyloskop,
– literatura z rozdziału 6.


Ćwiczenie 2

Napisz i uruchom program generujący na wyjściu przetwornika C/A przebieg

trapezoidalny jak na rysunku:

FD

t

U(t)

U

max

t

0

1

2

3

FE

FF

T

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

25

Sposób wykonania ćwiczenia

Aby wykonać ćwiczenie powinieneś:

1) przygotować algorytm programu w postaci schematu blokowego,
2) napisać program w języku asemblera,
3) skompilować program, poprawić ewentualne błędy,
4) uruchomić program używając zestawu uruchomieniowego,
5) sprawdzić poprawność działania programu używając oscyloskopu,
6) zaprezentować wykonane ćwiczenie,
7) dokonać oceny poprawności wykonanego ćwiczenia.

Wyposażenie stanowiska pracy:

– komputer PC,
– oprogramowanie umożliwiające kompilowanie i debbugowanie programu,
– zestaw uruchomieniowy z oprogramowaniem,
– oscyloskop,
– literatura z rozdziału 6.

Ćwiczenie 3

Wyszukaj w Internecie noty katalogowe przetworników C/A różnych producentów.

Porównaj ich parametry, przeanalizuj możliwość dołączenia do mikrokontrolera 8–bitowego.


Sposób wykonania ćwiczenia

Aby wykonać ćwiczenie powinieneś:

1) wyszukać w Internecie strony producentów przetworników C/A,
2) na stronie producentów przetworników C/A odszukać przetworniki współpracujące z

mikrokontrolerami 8–bitowymi,

3) ściągnąć dokumentację wybranych przetworników,
4) porównać ich parametry,
5) zaprezentować wykonanie ćwiczenia.

Wyposażenie stanowiska pracy:

– komputer PC z dostępem do Internetu,
– oprogramowanie umożliwiające przeglądanie dokumentacji w postaci PDF,
– literatura z rozdziału 6.

U(t)

U

max

T

¾ U

max

C0

t

t

0

1

2

3

FD

FE

FF

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

26

4.3.4. Sprawdzian postępów


Czy potrafisz:

Tak Nie

1) wskazać sposoby dołączenia przetwornika C/A

do mikrokontrolera 8–bitowego?

¨

¨

2) podać podstawowe parametry przetwornika C/A?

¨

¨

3) porównać przetworniki ze względu na parametry?

¨

¨

4) napisać program generowania przebiegów analogowych

o zadanym kształcie ?

¨

¨

5) obliczyć okres i częstotliwość wygenerowanego przebiegu

analogowego?

¨

¨


background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

27

5. SPRAWDZIAN OSIĄGNIĘĆ

INSTRUKCJA DLA UCZNIA

1. Przeczytaj uważnie instrukcję.
2. Podpisz imieniem i nazwiskiem kartę odpowiedzi.
3. Zapoznaj się z zestawem zadań testowych.
4. Test zawiera 20 zadań o różnym stopniu trudności. Zadania: 1–14 są to zadania

wielokrotnego wyboru i tylko jedna odpowiedź jest prawidłowa, w zadaniach: 15–20
należy udzielić krótkiej odpowiedzi,

5. Udzielaj odpowiedzi tylko na załączonej karcie odpowiedzi:

w zadaniach wielokrotnego wyboru 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ą),

w zadaniach z krótką odpowiedzią wpisz odpowiedź w wyznaczone pole,

6. Test składa się z dwóch części o różnym stopniu trudności: I część – poziom

podstawowy, II część – poziom ponadpodstawowy.

7. Pracuj samodzielnie, bo tylko wtedy będziesz miał satysfakcję z wykonanego zadania.
8. Kiedy udzielenie odpowiedzi będzie Ci sprawiało trudność, wtedy odłóż jego

rozwiązanie na później i wróć do niego, gdy zostanie Ci czas wolny. Trudności mogą
przysporzyć Ci zadania: 16 – 20, gdyż są one na poziomie trudniejszym niż pozostałe.

9. Na rozwiązanie testu masz 90 min.

Powodzenia

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

28

ZESTAW ZADAŃ TESTOWYCH

1. Który z rozkazów spowoduje, że diody dołączone do portu P1 zapalą się tak, jak na

rysunku?

a) MOV P1,#55,
b) MOV P1,#85,
c) MOVX P1,A,
d) SETB P1.

2. Po wczytaniu stanu przełączników w akumulatorze jest liczba ABH, ile przełączników

było ustawionych?
a) 2,
b) 3,
c) 4,
d) 5.

3. Poniższy program spowoduje, że na diodach dołączonych do portu P1 będą pojawiały się

kolejne liczby w kodzie:
a) krążąca jedynka w prawo,
b) krążąca jedynka w lewo,
c) krążące zero w prawo,
d) krążące zero lewo.

MOV A,#80H

CPL A

CYKL:

RR A

MOV P1,A

LCALL CZAS

LJMP CYKL

4. Rysunek przedstawia wyświetlacz 8 segmentowy dołączony do portu P1 mikrokontrolera.

Jaką liczbę należy wysłać na port, aby wyświetlić cyfrę 3?

a) 1FH,

b) 17H,
c) 4FH,
d) 47H.







background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

29

5. Po adresem A000H dołączona jest klawiatura (osiem klawiszy aktywnych zerem), który

z fragmentów programu spowoduje skok pod adres DWA pod warunkiem, że naciśnięty
był klawisz drugi:

MOV DPTR,#0A000H
MOVX A,@DPTR
a) CJNE A,#2,SKOK

LJMP DWA,

b) CJNE A,#0FBH,SKOK

LJMP DWA,

c) CJNE A,#0FBH,DWA,
d) CJNE A,#02H,DWA.

6. W wyniku wykonania rozkazu MOV A,P1 zawartość akumulatora jest równa BBH, który

klawisz był naciśnięty?

a) S4,
b) S7,
c) S10,
d) S13.

7. Litera A pojawi się na wskazanej pozycji wyświetlacza LCD pod warunkiem, że jej kod

został wpisany:

A

a) do pamięci CGRAM pod adres 03H,
b) do pamięci DDRAM pod adres 03H,
c) do pamięci CGRAM pod adres 43H,
d) do pamięci DDRAM pod adres 43H.

8. Wyświetlacz LCD został dołączony do mikrokontrolera w przestrzeni adresowej pod

adresem 5500H. Linia RS została doprowadzona z wyświetlacza LCD jako A0, a R/W
jako A1 z magistrali adresowej. Odwołanie się do adresu 5501H oznacza:
a) zapis słowa sterującego,
b) zapis danej,
c) odczyt słowa statusowego,
d) odczyt danej.

9. Jaką wartość wpisać do DPTR i jakim rozkazem uzupełnić program testowania zajętości

wyświetlacza dołączonego do mikrokontrolera pod adresem 50H (RS=A0, R/W=A1):

MOV DPTR,#..............

CZEKAJ:

…………

JB ACC.7,CZEKAJ

a) 50H, MOVX A,@DPTR,
b) 50H, SETB ACC.7,
c) 52H, MOVX A,@DPTR,
d) 52H, SETB ACC.7.

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

30

10. W opisie wyświetlacza LCD jest słowo sterujące:

0 0

0

0

1

D

C

B

Display ON/OFF control: 1– ON, 0–OFF

Wysłanie jakiego słowa spowoduje załączenie wyświetlacza z migającym kursorem:

a) 0FH,
b) 0EH,
c) 0BH,
d) 0AH.

11. Jaki znak i na którym wyświetlaczu zostanie wyświetlony po wykonaniu rozkazu

MOV P1,#43H?

a) cyfra 3 na W4,
b) cyfra 3 na W3,
c) cyfra 4 na W4,
d) cyfra 4 na W3.

12. Odwzorowanie danej cyfrowej w postaci sygnału analogowego będzie tym lepsze im:

a) liczba bitów przetwornika większa i częstotliwość przetwarzania większa,
b) liczba bitów przetwornika mniejsza i częstotliwość przetwarzania większa,
c) liczba bitów przetwornika większa i częstotliwość przetwarzania mniejsza,
d) liczba bitów przetwornika mniejsza i częstotliwość przetwarzania mniejsza.

13. Częstotliwość przebiegu analogowego generowanego na wyjściu 8– bitowego

przetwornika C/A w wyniku wykonania programu realizującego wysyłanie danej cyfrowej
w ciągu 10 cykli (f

XTAL

=12MHz) wynosi:

a) 390,625 Hz.
b) 4687,5 Hz.
c) 390,625 kHz.
d) 4687,5 kHz.









background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

31

14. Jaki przebieg uzyskamy na wyjściu 8– bitowego przetwornika C/A dołączonego do

mikrokontrolera pod adresem A000H w wyniku wykonania następującego programu:

MOV DPTR,#0A000H

MOV R1,#64

CYKL1:

MOV A,R1

CYKL2:

MOVX @DPTR,A

ADD A,R1

JNC CYKL2

SJMP CYKL1


a)

b)

c)

d)


15. Do portu P5 dołączone są przełączniki binarne, a pod adresem 9000h dołączone są diody.

Napisz program zapalający diody odpowiadające przełącznikom w stanie 1 logicznej,
a gaszący diody odpowiadające przełącznikom w stanie 0 logicznego.


16. Jakie słowa należy wysłać do wyświetlacza LCD w celu zdefiniowania następującego

znaku?

17. Uzupełnij program wysyłania tablicy zdefiniowanej TABLICA: DB ‘Tekst’, zakładając,

że wyświetlacz został już zainicjowany, podprogram testowania zajętości wyświetlacza
znajduje się pod adresem BUSY, adres wyświetlacza 8800H (RS=A0, R/W=A1):

MOV R7,#5

;licznik ilości znaków do wysłania

MOV DPTR,#TABLICA

;wpis adresu tablicy z tekstem do
wyświetlenia

MOV A,#0

;akumulator zawiera numer wysyłanego
znaku z tablicy (offset)

SEND:

PUSH ACC

;zachowanie stanu akumulatora na stosie

MOVC A,@A+DPTR

;pobranie znaku

LCALL DISPL

;wywołanie

podprogramu

wysyłania

znaku

POP ACC

;przywrócenie offsetu

INC A

;następny znak z tablicy


t

U

t

U

t

U


t

U

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

32

DJNZ R7,SEND

DISPL:

RET

18. W przestrzeni adresowej pamięci XRAM pod adresem B000H i B001H podłączone są

klawisze jak na rysunku:

klawisze S1–S9 dołączone pod adresem B000H mają być odczytane jako cyfry 0...7, a S1
i S2 pod adresem B001H jako 8 i 9. Napisz program który odczyta stan klawiatury
i wyświetli na wyświetlaczu LCD numer naciśniętego klawisza. Wyświetlacz LCD
znajduje się pod adresem C000H, jest właściwie zainicjowany, a pod adresem BUSY
znajduje się podprogram testowania zajętości.

19. Napisz program generujący na wyjściu 8– bitowego przetwornika C/A (adres A000H)

przebieg trapezoidalny jak na rysunku:

20. Jaka jest częstotliwość wygenerowanego w zadaniu 19 sygnału analogowego?







U(t)

U

max

T

2

U

MAX

t

t

0

1

2

3

FD

FE

FF

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

33

KARTA ODPOWIEDZI


Imię i nazwisko ……………………………………………………..


Badanie układów zewnętrznych mikrokontrolera


Zakreśl poprawną odpowiedź lub wpisz 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.

16.

17.


background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

34

18.


19.


20.

background image

„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”

35

6. LITERATURA

1.

Dyrcz K., Kowalski C. T., Zarczyński Z.: Podstawy techniki mikroprocesorowej,
Oficyna Wydawnicza Politechniki Wrocławskiej, 1999.

2.

Janiczek J., Stępień A.: Mikrokontroler 80(C)51/52, Wydawnictwo Elektronicznych
Zakładów Naukowych, Wrocław 1995.

3.

Janiczek J., Stępień A.: Laboratorium systemów mikroprocesorowych cz. I i II,
Wydawnictwo Elektronicznych Zakładów Naukowych, Wrocław 1995.

4.

Rydzewski A.: Mikrokomputery jednoukładowe rodziny MCS–51,Wydawnictwa
Naukowo– Techniczne, Warszawa 1992.

5.

Starecki T.: Mikrokontrolery 8051 w praktyce, Wydawnictwo BTC, Warszawa 2002

6.

http://www.adatronik.com.pl


Wyszukiwarka

Podobne podstrony:
23 Badanie układów zewnętrznych mikrokontrolera
Badanie ukladow zewnetrznych mi Nieznany (2)
Badanie Układów scalonych
04 Badanie układów elektrycznych i elektronicznych
Badanie ukladow uzaleznien czas Nieznany
2 Badanie ukladow dopasowania i Nieznany
Badanie układów z elementami nieliniowymiwojtaszczyk1
Badanie układów iskiernikowych
BADANIE UKŁADÓW PROSTOWNIKOWYCH PRZY RÓŻNYCH OBCIĄŻENIACH
badanie układów selektywnych wykres LJH42F7QSVEEZX7ZNGR3COROC2IH22TRYXY3JGY
Badanie układów o promieniowym rozkładzie natężenia pola magnetycznego v2, Elektrotechnika semestr 4
Badanie ukladow prostowniczych i powielaczy napiecia, Klasa
badanie układów teleskopowych
14 Badanie układów sprzęgających
Badanie układów impulsowych, UKŁADY IMPULSOWE, 1. Cel ćwiczenia.
Badanie układów kombinacyjnych, Zespół Szkół Elektrycznych nr 1 w Poznaniu
Badanie układów o promieniowym rozkładzie natężenia pola magnetycznego, GRONEK9, Laboratorium Podsta
Badanie układów o promieniowym rozkładzie natężenia pola magnetycznego, GRONEK9, Laboratorium Podsta
07 Badanie układów dopasowania impedancji

więcej podobnych podstron