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