Biblioteki graficzne Microchipa: obsługa touch-panela i LCD ze sterownikiem SSD1289

List. 2. Plik konfiguracyjny MY_BOARD.h

Tab. 1. Zalecany sposób połączenia wyświetlacza z liniami portów mikrokontrolera

Linia interfejsu

Wyprowadzenie wyświetlacza

Linia portu

CS – aktywacja interfejsu aktywny stan niski

CS

RG15

RS (D/!C) – wybór rejestru: stan niski rejestr konfiguracyjny, stan wysoki dane pamięci obrazu

RS

RG14

RD – odczytu danych z magistrali aktywny stan niski

RD

RG12

WR – zapis danych na magistrali aktywny stan niski

WR

RG13

RES – zerowanie sterownika aktywny stan niski

RES

RB15

DATAH – 8 starszych bitów danych

DB8…DB15

RE0….RE7

DATAL – 8 młodszych bitów danych

DB0…DB7

RD0…RD7

 

Magistrala Intel 8080 składa się z linii danych i linii sterujących (opcjonalnie z linii adresowych). Linie sterujące to !WR i !RD. Cykl zapisu danych rozpoczyna się od wystawienia stanu niskiego na linii !WR, a następnie ważnych danych na magistrali. Narastające zbocze sygnału !WR zapisuje dane do rejestru sterownika. Interfejs sterujący jest uzupełniony o 2 dodatkowe linie: wyboru interfejsu CS i źródła zapisywanych danych D/!C (w opisie wyprowadzeń wyświetlacza ta linia nazywa się RS). Jeżeli linia D/!C jest w stanie wysokim to zapisywana jest pamięć danych, jeżeli w stanie niskim to zapisywany jest rejestr (adres rejestru).

 

Rys. 3. Sekwencja zapisu danych na magistralę

 

Na rysunku 4 pokazano przebiegi czasowe w czasie zapisu danych. Na listingu 3 pokazano procedurę zapisu danej (zaadresowanej komórki pamięci obrazu), a na listingu 4 zapis rejestru sterownika. Mikrokontroler jest taktowany z częstotliwością 80 MHz, a układy peryferyjne w tym linie portów z częstotliwością 40 MHz. Żeby zapewnić poprawne zbocza sygnałów sterujących po każdej zmianie ich stanu jest wykonywanych klika rozkazów NOP (dodatkowe opóźnienie). W czasie zapisu danych linia !RD musi cały czas pozostawać w stanie wysokim.

 

List. 3. Zapisanie danej na magistralę

 

List. 4. Zapis zawartości rejestru na magistralę

Odczytywanie danych również nie jest skomplikowane. Na listingu 5 pokazano procedurę odczytu danej z pamięci obrazu.

 

List. 5. Odczytanie danej z pamięci obrazu

Każdy sterownik wyświetlacza graficznego wymaga inicjalizacji polegającej na zapisaniu rejestrów konfiguracyjnych. W przypadku sterownika SSD1289 zapisywanie rejestrów polega na wykonaniu cyklu zapisu adresu, a po nim cyklu zapisu 16-bitowej danej (listing 6).

 

List. 6. Procedura zapisu rejestrów sterownika

Kompletny cykl przykładowej inicjalizacji zapytał pokazany na listingu 7.

 

O autorze