Sida 1 av 1

Problem med kontrast på LCD-display

Postat: 17 mars 2008, 11:03:25
av Zmod
Jag har ett problem med LCDn JHD161A som består av att kontrasten blir olika för det första 8 och de sista 8 tecken.

Kontrasten är kopplad så att en poteiometer ligger mellan -5v och 0v. Utgången är kopplad till LCDs kontrastingång. När potetiometern är inställd på -5v så är alla 16 tecken svarta fyrkanter, men när man skruvar mot 0v så tynar de första 8 tecknen sakta bort. Dock så är de sista tecknen kvar som svarta boxar. Bara när de första tecknen helt har försvunnit mot bakgrunden så börjar kontrasten för de sista tecknen försvinna.

Men kontrasten för de sista tecknen hinner inte ändras innan potentiometern har gått i botten på 0v. Men när jag byter ut -5v mot +5v och skruvar åt andra hållet så forsätter de sista tecknen att tyna bort, sammtidigt som de första 8 tecknen forfarande är borta.

Min fråga är om någon vet vad detta handlar om, varför beter den sig så här konstigt? Jag vill ju självklart ha samma kontrast på alla 16 tecken.

Postat: 17 mars 2008, 11:33:17
av sodjan
Vad ska det vara för kontrastspänning enligt databladet ?
Om du kopplar potten mellan -5 och +5 så går det alltså inte att
hitta något "bra" läge ?

De "tecken" du talar om, är det riktiga tecken som du har skrivit till LCDn ?

Postat: 17 mars 2008, 12:23:46
av Zmod
http://www.electrokit.se/download/JHD161A%20SERIES.pdf

Där är databladet står faktist inte vad det ska vara för spänning.

Sodjan: precis går inte att hitta något bra läge. Det är riktiga tecken som skrivs till LCDn. Vanliga bokstäver.

Men jag ska poängtera att vi tror inte ens processorn snurrar. Dvs LCDn blir kanske inte ens intierad. Men det borde väl inte påverka kontrastet?

Postat: 17 mars 2008, 12:34:56
av PHermansson
Varför tror du att den inte är igång om det skrivs bokstäver på displayen? Det är inte bara svarta fyrkanter? När fyrkanterna visas brukar kontrasten vara rätt när bara en av raderna syns.
I databladet finns bara ett motstånd från kontrasten till jord? Udda. Man brukar ha en pot så man kan variera 0-5volt.

Postat: 17 mars 2008, 13:40:10
av 007sweden
Ja alltså precis efter att lcd'n fått spänning och innan data har hunnit skickas till den (initiering etc) så är hela övre raden full med svarta fyrkanter som visar att displayen är ok. Ställ in kontrasten efter den samtidigt som den undre raden ej skall synas alls.

Postat: 17 mars 2008, 13:45:02
av sodjan
Om det är så att...

> ...vi tror inte ens processorn snurrar...

Hur kan det då vara...

> ...riktiga tecken som skrivs till LCDn. Vanliga bokstäver.

Bestäm dig !

Om LCD'n inte är initierad (alltså bara har kört POST) så blir det som du beskriver...

> I databladet finns bara ett motstånd från kontrasten till jord? Udda.

Kontrastingång på en HD44780 är inte rent spänningsstyrd, så det fungerar
oftast även med ett motstånd till jord. genom att variera motståndet
kan kontrasten varieras. Men det blir mycket svårare att *justera*... :-)

Postat: 17 mars 2008, 15:05:29
av PHermansson
Ahh, då har jag lärt mig nått nytt idag med, tack! :)

Postat: 17 mars 2008, 20:49:21
av Zmod
PHermansson och Sodjan: Jag vet att lcdn har startats upp men mikroprocessorn som skickar datan till LCD behöver ju inte snurra och skicka iväg datan riktigt för det.

Jaha så eftersom det är en 16 tecekens en radig display. Så har dom ockås den i 8 teckens displayer? Så när den blivit intierat så borde det försvinna och kontrasten bli likadan på rutorna? Inte 8 i taget?

Tack!

Postat: 17 mars 2008, 20:59:19
av 007sweden
Kan det vara så att kontrollern ser den som en tvåradig display men att de 2 raderna är bredvid varandra?

Postat: 17 mars 2008, 21:38:08
av sodjan
> Så när den blivit intierat så borde det försvinna och kontrasten bli likadan på rutorna?

Ja, när det har blivit initierad från *interfacet*, det räcker inte med
power on self test (POST). Men om eran processor inte fungerar så
kommer du inte att kunna initiera LCDn heller.

Det är mycket möjligt att de 16 tecknen hanteras som två "rader".
Det finns ingen adressmapp i databladet. Var kommer LCDn från ?

Postat: 20 mars 2008, 08:44:46
av c-larsson
Jag deltar i samma projekt som Zmod och kan meddela att det har skett endel framsteg.

Mycket glädjande är att motrolaprocessorn nu snurrar och vi kan skriva på de första 8 tecknen i alla fall. Om vi initierar den som en enradig display och inte skriver mer än 8 tecken så är kontrasten som förut. Om vi skriver mer än 8 tecken så blir kontrasten samma för alla 16 tecknen men inget syns, den verkar få fnatt.

Om vi istället initierar den som en tvåradig display så är det samma, vi kan skriva på de första tecknen men om vi byter rad så ballar den ur.

Se databladet som Zmod länkade till ovan, det ända utav användning där är att det står att den använder KS0066U kontrollern, i övrigt så skulle jag vilja nominera detta datablad till århundradets sämsta.

Postat: 20 mars 2008, 10:13:47
av sodjan
*OM* det är så att den är "splittat" på två rader, så är det sannolikt så
att adresserna inte är linjära. Det är alltså två adress areor för varje
halva.

Titta på 20x1 modulen på sidan 88 i det här dokumentet:
http://www.epemag.wimborne.co.uk/lcd1.pdf.

Och, ja, databladet är riktigt dåligt.
Adressmappen för modulen måste vara med...

Postat: 20 mars 2008, 11:39:56
av Icecap
Ahaaa... nu fattar jag...

Jo, det är så att vissa 16x1 display i snikversion är "kopplat" så att de första 8 tecken är "rad 1" och de nästa 8 är "rad 2".

Det ska alltså initialiseras som ett 2-radigt och man måste flytta cursorn när man kommer till plats 9 på displayen.

Lurade mig i sin tid också...

Postat: 20 mars 2008, 12:38:54
av sodjan
D.s.v att de första 8 tecknen är h'00 - h'07' och de andra 8 är h'40 - h'47'.
h'40' brukar vara startadressen för "rad 2", om jag inte minns fel...