Mikrokontrolery AVR i ARM Sterowanie wy¶wietlaczami LCD
Poznaj dzia³anie kontrolerów kolorowych LCD
Odkryj sposoby wykorzystania wy¶wietlaczy w swoich projektach
Naucz siê tworzyæ grafikê na kolorowe LCD
Dowiedz siê, jak skutecznie optymalizowaæ swoje programy
Mikrokontrolery zawojowa³y ¶wiat elektroniki u¿ytkowej, dziêki czemu mo¿na je
dzi¶ znale¼æ niemal w ka¿dym zaawansowanym technicznie sprzêcie domowym czy
rozrywkowym. Natomiast rosn±ca dostêpno¶æ i spadek cen kolorowych wy¶wietlaczy
ciek³okrystalicznych sprawi³y, ¿e kolejne urz±dzenia zaczêto wyposa¿aæ w coraz
lepsze ekrany. Poprawie ich jako¶ci i rozdzielczo¶ci oraz wzrostowi wydajno¶ci uk³adów
steruj±cych towarzyszy za¶ sta³e ulepszanie interfejsów u¿ytkownika, które staj±
siê coraz wygodniejsze i atrakcyjne graficznie.
Je¶li dostrzegasz konieczno¶æ opracowywania lepszych interfejsów graficznych dla
swoich projektów, chcesz pe³nym gar¶ciami korzystaæ z mo¿liwo¶ci oferowanych przez
nowoczesne mikrokontrolery oraz wy¶wietlacze lub po prostu interesuje Ciê ten temat i
pragniesz poszerzyæ swoje umiejêtno¶ci projektowania atrakcyjnych i u¿ytecznych
rozwi±zañ, siêgnij po ksi±¿kê „Mikrokontrolery AVR i ARM. Sterowanie
wy¶wietlaczami LCD” ! Wprowadzi Ciê ona w ¶wiat kontrolerów LCD i nauczy technik
programistycznych, dziêki którym bêdziesz w stanie zaprojektowaæ, opracowaæ i
zoptymalizowaæ GUI w taki sposób, aby chcia³o siê go u¿ywaæ i aby by³o to czyst±
przyjemno¶ci±!
Wprowadzenie do ¶rodowiska AVR i ARM oraz konfiguracja warsztatu pracy
Informacje na temat dostêpnych na rynku wy¶wietlaczy LCD
Dzia³anie kontrolerów i konfiguracja odpowiednich interfejsów
Funkcje wy¶wietlaczy i podstawowe operacje graficzne
Formaty plików i konwersja danych graficznych
Optymalizacja dzia³ania kodu odpowiedzialnego za grafikê
Obs³uga paneli dotykowych ró¿nych typów
Wykorzystanie mo¿liwo¶ci akceleratorów graficznych
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)
Rozdzia³ 2. Wy¶wietlacze graficzne (39)
- 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³ 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)
- 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)
Rozdzia³ 7. Formaty plików graficznych (203)
- Format BMP (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)
- 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)
Rozdzia³ 11. Akcelerator graficzny RA8875 (299)
- 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)
- Operacje BTE (327)
- Ekspansja koloru w trybie 8 bpp (337)
- Ekspansja koloru w trybie 16 bpp (341)
- Przesy³anie bitmap w formacie 565 znajduj±cych siê w GRAM (343)
- Mapy bitowe w formacie 565 (345)
- Rysowanie prymitywów graficznych (347)
- Czcionki (350)
- Wbudowany zestaw znaków (350)
- W³asne czcionki (353)
- Inne rozwi±zanie (354)
- Kursor graficzny (355)
- Rezystancyjny panel dotykowy (358)
- Klawiatura (361)
- Sprzêt (361)
- Obs³uga programowa (363)
- Manualne skanowanie klawiatury (365)
- Przerwania (365)
Rozdzia³ 12. Panele dotykowe pojemno¶ciowe (367)
- S³ów kilka o zasadzie dzia³ania panelu (368)
- Kontrolery z rodziny FT5x06 (369)
- Pierwsze starcie (371)
- Gesty (376)
- Wykorzystanie sygna³u IRQ (377)
- Inne funkcje kontrolera (383)
Rozdzia³ 13. Akceleratory graficzne FT8xx (385)
- Po³±czenia elektryczne (388)
- Gotowy modu³ czy samoróbka? (388)
- Matryca LCD-TFT (389)
- Pod¶wietlenie (391)
- Interfejs MCU - akcelerator (392)
- Trochê teorii zwi±zanej z tworzeniem obrazu (395)
- Wbudowany kontroler panelu dotykowego (398)
- Sterownik kontrolera (399)
- Pierwszy start (403)
- Tworzenie w³asnej listy (407)
Rozdzia³ 14. Operacje graficzne z wykorzystaniem uk³adów FT8xx (411)
- EVE Screen Designer (412)
- FTDI EVE Screen Editor (421)
- Zarz±dzanie zawarto¶ci± RAM GPU (422)
- Bitmapy z palet± kolorów (424)
- Polecenia DL (425)
- Rysowanie bitmap (427)
- Polecenia zmiany stanu GPU (428)
- Wy¶wietlanie tekstu i liczb (429)
- Definicja w³asnych czcionek (431)
- Czcionki w programie EVE Screen Editor (433)
- Panel dotykowy (434)
- Panel rezystancyjny (435)
- Panel pojemno¶ciowy (437)
- Identyfikacja obiektów z DL (438)
- Zrzut ekranu (441)
- Polecenie CMD_SNAPSHOT (441)
- Rejestry zrzutu ekranu (442)
- Zerowanie koprocesora (443)
- Regulacja pod¶wietlenia (444)
- Odtwarzanie d¼wiêku (444)
- Syntezator d¼wiêku (445)
- Odtwarzanie próbek d¼wiêkowych (447)
- Przerwania (450)
- Trochê bardziej zaawansowane operacje na DL (454)
- Polecenie CMD_APPEND (454)
- Makra w DL (456)
- Wygaszacz ekranu i klepsydra (458)
- Rotacja ekranu (460)
Rozdzia³ 15. Kontrolery HMI (461)
- Wy¶wietlacze firmy ITEAD (462)
- Wymogi sprzêtowe - zasilanie (462)
- Interfejs UART-TTL (463)
- Tworzymy GUI na PC (464)
- Dodawanie zasobów graficznych (465)
- Dodawanie obiektów graficznych (466)
- Akcje (467)
- Zak³adki (468)
- Polecenia (468)
- Zmienne systemowe (473)
- Prosty GUI (473)
- Wczytywanie nowych danych (474)
- Komunikacja mikrokontroler - wy¶wietlacz HMI (475)
- Protokó³ (475)
- Pierwsza komunikacja (477)
- Nieco bardziej skomplikowany GUI (478)
- Troszkê bardziej zaawansowana komunikacja (479)
- Inne komponenty (484)
Skorowidz (487)
496 stron, Format: 15.7x23.6, oprawa miêkka