A tft megjelenítésének inicializálása az avs

A másik napon a TFT kijelzője került megrendezésre Ali-nál, tekintse meg a fő jellemzőit.

A tft megjelenítésének inicializálása az avs


A kijelző fő jellemzői:
  • 3,2 hüvelyk, 320x240 felbontással
  • TFT kijelzőmeghajtó - SSD1289, érintőképernyős illesztőprogram - XPT2046
  • TFT vezérlés a 6800, 8080 protokollon keresztül, támogatás az FSMC számára
  • SPI érintőképernyős kezelőfelület
  • tápfeszültség 5V vagy 3.3V, köszönhetően a beépített alsó stabilizátornak
  • képes ellenőrizni a háttérvilágítást a PWM-mel
  • beépített csatlakozó SD kártyához
  • szabad hely FLASH memória forrasztásához
  • támogatja a vízszintes és függőleges tájolást, több ablak megjelenítése
  • színmélység: 18 bites (262 144 kombináció)

A vezérlő mikrokontrollerként az Atmega16-ot veszünk be. Az elkészült inicializálási példák nem keresnek, úgy döntöttek, hogy megértik, hogyan működik és írja a sajátját. Először meg fogjuk deríteni a kapcsolódási felületet. A szabályozó és SSD1289 fordulhat elő 1-ből 4 interfészek: i8080, M6800, RGB, SPI, de nem vagyunk a fájdalom, nem tudva, hogy mit válasszon, a modul gyártó segített nekünk. Elhagyta a választás a két 16 bites interfész: Intel i8080 és motorolovsky M6800. i8080 és M6800 - párhuzamos interfész, amely működhet 18/16/8-bites módban. Esett a választás i8080, bár ítélve adatlap eltér az M6800 csak az a tény, hogy i8080 író jelek (WR) és read (RD) külön. M6800 és az irányt vezérlőjel RD / WR egyedül, de a fentiek mellett van engedélyezési jel E.
Most nézzük meg a modul rögzítését.

A tft megjelenítésének inicializálása az avs


Tápcsatlakozók.
VCC a modul tápfeszültsége. A modul belsejében egy 3,3 V-os feszültségszabályozó található, amelyből a grafikus vezérlő (SSD1289), az ellenállásos érintőképernyős vezérlő (XPT2046) és az SD kártya működnek. A stabilizátor jelenléte lehetővé teszi a modul táplálását 5 V egyenfeszültséggel. De a mikrokontroller és a modul közötti információcserét 3.3V segítségével kell elvégezni. Az áramkörben a modul és a mikrokontroller egy feszültséggel működik - 3,3 V, ami biztosítja a normál adatcserét. Ezzel a tápfeszültséggel a mikrokontroller általában 8 MHz frekvencián működik. Igen, egyébként 5 volt mikrokontrollerenként és modulként szolgáltam, szerencsém volt, hogy semmi sem égett, és minden működött, de nem érdemes.
GND - közös kimenet (föld).
LED-A - anód TFT kijelző háttérvilágítása, hogy csatlakozik egy áramkorlátozó ellenállás csatlakozik 3,3V ha hajtott keresztül 200 ohm.

A grafikus vezérlő kimenetei.
[DB15, DB0] (adatbusz) - 16 bites adat / parancsbusz.
RS (Register Select) pinén, amelyen keresztül meg lehet váltani a adatregiszterek (gramm) és használati nyilvántartás (Instruction regiszterek), egy adatlap nevezzük D / C
WR (Write) - egy strobe az adatok és parancsok írásához.
RD (Read) - az adatok / paraméterek strobe olvasása.
REST (Reset) - állítsa alaphelyzetbe a grafikus vezérlőt.
CS (Chip Select) - a grafikus kijelző aktiválása / deaktiválása.

A TFT kijelző általános kapcsolási rajza az alábbi.

A tft megjelenítésének inicializálása az avs

Most meg kell kitalálnunk, hogyan kell elküldeni az SSD1289 parancsot / adatot, ezért nézzük meg az alábbi képet.

A tft megjelenítésének inicializálása az avs


A kép azt mutatja, hogy ezt kétféle módon lehet elvégezni, az elsőt végrehajtjuk.
Egy parancs elküldéséhez a következőket kell tennie:
  • a D / C lábánál nullára állítottuk, hogy azt mondjuk, hogy elküldjük a csapatot
  • A RD lábán pontosan rögzítettük a készüléket
  • aktiválja a chipet a CS nullára történő telepítéssel
  • adunk adatokat a buszra, esetünkben ezek a két kikötő
  • a WR lábánál kiállítjuk a készüléket
  • néhány mikroszekundumra vár
  • a WR száron nulla értéket állítunk be
  • A CS lábán beállítottuk az egységet, de a chipet deaktiváljuk

Az adatok elküldéséhez a következő műveleteket kell végrehajtani:
  • a D / C lábán állítsa be a készüléket, mondván, hogy adatokat küldünk
  • A RD lábán pontosan rögzítettük a készüléket
  • aktiválja a chipet a CS nullára történő telepítéssel
  • adunk adatokat a buszra, esetünkben ezek a két kikötő
  • a WR lábánál kiállítjuk a készüléket
  • néhány mikroszekundumra vár
  • a WR száron nulla értéket állítunk be
  • A CS lábán beállítottuk az egységet, de a chipet deaktiváljuk

Az alábbiakban a küldési parancsok / adatok C.


A kapcsolattal most megyünk az inicializálásra. Kinyitjuk az adatlapot, és megtaláljuk az idegen, amely leírja az inicializálási sorrendet.

A tft megjelenítésének inicializálása az avs


Az SSD1289 vezérlő inicializálása érdekében írást kell írni az R07 regisztrálására, a 0021h értéket. felfedve ezáltal GON = 1, DTE = 0, D [1: 0] = 01, amit ezek a bitek nem veszik figyelembe, míg ez nem számít.


A következő lépésben kapcsolja be az órát 0000h értékkel az R00 regiszterbe. By the way, ha az inicializálás után az adatok ebből a regiszterből történő olvasásához sikeres inicializálás esetén a 8989h vissza kell térnie.

A tft megjelenítésének inicializálása az avs


Ezután térjen vissza az R07-be, és állítsa az értéket 0023h-ra.
A következő lépés az alvó üzemmódból történő kilépés, az R10 beállítása 0000h-ra.

A tft megjelenítésének inicializálása az avs


30 milliszekundumra várunk. Állítsa az R07 regisztert 0033h-ra. Ezután az R11 regiszterben a 6838h értéket vesszük figyelembe, fontoljuk meg, mit jelentenek ezek a számok.
A POR az alapértelmezett érték, és egyenlő 6830h értékkel. Ezért alapesetben a kijelző 65K színt jelenít meg, amelyre a 6830h érték első 6-as számjegye válaszol, ezt még inkább emlékezni kell, amikor színt állítunk vissza.


Ezután meghatározzuk a rögzítési pontok sorrendjét, az a tény, hogy a kép megjelenítéséhez elég csak az első pont koordinátáit állítani. Továbbá az SSD1289-nek csak a következő pont színét kell elküldenie, és az általa választott algoritmust fogja rajzolni. És itt, csak azért, hogy elmondjam, miért nem, ezeknél a beállításoknál bekapcsolta a zöld kört jelző üzemmódot, és piros színnel kellett bekapcsolnia.

A tft megjelenítésének inicializálása az avs


Az R02 regiszterben lévő érték alapértelmezés szerint megmarad, és ez befejezte az inicializálást.
Most minden, amit figyelembe vettünk, formalizált formában kód.

Ha következetesen végrehajtja az összes leírt műveletet, sikeres inicializálás esetén a képernyő káotikusan színes többszínű pontokkal színezve, mint az alábbi fotón.

A tft megjelenítésének inicializálása az avs


Most már tudjuk, hogyan kell inicializálni a TFT kijelzőt, amelyen az SSD1289 vezérlő telepítve van, a következő cikkben pedig megnézzük, hogyan kell megjeleníteni az egyes karaktereket és a karakterláncokat írni. A következő cikk végén is letölthet egy példát az Atmel Studio 6.2-re.

P.S.S azok számára, akik szeretnének gyorsan ellenőrzik, hogy a kijelző működik, akkor hagyja a firmware Atmega16 ssd1289_i8080.hex [5,75 Kb] (száma: 177)

Kapcsolódó cikkek