SlideShare a Scribd company logo
„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 A5 A4 A3 A2 A1 A0 Set CG RAM address
Ustawienie adresu generatora znaków (A5..A0)
1 A6 A5 A4 A3 A2 A1 A0 Set DD RAM address
Ustawienie adresu danych (A6..A0)– 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 fXTAL=12 MHz:
fmax= Hz25,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)
Umax
∆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)
Umax
∆t0
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)
Umax
T
¾ Umax
C0
t
∆t0
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 (fXTAL=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)
Umax
T
2
UMAX
t
∆t0
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. http://www.adatronik.com.pl

More Related Content

What's hot

12. Badanie podstawowych układów cyfrowych
12. Badanie podstawowych układów cyfrowych12. Badanie podstawowych układów cyfrowych
12. Badanie podstawowych układów cyfrowych
Lukas Pobocha
 
13. Badanie układów uzależnień czasowych
13. Badanie układów uzależnień czasowych13. Badanie układów uzależnień czasowych
13. Badanie układów uzależnień czasowych
Lukas Pobocha
 
21. Pisanie i uruchamianie programów w asemblerze
21. Pisanie i uruchamianie programów w asemblerze21. Pisanie i uruchamianie programów w asemblerze
21. Pisanie i uruchamianie programów w asemblerze
Lukas Pobocha
 
41. montowanie i uruchamianie komputera
41. montowanie i uruchamianie komputera41. montowanie i uruchamianie komputera
41. montowanie i uruchamianie komputera
Lukas Pobocha
 
10. Badanie generatorów
10. Badanie generatorów10. Badanie generatorów
10. Badanie generatorów
Lukas Pobocha
 
40. badanie układów sterowania z regulatorami nieciągłymi
40. badanie układów sterowania z regulatorami nieciągłymi40. badanie układów sterowania z regulatorami nieciągłymi
40. badanie układów sterowania z regulatorami nieciągłymi
Lukas Pobocha
 
27. Wykonywanie pomiarów z wykorzystaniem techniki komputerowej
27. Wykonywanie pomiarów z wykorzystaniem techniki komputerowej27. Wykonywanie pomiarów z wykorzystaniem techniki komputerowej
27. Wykonywanie pomiarów z wykorzystaniem techniki komputerowej
Lukas Pobocha
 
14. Badanie układów sprzęgających
14. Badanie układów sprzęgających14. Badanie układów sprzęgających
14. Badanie układów sprzęgających
Lukas Pobocha
 
34. Montowanie i badanie sieci telewizji kablowej
34. Montowanie i badanie sieci telewizji kablowej34. Montowanie i badanie sieci telewizji kablowej
34. Montowanie i badanie sieci telewizji kablowej
Lukas Pobocha
 
45. Testowanie, diagnozowanie i wymiana podzespołów
45. Testowanie, diagnozowanie i wymiana podzespołów 45. Testowanie, diagnozowanie i wymiana podzespołów
45. Testowanie, diagnozowanie i wymiana podzespołów
Lukas Pobocha
 
29. Badanie odbiornika telewizyjnego
29. Badanie odbiornika telewizyjnego29. Badanie odbiornika telewizyjnego
29. Badanie odbiornika telewizyjnego
Lukas Pobocha
 
26. Eksploatowanie częstościomierzy, generatorów pomiarowych, mostków i mier...
26. Eksploatowanie częstościomierzy, generatorów pomiarowych, mostków i  mier...26. Eksploatowanie częstościomierzy, generatorów pomiarowych, mostków i  mier...
26. Eksploatowanie częstościomierzy, generatorów pomiarowych, mostków i mier...
Lukas Pobocha
 
28. Badanie odbiornika radiowego
28. Badanie odbiornika radiowego28. Badanie odbiornika radiowego
28. Badanie odbiornika radiowego
Lukas Pobocha
 
46. Stosowanie dyskowych programów narzędziowych
46. Stosowanie dyskowych programów narzędziowych 46. Stosowanie dyskowych programów narzędziowych
46. Stosowanie dyskowych programów narzędziowych
Lukas Pobocha
 
19. Badanie regulatorów ciągłych
19. Badanie regulatorów ciągłych19. Badanie regulatorów ciągłych
19. Badanie regulatorów ciągłych
Lukas Pobocha
 
44. Instalowanie urządzeń peryferyjnych
44. Instalowanie urządzeń peryferyjnych44. Instalowanie urządzeń peryferyjnych
44. Instalowanie urządzeń peryferyjnych
Lukas Pobocha
 
33. Montowanie i badanie antenowej instalacji zbiorczej
33. Montowanie i badanie antenowej instalacji zbiorczej33. Montowanie i badanie antenowej instalacji zbiorczej
33. Montowanie i badanie antenowej instalacji zbiorczej
Lukas Pobocha
 
31. Instalowanie i programowanie urządzeń audio
31. Instalowanie i programowanie urządzeń audio31. Instalowanie i programowanie urządzeń audio
31. Instalowanie i programowanie urządzeń audio
Lukas Pobocha
 
7. Badanie elementów i układów automatyki
7. Badanie elementów i układów automatyki7. Badanie elementów i układów automatyki
7. Badanie elementów i układów automatyki
Lukas Pobocha
 
25. Eksploatowanie oscyloskopów
25. Eksploatowanie oscyloskopów25. Eksploatowanie oscyloskopów
25. Eksploatowanie oscyloskopów
Lukas Pobocha
 

What's hot (20)

12. Badanie podstawowych układów cyfrowych
12. Badanie podstawowych układów cyfrowych12. Badanie podstawowych układów cyfrowych
12. Badanie podstawowych układów cyfrowych
 
13. Badanie układów uzależnień czasowych
13. Badanie układów uzależnień czasowych13. Badanie układów uzależnień czasowych
13. Badanie układów uzależnień czasowych
 
21. Pisanie i uruchamianie programów w asemblerze
21. Pisanie i uruchamianie programów w asemblerze21. Pisanie i uruchamianie programów w asemblerze
21. Pisanie i uruchamianie programów w asemblerze
 
41. montowanie i uruchamianie komputera
41. montowanie i uruchamianie komputera41. montowanie i uruchamianie komputera
41. montowanie i uruchamianie komputera
 
10. Badanie generatorów
10. Badanie generatorów10. Badanie generatorów
10. Badanie generatorów
 
40. badanie układów sterowania z regulatorami nieciągłymi
40. badanie układów sterowania z regulatorami nieciągłymi40. badanie układów sterowania z regulatorami nieciągłymi
40. badanie układów sterowania z regulatorami nieciągłymi
 
27. Wykonywanie pomiarów z wykorzystaniem techniki komputerowej
27. Wykonywanie pomiarów z wykorzystaniem techniki komputerowej27. Wykonywanie pomiarów z wykorzystaniem techniki komputerowej
27. Wykonywanie pomiarów z wykorzystaniem techniki komputerowej
 
14. Badanie układów sprzęgających
14. Badanie układów sprzęgających14. Badanie układów sprzęgających
14. Badanie układów sprzęgających
 
34. Montowanie i badanie sieci telewizji kablowej
34. Montowanie i badanie sieci telewizji kablowej34. Montowanie i badanie sieci telewizji kablowej
34. Montowanie i badanie sieci telewizji kablowej
 
45. Testowanie, diagnozowanie i wymiana podzespołów
45. Testowanie, diagnozowanie i wymiana podzespołów 45. Testowanie, diagnozowanie i wymiana podzespołów
45. Testowanie, diagnozowanie i wymiana podzespołów
 
29. Badanie odbiornika telewizyjnego
29. Badanie odbiornika telewizyjnego29. Badanie odbiornika telewizyjnego
29. Badanie odbiornika telewizyjnego
 
26. Eksploatowanie częstościomierzy, generatorów pomiarowych, mostków i mier...
26. Eksploatowanie częstościomierzy, generatorów pomiarowych, mostków i  mier...26. Eksploatowanie częstościomierzy, generatorów pomiarowych, mostków i  mier...
26. Eksploatowanie częstościomierzy, generatorów pomiarowych, mostków i mier...
 
28. Badanie odbiornika radiowego
28. Badanie odbiornika radiowego28. Badanie odbiornika radiowego
28. Badanie odbiornika radiowego
 
46. Stosowanie dyskowych programów narzędziowych
46. Stosowanie dyskowych programów narzędziowych 46. Stosowanie dyskowych programów narzędziowych
46. Stosowanie dyskowych programów narzędziowych
 
19. Badanie regulatorów ciągłych
19. Badanie regulatorów ciągłych19. Badanie regulatorów ciągłych
19. Badanie regulatorów ciągłych
 
44. Instalowanie urządzeń peryferyjnych
44. Instalowanie urządzeń peryferyjnych44. Instalowanie urządzeń peryferyjnych
44. Instalowanie urządzeń peryferyjnych
 
33. Montowanie i badanie antenowej instalacji zbiorczej
33. Montowanie i badanie antenowej instalacji zbiorczej33. Montowanie i badanie antenowej instalacji zbiorczej
33. Montowanie i badanie antenowej instalacji zbiorczej
 
31. Instalowanie i programowanie urządzeń audio
31. Instalowanie i programowanie urządzeń audio31. Instalowanie i programowanie urządzeń audio
31. Instalowanie i programowanie urządzeń audio
 
7. Badanie elementów i układów automatyki
7. Badanie elementów i układów automatyki7. Badanie elementów i układów automatyki
7. Badanie elementów i układów automatyki
 
25. Eksploatowanie oscyloskopów
25. Eksploatowanie oscyloskopów25. Eksploatowanie oscyloskopów
25. Eksploatowanie oscyloskopów
 

Similar to 23. Badanie układów zewnętrznych mikrokontrolera

6. Montowanie układów cyfrowych i pomiary ich parametrów
6. Montowanie układów cyfrowych i pomiary ich  parametrów6. Montowanie układów cyfrowych i pomiary ich  parametrów
6. Montowanie układów cyfrowych i pomiary ich parametrów
Lukas Pobocha
 
37. Montowanie i badanie systemu telewizji użytkowej
37. Montowanie i badanie systemu telewizji użytkowej37. Montowanie i badanie systemu telewizji użytkowej
37. Montowanie i badanie systemu telewizji użytkowej
Lukas Pobocha
 
9. Badanie liniowych układów scalonych
9. Badanie liniowych układów scalonych9. Badanie liniowych układów scalonych
9. Badanie liniowych układów scalonych
Lukas Pobocha
 
Technik.mechatronik 311[50] z2.03_u
Technik.mechatronik 311[50] z2.03_uTechnik.mechatronik 311[50] z2.03_u
Technik.mechatronik 311[50] z2.03_u
KubaSroka
 
Technik.mechatronik 311[50] o1.06_u
Technik.mechatronik 311[50] o1.06_uTechnik.mechatronik 311[50] o1.06_u
Technik.mechatronik 311[50] o1.06_u
KubaSroka
 
29. Badanie odbiornika telewizyjnego
29. Badanie odbiornika telewizyjnego29. Badanie odbiornika telewizyjnego
29. Badanie odbiornika telewizyjnego
Lukas Pobocha
 
11. Badanie zasilaczy
11. Badanie zasilaczy11. Badanie zasilaczy
11. Badanie zasilaczy
Lukas Pobocha
 
Technik.technologii.drewna 311[32] z2.08_u
Technik.technologii.drewna 311[32] z2.08_uTechnik.technologii.drewna 311[32] z2.08_u
Technik.technologii.drewna 311[32] z2.08_u
Emotka
 
7. Wykonywanie rysunków z wykorzystaniem komputerowego wspomagania projektowania
7. Wykonywanie rysunków z wykorzystaniem komputerowego wspomagania projektowania7. Wykonywanie rysunków z wykorzystaniem komputerowego wspomagania projektowania
7. Wykonywanie rysunków z wykorzystaniem komputerowego wspomagania projektowania
Adam Osa
 
16. Badanie czujników i przetworników przemysłowych
16. Badanie czujników i przetworników przemysłowych16. Badanie czujników i przetworników przemysłowych
16. Badanie czujników i przetworników przemysłowych
Lukas Pobocha
 
Technik.mechatronik 311[50] z1.04_u
Technik.mechatronik 311[50] z1.04_uTechnik.mechatronik 311[50] z1.04_u
Technik.mechatronik 311[50] z1.04_u
KubaSroka
 
24. Eksploatowanie uniwersalnych przyrządów pomiarowych
24. Eksploatowanie uniwersalnych przyrządów pomiarowych24. Eksploatowanie uniwersalnych przyrządów pomiarowych
24. Eksploatowanie uniwersalnych przyrządów pomiarowych
Lukas Pobocha
 
Technik.teleinformatyk 312[02] z2.03_n
Technik.teleinformatyk 312[02] z2.03_nTechnik.teleinformatyk 312[02] z2.03_n
Technik.teleinformatyk 312[02] z2.03_n
Rzeźnik Sebastian
 
Gornik.eksploatacji.podziemnej 711[02] z2.01_u
Gornik.eksploatacji.podziemnej 711[02] z2.01_uGornik.eksploatacji.podziemnej 711[02] z2.01_u
Gornik.eksploatacji.podziemnej 711[02] z2.01_u
Muszex
 
2.01
2.012.01
2.01
Muszex
 
Dekarz 713[01] z1.09_u
Dekarz 713[01] z1.09_uDekarz 713[01] z1.09_u
Dekarz 713[01] z1.09_u
Emotka
 
3. Badanie obwodów prądu przemiennego
3. Badanie obwodów prądu przemiennego3. Badanie obwodów prądu przemiennego
3. Badanie obwodów prądu przemiennego
Lukas Pobocha
 
3. Badanie obwodów prądu przemiennego
3. Badanie obwodów prądu przemiennego3. Badanie obwodów prądu przemiennego
3. Badanie obwodów prądu przemiennego
Lukas Pobocha
 
3. Badanie obwodów prądu przemiennego
3. Badanie obwodów prądu przemiennego3. Badanie obwodów prądu przemiennego
3. Badanie obwodów prądu przemiennego
Lukas Pobocha
 
6. Odwzorowywanie elementów maszyn
6. Odwzorowywanie elementów maszyn6. Odwzorowywanie elementów maszyn
6. Odwzorowywanie elementów maszyn
Adam Osa
 

Similar to 23. Badanie układów zewnętrznych mikrokontrolera (20)

6. Montowanie układów cyfrowych i pomiary ich parametrów
6. Montowanie układów cyfrowych i pomiary ich  parametrów6. Montowanie układów cyfrowych i pomiary ich  parametrów
6. Montowanie układów cyfrowych i pomiary ich parametrów
 
37. Montowanie i badanie systemu telewizji użytkowej
37. Montowanie i badanie systemu telewizji użytkowej37. Montowanie i badanie systemu telewizji użytkowej
37. Montowanie i badanie systemu telewizji użytkowej
 
9. Badanie liniowych układów scalonych
9. Badanie liniowych układów scalonych9. Badanie liniowych układów scalonych
9. Badanie liniowych układów scalonych
 
Technik.mechatronik 311[50] z2.03_u
Technik.mechatronik 311[50] z2.03_uTechnik.mechatronik 311[50] z2.03_u
Technik.mechatronik 311[50] z2.03_u
 
Technik.mechatronik 311[50] o1.06_u
Technik.mechatronik 311[50] o1.06_uTechnik.mechatronik 311[50] o1.06_u
Technik.mechatronik 311[50] o1.06_u
 
29. Badanie odbiornika telewizyjnego
29. Badanie odbiornika telewizyjnego29. Badanie odbiornika telewizyjnego
29. Badanie odbiornika telewizyjnego
 
11. Badanie zasilaczy
11. Badanie zasilaczy11. Badanie zasilaczy
11. Badanie zasilaczy
 
Technik.technologii.drewna 311[32] z2.08_u
Technik.technologii.drewna 311[32] z2.08_uTechnik.technologii.drewna 311[32] z2.08_u
Technik.technologii.drewna 311[32] z2.08_u
 
7. Wykonywanie rysunków z wykorzystaniem komputerowego wspomagania projektowania
7. Wykonywanie rysunków z wykorzystaniem komputerowego wspomagania projektowania7. Wykonywanie rysunków z wykorzystaniem komputerowego wspomagania projektowania
7. Wykonywanie rysunków z wykorzystaniem komputerowego wspomagania projektowania
 
16. Badanie czujników i przetworników przemysłowych
16. Badanie czujników i przetworników przemysłowych16. Badanie czujników i przetworników przemysłowych
16. Badanie czujników i przetworników przemysłowych
 
Technik.mechatronik 311[50] z1.04_u
Technik.mechatronik 311[50] z1.04_uTechnik.mechatronik 311[50] z1.04_u
Technik.mechatronik 311[50] z1.04_u
 
24. Eksploatowanie uniwersalnych przyrządów pomiarowych
24. Eksploatowanie uniwersalnych przyrządów pomiarowych24. Eksploatowanie uniwersalnych przyrządów pomiarowych
24. Eksploatowanie uniwersalnych przyrządów pomiarowych
 
Technik.teleinformatyk 312[02] z2.03_n
Technik.teleinformatyk 312[02] z2.03_nTechnik.teleinformatyk 312[02] z2.03_n
Technik.teleinformatyk 312[02] z2.03_n
 
Gornik.eksploatacji.podziemnej 711[02] z2.01_u
Gornik.eksploatacji.podziemnej 711[02] z2.01_uGornik.eksploatacji.podziemnej 711[02] z2.01_u
Gornik.eksploatacji.podziemnej 711[02] z2.01_u
 
2.01
2.012.01
2.01
 
Dekarz 713[01] z1.09_u
Dekarz 713[01] z1.09_uDekarz 713[01] z1.09_u
Dekarz 713[01] z1.09_u
 
3. Badanie obwodów prądu przemiennego
3. Badanie obwodów prądu przemiennego3. Badanie obwodów prądu przemiennego
3. Badanie obwodów prądu przemiennego
 
3. Badanie obwodów prądu przemiennego
3. Badanie obwodów prądu przemiennego3. Badanie obwodów prądu przemiennego
3. Badanie obwodów prądu przemiennego
 
3. Badanie obwodów prądu przemiennego
3. Badanie obwodów prądu przemiennego3. Badanie obwodów prądu przemiennego
3. Badanie obwodów prądu przemiennego
 
6. Odwzorowywanie elementów maszyn
6. Odwzorowywanie elementów maszyn6. Odwzorowywanie elementów maszyn
6. Odwzorowywanie elementów maszyn
 

More from Lukas Pobocha

2. badanie obwodów prądu stałego
2. badanie obwodów prądu stałego2. badanie obwodów prądu stałego
2. badanie obwodów prądu stałego
Lukas Pobocha
 
1. Przygotowanie do bezpiecznej pracy
1. Przygotowanie do bezpiecznej pracy1. Przygotowanie do bezpiecznej pracy
1. Przygotowanie do bezpiecznej pracy
Lukas Pobocha
 
1. Przygotowanie do bezpiecznej pracy
1. Przygotowanie do bezpiecznej pracy1. Przygotowanie do bezpiecznej pracy
1. Przygotowanie do bezpiecznej pracy
Lukas Pobocha
 
2. Badanie obwodów prądu stałego
2. Badanie obwodów prądu stałego2. Badanie obwodów prądu stałego
2. Badanie obwodów prądu stałego
Lukas Pobocha
 
4. Analizowanie działania oraz stosowanie podstawowych maszyn i urządzeń elek...
4. Analizowanie działania oraz stosowanie podstawowych maszyn i urządzeń elek...4. Analizowanie działania oraz stosowanie podstawowych maszyn i urządzeń elek...
4. Analizowanie działania oraz stosowanie podstawowych maszyn i urządzeń elek...
Lukas Pobocha
 
5. Montowanie układów analogowych i pomiary ich parametrów
5. Montowanie układów analogowych i pomiary ich parametrów5. Montowanie układów analogowych i pomiary ich parametrów
5. Montowanie układów analogowych i pomiary ich parametrów
Lukas Pobocha
 
8. Badanie wzmacniaczy tranzystorowych
8. Badanie wzmacniaczy tranzystorowych8. Badanie wzmacniaczy tranzystorowych
8. Badanie wzmacniaczy tranzystorowych
Lukas Pobocha
 
15. Badanie układów transmisji sygnałów
15. Badanie układów transmisji sygnałów15. Badanie układów transmisji sygnałów
15. Badanie układów transmisji sygnałów
Lukas Pobocha
 
17. Badanie elementów i urządzeń wykonawczych
17. Badanie elementów i urządzeń wykonawczych17. Badanie elementów i urządzeń wykonawczych
17. Badanie elementów i urządzeń wykonawczych
Lukas Pobocha
 
20. Badanie regulatorów nieliniowych
20. Badanie regulatorów nieliniowych20. Badanie regulatorów nieliniowych
20. Badanie regulatorów nieliniowych
Lukas Pobocha
 

More from Lukas Pobocha (10)

2. badanie obwodów prądu stałego
2. badanie obwodów prądu stałego2. badanie obwodów prądu stałego
2. badanie obwodów prądu stałego
 
1. Przygotowanie do bezpiecznej pracy
1. Przygotowanie do bezpiecznej pracy1. Przygotowanie do bezpiecznej pracy
1. Przygotowanie do bezpiecznej pracy
 
1. Przygotowanie do bezpiecznej pracy
1. Przygotowanie do bezpiecznej pracy1. Przygotowanie do bezpiecznej pracy
1. Przygotowanie do bezpiecznej pracy
 
2. Badanie obwodów prądu stałego
2. Badanie obwodów prądu stałego2. Badanie obwodów prądu stałego
2. Badanie obwodów prądu stałego
 
4. Analizowanie działania oraz stosowanie podstawowych maszyn i urządzeń elek...
4. Analizowanie działania oraz stosowanie podstawowych maszyn i urządzeń elek...4. Analizowanie działania oraz stosowanie podstawowych maszyn i urządzeń elek...
4. Analizowanie działania oraz stosowanie podstawowych maszyn i urządzeń elek...
 
5. Montowanie układów analogowych i pomiary ich parametrów
5. Montowanie układów analogowych i pomiary ich parametrów5. Montowanie układów analogowych i pomiary ich parametrów
5. Montowanie układów analogowych i pomiary ich parametrów
 
8. Badanie wzmacniaczy tranzystorowych
8. Badanie wzmacniaczy tranzystorowych8. Badanie wzmacniaczy tranzystorowych
8. Badanie wzmacniaczy tranzystorowych
 
15. Badanie układów transmisji sygnałów
15. Badanie układów transmisji sygnałów15. Badanie układów transmisji sygnałów
15. Badanie układów transmisji sygnałów
 
17. Badanie elementów i urządzeń wykonawczych
17. Badanie elementów i urządzeń wykonawczych17. Badanie elementów i urządzeń wykonawczych
17. Badanie elementów i urządzeń wykonawczych
 
20. Badanie regulatorów nieliniowych
20. Badanie regulatorów nieliniowych20. Badanie regulatorów nieliniowych
20. Badanie regulatorów nieliniowych
 

23. Badanie układów zewnętrznych mikrokontrolera

  • 1. „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
  • 2. „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
  • 3. „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
  • 4. „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.
  • 5. „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.
  • 6. „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
  • 7. „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.
  • 8. „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).
  • 9. „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
  • 10. „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:
  • 11. „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.
  • 12. „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
  • 13. „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
  • 14. „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?
  • 15. „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
  • 16. „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? ¨ ¨
  • 17. „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
  • 18. „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 A5 A4 A3 A2 A1 A0 Set CG RAM address Ustawienie adresu generatora znaków (A5..A0) 1 A6 A5 A4 A3 A2 A1 A0 Set DD RAM address Ustawienie adresu danych (A6..A0)– pozycji na wyświetlaczu
  • 19. „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
  • 20. „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?
  • 21. „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.
  • 22. „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? ¨ ¨
  • 23. „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]
  • 24. „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 fXTAL=12 MHz: fmax= Hz25,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) Umax ∆t FE 0 1 2 3 FF FD D T
  • 25. „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) Umax ∆t0 1 2 3 FE FF T
  • 26. „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) Umax T ¾ Umax C0 t ∆t0 1 2 3 FD FE FF
  • 27. „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? ¨ ¨
  • 28. „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
  • 29. „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.
  • 30. „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.
  • 31. „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 (fXTAL=12MHz) wynosi: a) 390,625 Hz. b) 4687,5 Hz. c) 390,625 kHz. d) 4687,5 kHz.
  • 32. „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
  • 33. „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) Umax T 2 UMAX t ∆t0 1 2 3 FD FE FF
  • 34. „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.
  • 35. „Projekt współfinansowany ze środków Europejskiego Funduszu Społecznego” 34 18. 19. 20.
  • 36. „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