background image

Informatyka Studia Dzienne

Laboratorium Architektury Komputerów

Ćwiczenie 3 i 4

Obsługa wyświetlacza LCD i klawiatury matrycowej.

Przygotowanie:
Krzysztof Tokarz

background image

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
Display

0

0

0

0

0

0

0

1

Wyzerowanie   wyświetlacza   i   powrót
kursora

Cursor   At
Home

0

0

0

0

0

0

1

Powrót   kursora   i   ustawienie   okna   w
pozycji początkowej

Entry
Mode Set

0

0

0

0

0

1

I/D

S

Kierunek ruchu kursora I/D, przesuwanie
wyświetlacza S

Display
On/Off

0

0

0

0

1

D

C

B

Włączenie   wyświetlacza   D,   kursora   C,
migotania kursora B

Cursor
Disp. Shift

0

0

0

1

S/C R/L

Przesunięcie kursora i wyświetlacza

Function
Set

0

0

1

DL

N

F

Ustalenie długości słowa DL, liczby linii
N, czcionki F

CG   RAM
Address

0

1

Adres

Ustalenie   aktualnej   wartości   rejestru
adresowego pamięci generatora znaków

DD   RAM
Address

1

Adres

Ustalenie   aktualnej   wartości   rejestru
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

background image

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)

background image

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.