background image

Laboratorium Architektury Komputerów

Ćwiczenie 1

Obsługa wyświetlacza LED i portu Wejścia/Wyjścia.

Przygotowanie:
Krzysztof Tokarz

background image

1. Cel ćwiczenia.

Celem ćwiczenia jest poznanie:

- budowy i działania wyświetlacza siedmiosegmentowego LED,
- obsługi multipleksowanego wyświetlacza zbudowanego w oparciu o wskaźniki LED,
- obsługi klawiatury,
- rozwiązania problemu drgań styków klawiatury.

Ćwiczenie   jest   realizowane   z   wykorzystaniem   Dydaktycznego   Systemu

Mikroprocesorowego   DSM-51   zbudowanego   w   oparciu   o   mikrokomputer   jednoukładowy   serii
8051.

2. Informacje wstępne.

W   Dydaktycznym   Systemie   Mikroprocesorowym   wykorzystywanym   na   laboratorium

zastosowano mikrokontroler 80C51 taktowany z częstotliwością 11,059 MHz. Do mikrokontrolera
są podłączone m.in. następujące bloki i elementy (wymieniono bloki używane na zajęciach):

32 kB pamięci EPROM przeznaczonej na podprogramy systemowe,

32 kB pamięci RAM przeznaczonej na dane lub programy użytkownika,

klawiatura sekwencyjna,

6-cyfrowy wyświetlacz LED,

klawiatura matrycowa,

wyświetlacz alfanumeryczny LCD,

głośniczek (buzzer),

dioda LED.

System,   po  włączeniu,   uruchamia   się  w  trybie wykonywania  programu  z   pamięci   stałej

EPROM.   W   tym   trybie   możliwe   jest   załadowanie   do   pamięci   RAM   programu   użytkownika   z
komputera   PC.   Aby   uruchomić   załadowany  z   komputera   program   należy   zrestartować   system
przyciskiem   “RESET RAM”.   Powrót   do   trybu   współpracy   z   komputerem   następuje   po
przyciśnięciu przycisku “RESET ROM”.

3. Opis działania wybranych bloków układu.

W   Dydaktycznym   Systemie   Mikroprocesorowym   DSM-51   najprostszym   elementem

sygnalizacyjnym jest dioda  LED “TEST”. Dioda jest podłączona do linii numer 7 portu P1 w taki
sposób, że wymuszenie na tej linii stanu “0” powoduje jej zaświecenie (lekcja 1, przykłady 2-5).

Nieco   bardziej   skomplikowane   jest   odczytanie   stanu   któregoś   z   przycisków.     Aby  tego

dokonać   należy   wpisać   stan   “1”   do   bitów   rejestru   wyboru   wskaźnika   odpowiadających   za
uaktywnienie wybranych przycisków. Naciśnięcie wybranego przycisku spowoduje pojawienie się
wysokiego   stanu   na   porcie   P3.5.   Rejestr   wyboru   wskaźnika   jest   dostępny   pod   adresem   30h
oznaczonym symbolem CSDS. (lekcja 7, przykłady 1-2)

Wyświetlacz LED, składający się z sześciu cyfr i kilku diod sygnalizacyjnych, jest sterowany

poprzez   dwa   ośmiobitowe   rejestry   równoległe.   Jeden   rejestr   jest   odpowiedzialny   za   wybór
wskaźnika, drugi przechowuje dane do wyświetlenia na wybranym wskażniku.

Sterowanie wyświetlacza odbywać się powinno w sposób multipleksowany. W danej chwili

świeci cyfra na jednym ze wskaźników, pozostałe są wygaszone. Po chwili należy zaświecić cyfrę
na następnym wskaźniku. Świecenie pojedynczego wskaźnika powinno trwać taki okres czasu, aby
częstotliwość odświeżania całego wyświetlacza wynosiła 50-100 Hz. Częstotliwość wywoływania

background image

procedury wyświetlającej zależy od liczby wykorzystywanych w danym zadaniu cyfr wyświetlacza.
Jeśli wykorzystane mają być wszystkie cyfry oraz zestaw diod sygnalizacyjnych to częstotliwość ta
powinna być nie mniejsza niż 350Hz. 

Rejestry   sterujące   pracą   wyświetlacza   są   przeznaczone   tylko   do   zapisu,   odczyt   ich

zawartości jest niemożliwy. Do rejestrów tych doprowadzono sygnały wyboru rejestru pochodzące z
dekodera adresu oraz sygnał zapisu - bezpośrednio z mikrokontrolera. Rejestrem danych steruje
sygnał CSDB uaktywniany przy wybraniu adresu 38h. Rejestrem wyboru wskaźnika steruje sygnał
CSDS   uaktywniany  przy  wybraniu   adresu   30h.   Dodatkowo   cały  wyświetlacz   można   wyłączyć
sygnałem  podłączonym  bezpośrednio   do  portu  P1.6   mikrokontrolera.  Stan   “0”  na   tym  wyjściu
powoduje włączenie, “1” wyłączenie wyświetlania. Aby zaświecić cyfrę na wybranym wskaźniku
należy wpisać stan “1” do rejestru danych wyświetlacza na pozycjach odpowiadających segmentom
do   zaświecenia,   oraz   stan   “1”   do   rejestru   wyboru   wskaźnika   na   pozycji   odpowiadającej   temu
wskaźnikowi. (lekcja 6, przykłady 2-3)

Przyporządkowanie   bitów   magistrali   danych  do   segmentów   wyświetlacza   jest   zgodne   z

poniższą tabelą.

Linia danych Segment 

Dioda

D0

a

F1

D1

b

F2

D2

c

F3

D3

d

F4

D4

e

OK

D5

f

ER

D6

g

D7

kropka

Sygnały   służące   do   multipleksowania   poszczególnych   wskaźników   wyświetlacza

podłączone   są   również   do   sześcioklawiszowej   klawiatury  sekwencyjnej  (kursor,   enter,   esc).   W
procedurze obsługi wyświetlacza i klawiatury można sprawdzać stan linii P3.5 mikrokontrolera.
Stan   “1”   na   tej   linii   oznacza   wciśnięcie   klawisza   odpowiadającego   aktualnie   wybranemu
wskaźnikowi.   Przyporządkowanie   klawiszy   i   wskaźników   w   wyświetlaczu   do   bitów   magistrali
danych jest zgodne z poniższą tabelą.

Linia danych Cyfra

Klawisz

D0

Jedności

enter

D1

Dziesiątki

esc

D2

Setki

prawo

D3

Tysiące

góra

D4

Dziesiątki tysięcy

dół

D5

Setki tysięcy

lewo

D6

Diody

-

a

f

b

e

c

g

d

background image

Podczas   załączania   i   wyłączania   klawiszy   wystepuje   zjawisko   drgań   styków.   Drgania

styków mogą spowodować wielokrotne wykonanie funkcji przypisanej do danego klawisza (n.p.
dodanie   wartości   1   do   aktualnego   stanu   licznika   minut   podczas   ustawiania   zegara).   W   wielu
przypadkach konieczna jest eliminacja wpływu tego zjawiska na działanie programu. W układach
mikroprocesorowych dokonuje się tego na drodze programowej. Jednym z możliwych rozwiązań
jest reakcja na pierwsze pojawienie się sygnału nacisnięcia klawisza, odczekanie kilkudziesięciu
milisekund a następnie odczekanie na zwolnienie klawisza. (lekcja 7, przykład 3)

Procedura   obsługi   wyświetlacza   i   klawiatury   powinna   być   wywoływana   okresowo,   w

równych   odstępach   czasu.   Najlepszym   rozwiązaniem   jest   jej   wywoływanie   przy   zgłoszeniu
przerwania okresowego. Wywoływanie procedury z programu głównego wiąże się z możliwością
nierównomiernego   świecenia   poszczególnych   cyfr   ze   względu   na   nierówny   czas   pomiędzy
kolejnymi   wywołaniami   procedury,   zależny   od   aktualnie   przetwarzanych   danych.   (lekcja   7,
przykłady 4-5).

4. Przebieg ćwiczenia.

W   trakcie   laboratorium   dostępna   jest   dokumentacja   techniczna   Dydaktycznego  Systemu

Mikroprocesorowego   DSM-51   firmy   MicroMade,   oraz   lekcje   przygotowane   przez   tą   firmę.
Materiały te są dostępne na stronie internetowej firmy MicroMade: www.micromade.pl.

Na ćwiczeniu laboratoryjnym należy:

przeanalizować programy z przykładowych lekcji podanych w instrukcji.

napisać   program   wyświetlający   na   wyświetlaczu   LED   2   cyfrową   liczbę   mieszczącą   się   w
zakresie   00   -   99.   Wartość   wyświetlana   ma   być   zwiększana   o   jeden   klawiszem   “w   górę”   i
zmniejszana   o   jeden   klawiszem   “w   dół”.   Każdorazowe   naciśnięcie   klawisza   ma   być
potwierdzone krótkim sygnałem głośnika. Zapewnić eliminację drgań styków klawiatury.