AK Z Lab 1


Laboratorium Architektury Komputerów
Ćwiczenie 1
Obsługa wyświetlacza LED i portu Wejścia/Wyjścia.
Przygotowanie:
Krzysztof Tokarz
1. Cel ćwiczenia.
Celem ćwiczenia jest poznanie:
- budowy i działania wyświetlacza siedmiosegmentowego LED,
- obsługi multipleksowanego wyświetlacza zbudowanego w oparciu o wskazniki 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 wskaznika odpowiadających za
uaktywnienie wybranych przycisków. Naciśnięcie wybranego przycisku spowoduje pojawienie się
wysokiego stanu na porcie P3.5. Rejestr wyboru wskaznika 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
wskaznika, 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 wskazników, pozostałe są wygaszone. Po chwili należy zaświecić cyfrę
na następnym wskazniku. Świecenie pojedynczego wskaznika 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 wskaznika 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 wskazniku
należy wpisać stan  1 do rejestru danych wyświetlacza na pozycjach odpowiadających segmentom
do zaświecenia, oraz stan  1 do rejestru wyboru wskaznika na pozycji odpowiadającej temu
wskaznikowi. (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
a
D1 b F2
D2 c F3
g
D3 d F4
D4 e OK
D5 f ER d
D6 g
D7 kropka
Sygnały służące do multipleksowania poszczególnych wskaznikó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
wskaznikowi. Przyporządkowanie klawiszy i wskaznikó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 -
b
f
e
c
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.


Wyszukiwarka

Podobne podstrony:
AK D Lab 1
ak 2 lab (1)
AK D Lab 2
AK Z Lab 5
AK D Lab 6
AK Z Lab 3
AK D Lab 5
AK D Lab 7
AK D Lab
AK D Lab
AK Z Lab 4
AK D Lab 8
AK Z Lab 2
AK Z Lab 6
AK D Lab 3
AK D Lab 9
Lab cpp

więcej podobnych podstron