„
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
„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
„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
„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.
„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.
„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
„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.
„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).
„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
„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:
„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.
„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
„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
„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?
„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
„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?
¨
¨
„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
„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
„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
„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?
„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.
„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?
¨
¨
„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]
„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
„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
„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
„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?
¨
¨
„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
„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.
„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.
„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.
„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
„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
„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.
„Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego”
34
18.
19.
20.
„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.