Mikrokontrolery_AVR_i_ARM_Sterowanie_wyswietlaczami_LCD_miklcd.pdf

(1715 KB) Pobierz
Wszelkie prawa zastrzeżone. Nieautoryzowane rozpowszechnianie całości lub fragmentu niniejszej
publikacji w jakiejkolwiek postaci jest zabronione. Wykonywanie kopii metodą kserograficzną,
fotograficzną, a także kopiowanie książki na nośniku filmowym, magnetycznym lub innym
powoduje naruszenie praw autorskich niniejszej publikacji.
Wszystkie znaki występujące w tekście są zastrzeżonymi znakami firmowymi bądź towarowymi
ich właścicieli.
Autor oraz Wydawnictwo HELION dołożyli wszelkich starań, by zawarte w tej książce informacje
były kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie,
ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz
Wydawnictwo HELION nie ponoszą również żadnej odpowiedzialności za ewentualne szkody
wynikłe z wykorzystania informacji zawartych w książce.
Redaktor prowadzący: Małgorzata Kulik
Projekt okładki: Maciej Mazak
Wydawnictwo HELION
ul. Kościuszki 1c, 44-100 GLIWICE
tel. 32 231 22 19, 32 230 98 63
e-mail:
helion@helion.pl
WWW:
http://helion.pl
(księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/miklcd
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
Kody źródłowe wybranych przykładów dostępne są pod adresem:
ftp://ftp.helion.pl/przyklady/miklcd.zip
ISBN: 978-83-283-2846-4
Copyright © Helion 2017
Printed in Poland.
Kup książkę
Poleć książkę
Oceń książkę
Księgarnia internetowa
Lubię to! » Nasza społeczność
Spis treści
Wstęp .............................................................................................. 9
Moduły LCD .................................................................................................................. 11
Schematy ........................................................................................................................ 12
Kody przykładów ........................................................................................................... 12
Rozdział 1. Wprowadzenie do
środowiska
AVR i ARM ........................................ 15
Sprzęt .............................................................................................................................. 16
AVR8 .......................................................................................................................... 16
ARM ........................................................................................................................... 17
Moduły LCD ............................................................................................................... 17
Podstawy
środowiska
Atmel Studio ............................................................................... 18
Rozpoczynamy pracę — wczytujemy przykład .......................................................... 19
Opcje projektu ............................................................................................................ 20
Struktura przykładowych projektów ........................................................................... 24
Konfiguracja zegarów ................................................................................................. 25
Różnice między ARM i AVR w kodzie w języku C ...................................................... 29
Dostęp do pamięci ...................................................................................................... 29
Typy zmiennych ......................................................................................................... 30
Przerwania .................................................................................................................. 31
Opóźnienia .................................................................................................................. 32
Część I
Proste kontrolery paneli LCD ........................................ 35
Wyświetlacze graficzne .................................................................................................. 39
Podświetlenie .............................................................................................................. 43
Zasilanie i sygnały sterujące modułem ....................................................................... 46
Wybór interfejsu ............................................................................................................. 48
Interfejs szeregowy ..................................................................................................... 50
Interfejs równoległy Motorola 6800 i Intel 8080 ........................................................ 51
Sprzętowy interfejs równoległy .................................................................................. 55
Rozdział 2. Wyświetlacze graficzne .................................................................. 39
Rozdział 3. Pierwsze starcie z kontrolerem
— sterownik SSD2119 w trybie szeregowym .................................. 59
Konfiguracja interfejsu dla XMEGA .............................................................................. 64
Konfiguracja interfejsu dla ARM ................................................................................... 65
Komunikacja z kontrolerem ........................................................................................... 67
Rejestry sterownika związane z dostępem do pamięci ................................................... 70
Funkcje definiujące okno ................................................................................................ 73
Kup książkę
Poleć książkę
4
Mikrokontrolery AVR i ARM. Sterowanie wyświetlaczami LCD
Kierunek zapisu do pamięci GRAM ............................................................................... 75
Reprezentacja piksela w pamięci .................................................................................... 78
Korekcja gamma ............................................................................................................. 84
Początek układu współrzędnych ..................................................................................... 89
Dzielenie ekranu i płynne przewijanie ............................................................................ 91
Rejestr Gate Scan Position .......................................................................................... 91
Inny sposób przesuwania w pionie ............................................................................. 92
Części aktywne i nieaktywne ekranu .......................................................................... 93
Podział ekranu ............................................................................................................ 96
Synchronizacja wyświetlanego obrazu ........................................................................... 99
Regulacja napięć sterujących matrycą .......................................................................... 102
Oszczędzanie energii .................................................................................................... 105
Tryb 8-kolorowy ....................................................................................................... 105
Wyłączenie sterowania matrycą ................................................................................ 106
Tryby uśpienia .......................................................................................................... 107
Pamiętaj o wyłączeniu LCD ......................................................................................... 108
Oscylator ................................................................................................................... 108
Częstotliwość odświeżania ....................................................................................... 109
Inicjalizacja LCD .......................................................................................................... 110
Przyśpieszamy dostęp, czyli czas na optymalizację ..................................................... 112
Wirtualne porty IO .................................................................................................... 113
Problemy z inline ...................................................................................................... 114
A może DMA? .......................................................................................................... 117
Rozdział 4. Budujemy bibliotekę obsługi LCD .................................................. 125
Interfejs
łączący
MCU z kontrolerem LCD .................................................................. 127
Komunikacja z wykorzystaniem SPI ........................................................................ 128
Podstawowe funkcje obsługi LCD ............................................................................... 129
Prymitywy graficzne ................................................................................................. 130
Wyświetlanie tekstu .................................................................................................. 136
Mapy bitowe ............................................................................................................. 139
Wydajność ................................................................................................................ 142
Czy można to jakoś przyśpieszyć? ............................................................................ 147
Kompresja map bitowych ............................................................................................. 152
Rozdział 5. Bardziej zaawansowane przetwarzanie grafiki
— alfablending i antyaliasing ........................................................ 157
Alfablending ................................................................................................................. 157
Antyaliasing .................................................................................................................. 160
Antyaliasing czcionek ................................................................................................... 165
Renderowanie podpikselowe .................................................................................... 166
Antyaliasing ze wspólnym kanałem alfa ................................................................... 171
Kompresja kanału alfa .............................................................................................. 172
Która metoda jest najlepsza? .................................................................................... 174
Rozdział 6. Konwersja i importowanie danych binarnych .................................. 175
Czcionki ....................................................................................................................... 176
Czcionki z antyaliasingiem ....................................................................................... 182
Mapy bitowe ................................................................................................................. 186
Szablony eksportu ........................................................................................................ 187
Pliki binarne ................................................................................................................. 189
Kompilacja plików binarnych ................................................................................... 190
Łączenie
plików obiektowych z projektem ............................................................... 193
Dostęp do danych binarnych ..................................................................................... 196
Czy można to zrobić prościej? ...................................................................................... 200
Kup książkę
Poleć książkę
Spis treści
5
Rozdział 7. Formaty plików graficznych .......................................................... 203
Format BMP ................................................................................................................. 204
Nagłówek pliku ......................................................................................................... 204
Format JPEG ................................................................................................................ 219
Obsługiwane formaty JPEG ...................................................................................... 220
Rozdział 8. Przyśpieszamy — interfejs równoległy ........................................... 229
Sygnały wyboru interfejsu ............................................................................................ 230
Interfejs 8-bitowy ......................................................................................................... 231
Alfablending ............................................................................................................. 236
Magistrala 16-bitowa .................................................................................................... 239
Format przesyłania danych o pikselu ........................................................................ 242
Układ ILI9328 .............................................................................................................. 246
Rozdział 9. Kontrolery ILIxxxx ........................................................................ 253
Interfejs mikrokontrolera .............................................................................................. 253
Rejestr zmiany rozmiaru ........................................................................................... 255
Przewijanie zawartości ekranu .................................................................................. 256
Korekcja gamma ....................................................................................................... 258
Rozdział 10. Panel dotykowy rezystancyjny ...................................................... 261
Zasada działania ........................................................................................................... 262
Drgania panelu ............................................................................................................. 265
Kontroler panelu dotykowego ADS7843 ........................................................................ 266
Bloki funkcjonalne kontrolera .................................................................................. 266
Eliminowanie zakłóceń ............................................................................................. 273
Kalibracja panelu dotykowego ..................................................................................... 277
Realizacja kontrolera panelu z wykorzystaniem ADC mikrokontrolera ......................... 282
Pomiar siły nacisku ....................................................................................................... 288
Kontroler XPT2046 ...................................................................................................... 292
Panel pięcioprzewodowy .............................................................................................. 293
Część II
Akceleratory graficzne ................................................ 295
Sprzęt ............................................................................................................................ 300
Uruchomienie modułu .................................................................................................. 302
Magistrala szeregowa ................................................................................................... 303
Magistrala równoległa .................................................................................................. 304
Magistrala Intel 8080 ................................................................................................ 305
Sygnały sterujące matrycą ........................................................................................ 307
Konfiguracja zegarów ............................................................................................... 309
Kontrola podświetlenia ............................................................................................. 311
Kolejność skanowania wierszy i kolumn .................................................................. 312
Włączamy LCD ........................................................................................................ 313
Odczyt i zapis pamięci GRAM ..................................................................................... 314
Wskaźniki zapisu i odczytu pamięci GRAM ............................................................ 317
Warstwy ....................................................................................................................... 318
Uwagi wstępne — koniecznie przeczytaj ................................................................. 319
Podstawy pracy na warstwach .................................................................................. 319
Widoczność warstw .................................................................................................. 321
Przewijanie warstw ................................................................................................... 322
Układ transferu bloków ................................................................................................ 324
Rejestry definiujące bloki ......................................................................................... 325
Rejestry kolorów BTE .............................................................................................. 326
Rozdział 11. Akcelerator graficzny RA8875 ...................................................... 299
Kup książkę
Poleć książkę
Zgłoś jeśli naruszono regulamin