Grafický displej 5V 3.2" LCD12864 - BASCOM-AVR

Zdravim Vas, kupil som si nizsie uvedeny displej ale uz takmer cely den sa ho snazim rozbehnut ale moc sa mi nedari. Vedel by mi niekto pomoct ako tento displej rozchodit? Myslim ze bude pravdepodobne problem v zapojeni ale neviem ako presne pripojit jednotlive piny. Dakujem Vam

digole.com/images/file/Digole_12864_LCD.pdf
dx.com/p/5v-3-2-lcd12864-screen- … ock-121820

:arrow_right: administrator: přejmenováno z "Graficky displej - bascom AVR"

:arrow_right: administrator: přiloženy externí soubory
Digole_12864_LCD.pdf (1010 KB)

Já osobně bych ti doporučoval začít s paralelní komunikací a to s 4bitovou. použiješ jeden port kde 4 bity ti budou sloužit pro data a tři pro řídící piny …RW, RS, E.

Nejprve musíš provést tzv. inicializaci kde doporučuji prvně třikrát po sobě nastavit 4bitovou komunikaci (je to jakýsi reset, občas ty displeje blbnou a výrobci to i občas doporučují). No a pak provést nějaké prvotní nastavení displeje. zapnutí, nastavení kurzoru atp., ale tohle všechno je popsané v tom datasheetu. Od strany 10 máš jakousi sumarizaci všech instrukcí včetně údajů jak dlouho se musí počkat (pravý sloupec).

Co se týče časování je jasné z diagramu. nastavíš si RS a RW jak potřebuješ přivedeš na data potřebnou kombinaci 1 a 0 a pomocí “pinknutí” na E(nastavíš na 1 a pak hned na 0, pomocí OR a AND), tím povolíš načtení těchto dat dál do MCU displeje. při 4 bitové komunikaci toto pro jednu instrukci musíš provést 2x a po druhém poslání musíš počkat určitou dobu,viz. sumarizace instrukcí, protože si defakto poslal teprve jednu instrukci a MCU displeje ji začne vykonávat. ALE AŽ PO PŘIJMUTÍ CELKOVÉ INSTRUKCE TJ. VŠECH OSMI BITŮ. Možná ta 4bit komunikaci zní trochu divně… dělat něco na dvakrát, ale takhle využiješ jen jeden port svého MCU. Přečti si ten datasheet aspoň 3x-5x ať se v tom naučíš chodit a pak už to bude lepší … inak ten paralelní interface je velice podobný jako u klasických alfanumerických 2x16, 1x16, 2x8 atp…Pokud s nima máš zkušenosti bude to jenom lepší jít právě touhle cestou.

Hodně štestí :slight_smile:

Mě v budoucnosti čeká něco podobnýho. Já jsem si k tomu navíc vymyslel i touchscreen a tak budu rád, když se tu o řešení problému podělíš. Taky programuju v Bascomu. I když zatím jednodušší věci. Ve finále chci vyrobit velmi výkonnou led svítilnu řízenou právě mcu.

No, já bych pro první test 4-bitovou komunikaci vynechal a komunikoval bych po osmi bitech. Pro začátek je to přehlednější. Piny bych k mcu zapojil takto :
RST (17) přes odpor na +5V
PSB (15) přes odpor na +5V -> log. 1 = paralelní komunikace 4 nebo 8 bitů
RS (4) na pin mcu
RW (5) uzemnit (můžeš i přímo) - budeš do LCD pouze zapisovat
E (6) na pin mcu
D7-D0 (14-7) na piny mcu
VDD (2) +5V (napájení)
VSS (1) GND (napájení)
Vout (18) nezapojovat

Během komunikace s LCD nebudeš číst BF (Busy flag), tudíš musíš dodržet (nebo překročit - rozhodně nesmíš být rychlejší) časy uvedené v tabulce v datasheetu na straně 10 a 11, jinak to může dělat nesmysly. Další inicializace se odvíjí od toho, jestli budeš využívat jenom znakové možnosti modulu nebo i grafické. Osobně bych asi pro odzkoušení komunikace otestoval nejdříve znakovou část. Je prakticky shodný se znakovými displeji s řadičem HD44780. Liší se vlastně jenom v časech, neumí dvouřádkový režim a čistě znakový HD44780 je rychlejší. Až budeš mít vyzkoušenou komunikaci, pak se můžeš začít zabývat grafickým interfacem. Ten je sice hodně podobný tomu znakovému, ale u toho znakovýho pošleš znak, uvidíš znak, tady pošleš data a uvidíš jen pár teček.

No nevím …já si myslím že všechno na jednom portu je přeci jenom praktičtější a i přehlednější. Co se týče těch časů můžeš je překročit tedy čekat déle ale nesmíš čekat kratší dobu.

Je to možná praktičtější z hlediska obsazení pinů na mcu, ale určitě to není přehlednější. A to hned z několika důvodů:

  1. musíš mít přehled o tom, jestli jsi už poslal první polovinu bytu nebo ne.

  2. pro inicializaci do 4-bitového režimu musíš nejdřív opakovaně (a 8-bitově) přepnout do 8-bitového a pak teprve znova do 4-bitového režimu - a to z toho důvodu, že je potřeba “zahodit” nejdříve případnou rozposílanou instrukci nebo data ze 4-bitové komunikace před případným resetem zařízení. Jinak se může stát, že to po resetu (nikoliv po zapnutí, kdy je displej v 8-bitovém režimu komunikace) bude dělat blbosti.

  3. marosh555 psal, že se snaží rozchodit tenhle displej po zakoupení. Předpokládám tedy, že programuje jen testovací aplikaci, kde není důležité šetřit piny, ale otestovat funkčnost a vyzkoušet co displej umí a jak komunikuje. V opačném případě bych mu doporučil přepnout displej na SPI režim a komunikovat po 3 drátech (displej to umí), čímž by ušetřil na mcu hodně pinů.

tohle by mohlo pomoci je tam i program v Bascomu

darc-coburg.de/modules/wiwim … LCD+128x64

To bohužel nepomůže. Tenhle displej má jiný řadič. Displej v odkazu má řadič kompatibilní s KS0108. Displej, který se marosh555 snaží rozběhat má řadič ST7920.