Informatyka Studia Dzienne
Laboratorium Architektury Komputerów
Ćwiczenie 2
Obsługa wyświetlacza multipleksowanego LED
i klawiatury sekwencyjnej.
Przygotowanie:
Krzysztof Tokarz
1. Cel ćwiczenia.
Celem ćwiczenia jest poznanie:
- budowy i działania wyświetlacza multipleksowanego LED,
- obsługi klawiatury sekwencyjnej z krążącą jedynką.
Ćwiczenie jest realizowane z wykorzystaniem Dydaktycznego Systemu
Mikroprocesorowego DSM-51 zbudowanego w oparciu o mikrokomputer jednoukładowy serii
8051.
2. Opis działania wybranych bloków układu.
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, wykorzystany również do sterowania
klawiaturą, jest odpowiedzialny za wybór wskaźnika, drugi przechowuje dane do wyświetlenia na
wybranym wskażniku. Aby możliwe było uzyskanie świecenia różnych cyfr na różnych
wskaźnikach 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 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.
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
a
f
b
e
c
g
d
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).
Odczytanie stanu któregoś z przycisków polega na wpisaniu stanu “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. Aby możliwe było rozróżnienie, który z
przycisków został naciśnięty, należy przeglądać kolejno wszystkie klawisze. Przeglądanie polega na
sekwencyjnym wystawianiu stanu “1” kolejno na każdy z bitów rejestru wyboru wskaźnika (krążąca
jedynka) i testowaniu stanu linii P3.5. Stan linii P3.5 mikrokontrolera można sprawdzać w
procedurze obsługi wyświetlacza. 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
-
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.
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.