Zatrzask Zatrzask 8 bitów 8 8 16 Bufor IO 16 bitów 8 SSD 1289 16
Transkrypt
Zatrzask Zatrzask 8 bitów 8 8 16 Bufor IO 16 bitów 8 SSD 1289 16
LE P0.20 8 Zatrzask 8 bitów 8 8 EN P0.19 P0 19 Bufor IO 16 bitów 16 DIR P0.21 CS P0.22 RS P0.23 Katalog p/ _intro Desktop/lcd zawiera dwie biblioteki: lcdas asciiLib WR P0.24 RD P0.25 SSD 1289 Wyświetlacz LCD Konfiguracja: Siedem sygnałów sterujacych: GPIO P0.19 – 25 do pracy jako wyjście i ustawiamy na 1 Inicjalizacja: Odczyt identyfikatora urządzenia LCD z rejestru OSCIL_ON Jeśli wynosi on 0x8989 to zapisujemy ustawienia do 41 rejestrów j t ó wewnętrznych t h Odczyt rejestru lcdReadReg() : Zapis indeksu rejestru lcdWriteIndex() ; Odczyt zawarości rejestru lcdReadData() ; Zapis rejestru lcdWriteReg() : Zapis indeksu rejestru lcdWriteIndex() ; Zapis zawarości rejestru lcdWriteData() l dW it D t () ; Aktywność siedmiu sygnałów sterujacych: Zapis: CS = 0 RS = 0 dla indeksu, a RS = 1 dla danych RD = 1 ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ FIODIR = 0xFF DIR = 1 EN = 0 Wystawiamy LSB LE = 1 LE =0 Wystawiamy MSB (czekamy ~1 jednostkę) ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ WR = 0 (czekamy ~1 jednostkę) Czas długości impulsu zapisu WR = 1 CS = 1 Odczyt: CS = 0 RS = 1 dla danych WR = 1 RD = 0 ‐‐‐‐‐‐‐‐‐‐‐‐‐ FIODIR = 0x00 DIR = 0 EN = 0 (czekamy ~3 jednostki) Pobieramy MSB EN = 1 (czekamy k ~30 jednostki j d tki) Pobieramy LSB DIR = 1 ‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐ RD = 1 CS = 1 Wprowadzenie przez prowadzącego: 1 Objaśnienie konstrukcji sprzętu (schematic) 1. 2. Objaśnienie zawartości biblioteki lcdas.c (lcdas.h) 3. Przy rysowaniu znaków objaśnić zawartości biblioteki asciiLib.c (asciiLib.h) Program dla studentów: 1. Doprowdzić do zainicjowania sie wyświetlacza 2. Zamalować cały jednym kolorem 3. Narysować linię prostą (algorytm Bresenhama – na wikipedii jestkod do skopiowania) 4. Narysować jeden znak 5 Napisać 5. N i ć tekst k 6. Wykonać retargeting printf zwracając uwagę na zawijanie wierszy 7. (mozna pominąć) Spróbować skalować fonty 8. Sprawdzic p co dzieje j sięę z wyświetlaczem y ggdyy zmieniamyy wartość bitów 14,, 10,, 9 w rejestrze DRV_OUT_CTRL