AK Z Lab 2


Laboratorium Architektury Komputerów
Ćwiczenie 2
Obsługa wyświetlacza LCD i klawiatury matrycowej.
Przygotowanie:
Krzysztof Tokarz
1. Cel ćwiczenia.
Celem ćwiczenia jest poznanie:
- budowy i działania wyświetlacza alfanumerycznego LCD,
- obsługi wyświetlacza LCD zbudowanego w oparciu o sterownik HD44780,
- obsługi klawiatury matrycowej.
Ćwiczenie jest realizowane z wykorzystaniem Dydaktycznego Systemu
Mikroprocesorowego zbudowanego w oparciu o mikrokomputer jednoukładowy serii 8051.
2. Opis działania wybranych bloków układu.
2.1.Wyświetlacz LCD
Dydaktyczny System Mikroprocesorowy DSM-51 wyposazony jest w wyświetlacz
anfanumeryczny LCD, o organizacji 2 linii po 16 znaków. Sterownik wyświetlacza jest
kompatybilny z najpopularniejszym układem  HD44780. Sterownik posiada wewnętrzne rejestry
ustalające tryb pracy wyświetlacza oraz pamięć przechowującą wyświetlane na ekranie znaki. W
systemie DSM-51 rejestry sterujące wyświetlacza są dostępne w przestrzeni I/O w trybie zapisu pod
adresem 80h. Adres ten nazwano LCDWC. Dostęp do poszczególnych funkcji odbywa się poprzez
adresowanie w kodzie przesyłanego rozkazu zgodnie z poniższą tabelą.
Instrukcja Kod Opis
Clear Wyzerowanie wyświetlacza i powrót
0 0 0 0 0 0 0 1
Display kursora
Cursor At Powrót kursora i ustawienie okna w
0 0 0 0 0 0 1
Home pozycji początkowej
Entry Kierunek ruchu kursora I/D, przesuwanie
0 0 0 0 0 1 I/D S
Mode Set wyświetlacza S
Display Włączenie wyświetlacza D, kursora C,
0 0 0 0 1 D C B
On/Off migotania kursora B
Cursor Przesunięcie kursora i wyświetlacza
0 0 0 1 S/C R/L
Disp. Shift
Function Ustalenie długości słowa DL, liczby linii
0 0 1 DL N F
Set N, czcionki F
CG RAM Ustalenie aktualnej wartości rejestru
0 1 Adres
Address adresowego pamięci generatora znaków
DD RAM Ustalenie aktualnej wartości rejestru
1 Adres
Address adresowego pamięci danych
Przy odczycie rejestru sterującego zwracany jest status sterownika. Rejestr ten jest dostępny w
trybie odczytu pod adresem 82h, lub pod nazwą LCDRC. Na słowo statusu składa się aktualny
adres aktywnej komórki pamięci oraz bit BUSY określający czy sterownik jest w trakcie
wykonywania zadanej operacji, czy jest gotowy do przyjęcia kolejnego rozkazu (danej).
Pamięć wyświetlacza jest dostępna do zapisu pod adresem 81h, a do odczytu pod adresem
83h. Adresy te nazwano odpowiednio: LCDWD oraz LCDRD. Zapis pod adres 81h powoduje
zapamiętanie danej w aktywnej komórce. Po odpowiednim zaprogramowaniu sterownika
spowoduje to wyświetlenie znaku w miejscu wyróżnionym przez kursor z jednoczesnym
przesunięciem kursora na następną pozycję.
Oprogramowanie systemu DSM-51 udostępnia gotowe procedury przeznaczone do
sterowania wyświetlaczem LCD. Zestawienie tych procedur przestawiono w poniższej tabeli.
Nazwa symboliczna Adres Działanie
WRITE_TEXT 8100h Wypisanie tekstu
WRITE_DATA 8102h Wypisanie znaku
WRITE_HEX 8104h Wypisanie liczby hex
WRITE_INSTR 8106h Wysłanie rozkazu
LCD_INIT 8108h Inicjalizacja
LCD_OFF 810Ah Wygaszenie
LCD_CLR 810Ch Zerowanie
2.2. Klawiatura matrycowa
Klawiatura matrycowa pracuje w układzie dwóch wierszy o ośmiu kolumnach. W
pierwszym wierszu zgrupowane są klawisze 0, 1, 2, 3, 4, 5, 6, 7. Drugi wiersz zawiera klawisze 8,
9, blok kursora, esc, enter. Dostęp do klawiatury polega na dokonaniu odczytu słowa z adresu 21h
dla pierwszego, 22h dla drugiego wiersza. Wiersze są dostępne pod adresami nazwanymi CSKB0 i
CSKB1. Przyporządkowanie klawiszy do bitów przedstawiono w tabeli.
Bit Klawisz (21h) Klawisz (22h)
D0 0 8
D1 1 9
D2 2 lewo
D3 3 prawo
D4 4 góra
D5 5 dół
D6 6 esc
D7 7 enter
Oprogramowanie systemu DSM-51 udostępnia gotowe procedury przeznaczone do obsługi
klawiatury. Zestawienie tych procedur przestawiono w poniższej tabeli.
Nazwa symboliczna Adres Działanie
WAIT_ENTER 8114h Wypisanie  PRESS ENTER i oczekiwanie na wciśnięcie
WAIT_ENTER_NW 8116h Oczekiwanie na ENTER
TEST_ENTER 8118h Sprawdzenie klawisza ENTER
WAIT_ENT_ESC 811Ah Oczekiwanie na ENTER lub ESC
WAIT_KEY 811Ch Oczekiwanie na dowolny klawisz
GET_NUM 811Eh Wczytanie liczby BCD (4 cyfry)
3. Przebieg ćwiczenia.
Na ćwiczeniu laboratoryjnym należy:
 przeanalizować program wyświetlający na wybranych wyświetlaczach LED segmentów
odpowiadających wciśniętym klawiszom w klawiaturze matrycowej (lekcja 8, przykład 1),
 przeanalizować program wyświetlający na wyświetlaczu LCD cyfry odpowiadającej wciśniętemu
klawiszowi, wykorzystujący gotowe procedury odczytu klawisza (lekcja 9, przykład 1),
 przeanalizować program wyświetlający na wyświetlaczu LCD cyfry odpowiadającej wciśniętemu
klawiszowi z przekodowaniem numeru klawisza na cyfre (lekcja 8, przykład 2),
 przeanalizować program animacji tekstu na wyświetlaczu LCD (lekcja 9, przykład 4),
 napisać program wypisujący na ekranie cyfry odpowiadające naciskanym klawiszom i
włączający animację tego ciągu cyfr po naciśnięciu klawisza ENTER.


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 Z Lab 1
AK D Lab 7
AK D Lab
AK D Lab
AK Z Lab 4
AK D Lab 8
AK Z Lab 6
AK D Lab 3
AK D Lab 9
Lab cpp

więcej podobnych podstron