Problem s LCD 16x2

Pavel Kutina hw@prelude.cz
Sobota Únor 6 21:20:47 CET 2010


Vytahl jsem tohle stare tema, abych ze sebe s definitivni platnosti udelal
blbce :)

Po hodinach experimentu s nefungujicim LCD jsem cely projekt odlozil, z
casti pro nedostatek casu, z casti protoze mne to otravilo.

Vratil jsem se k tomu po par mesicich, koupil novy LCD - jiny vyrobce, jiny
radic. A jake bylo me prekvapeni, kdyz se ten novy LCD choval uplne stejne
debilne. Napsal jsem si vlastni rutiny pro inicializaci, vysledek stejny - s
malym 8x2 LCD (resp se dvema ruznymi) to chodilo, s velkym 16x2 nikoli,
porad mi to malovalo rozsypanej cas a podivne to sifrovalo.

V zachvatu totalniho zoufalstvi jsem pripajel konektor na vyvojovou desku z
PICkitu, pridratoval ho na PORTD, na kterem jsou v kitu i LEDky, abych to
krok po korku otrasoval. V Mikropascalu jsem vytvoril prazdny projekt, do
ktereho jsem nabouchal jenom inicializaci portu, init displeje (defaultni
rutinou) a vypis dvou radku.

Prelozil jsem, nahral do PICu a zacal si straslive nadavat - na kitu to
samozrejme chodilo na prvni pokus...

Takze to vypada, ze jsem v tom mem bastlu nekde pozapomnel na vypnuti neceho
duleziteho, co je na portu B defaultne zapnute nebo neco takoveho (mam to na
16F917, tlustej PIC v podstate se vsim, co Microchip do 8bit dava), zjevne
jsem nekde neco prehlidnul.

Ale proc mi to vsechno chodilo na dvou ruznych 2x8 dvou ruznych vyrobcu a na
dvou ruznych 2x16 ne, to mi jasne neni...

Pavel Kutina


----- Original Message ----- 
From: "Pavel Kutina" <hw@prelude.cz>
To: "HW-news" <hw-list@list.hw.cz>
Sent: Wednesday, September 16, 2009 12:57 AM
Subject: Problem s LCD 16x2


Zdravim,

nedavno jsem se tu ptal po PIC simulatorech, jakoze si nahrubo odladim SW a
pak to nacisto srovnam na HW. Napad dobrej, provedeni pokulhava.

Mam jakysi bastl pro temnou komoru, programuju to v MikroE Mikropascalu, mel
jsem v nem LCD 8x2 (v 8bit rezimu), chodilo to jak v simulatoru, tak v
realu. Akorat ze to LCD ma klasicke zlutozelene podsviceni, ktere se mi do
komory vubec nehodi - potrebuju cervene. Co cert nechtel - podival jsem se
do nabidky GM a nasel tam 16x2, negativni, s cervenym podsvicenim. Tak jsem
zajasal a protoze jsem mel cestu kolem, mile LCD koupil, doma vyrobil
redukci ze stavajiciho konektoru 2x7 pinu na 1x14 (propojeno plochym
kabelem, cca 10cm), propojil - a nestacil se divit.

Na LCD se mi nepodarilo zapsat na spodni radek, na hornim se objevovaly
znaky, ktere tam nepatrily a kdyz jsem do LCD postupne sypal znaky 0..255
tak se tam napriklad ani jednou neobjevilo "A", abeceda sla "DFCDEF...",
nepodarilo se mi vypsat zadne cislo atd. Zase je plus, ze LCD bylo schopne
popsat cely radek. Sice jen jeden a necim uplne jinym, ale zato vcelku.

Rekl jsem si, ze je treba nejaka nekompatibilita v knihovne pro 8bit praci s
LCD a predratoval to na 4bit. Dva ruzne typy displeju 8x2 tam chodily bez
zavahani, tahle mrcha misto pozice 1,1 zacinala na 1,8, opet neexistovaly
nektere znaky (stejne jako v predchozim pripade, proste vypsat na nej
jakekoli cislo je nemozne), navic se tu objevovaly takove zajimave "speky" -
nechal jsem ho na pozici 1,1 napsat znak "a", displej se zatvaril, jako ze
teda jo, a na pozici 1,8 mi vypsal znak "e"... Na pozici 1,1 se mi
nepodarilo ve 4bit rezimu zapsat vubec nic.

Zkousel jsem i zpomalit procesor (z 8MHz az na 500KHz), ale bez pouzitelneho
vysledku. Program jsem ocesal na kost, nechat tam jen inicializaci, smazani
LCD, vypnuti kurzoru a vypsani jednoho znaku na pozici 1,1. Bez jakehokoli
efektu.

Napada mne nekolik moznosti, v cem je zakopany pes:

- Muze byt kabel mezi procesorem a displejem prilis dlouhy? (cca 10cm -
puvodne to bylo cca 16cm, po zkracni se LCD chova naprosto stejne blbe)

- Problematicke nebo nekompatibilni rutiny Mikropascalu (ale nechapu, proc u
dvou displeju 8x2 chodi, jiny displej 16x2 bohuzel nemam), ale ani na foru
si na ne nikdo nijak vyrazne nestezoval (jen u jednoho displeje musim nechat
probehnou LCD_Init nejmene dvakrat, nevim, jestli je to problem LCD, nebo te
rutiny)

- Nejaky "nakopnuty" displej. V teto souvislosti jsem se podival do
reklamacnich podminek GM a nasel tam vetu ve stylu "zaruka se neuznava,
byla-li soucastak zapajena". Super, jen nevim, jak jinak LCD vyzkouset, sadu
testovacich jehel doma nemam.

- Cokoli jineho, co mne nenapada.

Mate nekdo tip? Mam takove tuseni, ze tu nekdo podivne zlobive LCD displeje
popisoval, ale v archivu konference jsem to nenasel.

Diky za kazdou radu.

Pavel Kutina

P.S.: Nemate nekdo zbytecny cerveny (negativni byt nutne menusi) LCD 16x2?
Klidne muze byt i pajeny - pokud bude funkcni...


_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list@list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list 



More information about the Hw-list mailing list