Sida 1 av 2
Lite frågor om 2x16 LCD display (HD44780)
Postat: 7 november 2008, 11:57:42
av Bosen
Jag har en LCD-Display som jag försöker koppla upp mot min pic.
Displayen är köpt av sodjan och heter ED10097GLY
något datablad hittar jag inte.
Jag har kopplat upp den enligt
Wikin
Jag får det inte att funka så jag har ett par frågor:
1. Om jag har fattat det rätt så skal displayen vid spänningsättning göra en selftest där den tänder upp alla punkter på hela displayen. Är det så??
Det händer absolut inget när jag sätter +5v på vcc och 0v på vss.
2. Enligt Wikin så skall Vee (kontrast) egentligen ha -5v (jag har inte hittat denna information någon annanstans) men ibland så går det bra med positiv spänning. Eftersom jag inte har skaffat någon spänningsinverterare än så testade jag med positiv spänning. Kan det vara detta som gör att jag inte ser tecknen??
3. Jag kommer inte ihåg om sodjan sa om det skulle vara backlight på denna display eller inte, men jag hittade anslutningar som hette A och K och på nedanstående bild så har dom ju använt ett 330ohms motstånd mellan +5v och A. Så jag gjorde likadant, men jag får inte backlighten till attt lysa... har jag gjort något fel?

Postat: 7 november 2008, 12:06:29
av sodjan
1. Nja, efter självtest på en 16x2 så brukar halva displayen (översta raden)
vara "grå" och den undre "blank". Med lämplig inställning på kontrasten.
2. Helt fel i Wikin! Negativ kontrsatspänning gäller för "extended temp range"
displayer, de mer vanliga "standard temp range" displayer har en positiv
kontrastspänning mellan 0 och matningsspänningen. De flesta displayer
brukar visa någonting om kontast läggs till GND, men det är inte optimalt.
Bilden nedan visar rätt inkoppling.
3. 330 Ohm kan vara lite mycket. Prova med 50-100 Ohm.
Ja, det har BL.
Jag ska kolla på en modul när jag är på kontoret...
Postat: 7 november 2008, 12:57:11
av Bosen
Tack tack!!!
Det funkar. Kontrasten mot GND och sen blev det bra!
(Jag tycker att någon borde ändra wikin)
Övre raden fylls med grå rutor vid selftestet! så det va som du sa sodjan!
Nu har jag kommit så långt så jag kan ge mig in på själva programmeringen! Jag har slängt ihop ett litet program som skulle initiera displayen och skriva ut ett A, men när jag kör det så tänds dom 2 övre raderna på undre raden (va det någon som fattade vad jag skrev??

) medans de grå rutorna på övre raden var kvar. Antagligen något fel med initialiseringen... jag ska köra den i mplab sim innan jag börjar fråga en massa om det...
Angående backlighten så hadde jag inga så små motstånd hemma, så det får vänta lite
PS. När jag tänker efter så kan det ju va så att det är undre raden som tänds... jag har ju igentligen ingen aniing om vilket som är upp eller ner på displayen

Postat: 7 november 2008, 13:02:32
av Micke_s
Du har inte 3st 330 ohms motstånd då?
parallellkoppla så har du 110ohm.
Postat: 7 november 2008, 13:06:25
av sodjan
> (Jag tycker att någon borde ändra wikin)
Eftersom vem som helst kan göra det, så blir det i praktiken ingen...
> Antagligen något fel med initialiseringen...
Jag vet inte om detta kan ge någon hjälp:
http://www.jescab.se/HD44780.html
Ang upp/ner så har en del moduler en markering på baksidan (på mönsterkortet),
jag minns inte hur det var med denna. Men så snart du får ut första tecknet
så så blir det uppenbart...
Och det går alldeles utmärkt att köra utan backlight tillsvidare.
Postat: 7 november 2008, 13:08:55
av Icecap
Ett tips på flerradiga: innan initialisering är det ÖVERSTA raden oftast mörk och den understa ljus.
Postat: 7 november 2008, 13:15:48
av PHermansson
Bosen skrev:Tack tack!!!
Det funkar. Kontrasten mot GND och sen blev det bra! (Jag tycker att någon borde ändra wikin)
Ja det där är så typiskt: Många vill ha men få vill göra...
Själv brukar jag sätta en trimpot och ett 10ohms motstånd till backlighten, det går utan motstånd också men rekommenderas verkligen inte...
Postat: 7 november 2008, 13:17:36
av Bosen
Micke_s: Smart.... jag ska kolla på d i helgen
Sodjan: Jodå... din kod har jag kollat igenom många gånger.... och snott lite från med
Icecap: Det va väl det jag trodde att det va den översta raden som va tänd (mörk) så då stämde det ju från början isf
EDIT: Jag vågar inte ändra wikin eftersom jag inte riktigt vet vad jag ska skriva... jag é ju inte så haj på displayer... Men jag får la göra det senare då....när jag har lite mer kött på benen....

Postat: 7 november 2008, 13:24:44
av sodjan
> Icecap: Det va väl det jag trodde att det va den översta raden som va tänd (mörk)
Det kan ju bero på att det var det jag skrev tidigare i första svaret i tråden...

Postat: 7 november 2008, 16:19:27
av PHermansson
Gör så gott du kan och be oss kolla sen?
För att komplettera mitt ovanstående inlägg:
Att enbart ha en trimpotentiometer rekommenderas inte då den i ena ändläget ger noll ohms motstånd, med andra ord ingen strömbegränsning alls. Och det mår lysdioderna i backlighten inte bra av.
Postat: 7 november 2008, 16:22:41
av sodjan
En LED backlight drar nornalt mer ström än vad som är lämpligt för
normala trimpottar. Bättre att montera ett fast motstånd med lämpligt
värde, eller att driva den på annat sätt (med t.ex pwm) om man vill
kunna styra ljusstyrkan.
Postat: 7 november 2008, 18:53:07
av Marta
Tändningen av de två översta på rad2 tyder på att Du initierar den fel, för teckenmatris med 9 linjer.
Du skall initiera den för 7 linjers tecken och flerradigt, då bleknar rutorna på övre raden lite och grånar på den undre om Du gjort rätt. Det är kommandot somkallas "Function Set" i databladet som Du gör fel på. Invertera bitarna i positionerna DL och N från vad Du provae med så är chansen stor att det blir rätt.
Andra raden börjar sedan på adress 0x40, den följer alltså inte direkt efter den första.
Postat: 8 november 2008, 16:50:05
av Bosen
ja, det löste sig... d va ett värde som igentligen skulle skickas alla 8 bitar men jag skickade bara 4.... så nu funkar det...
Tack allihopa!
Postat: 25 november 2008, 20:23:28
av Bosen
Nu har jag fått displayen att funka.... men.... Hur skriver man ÅÄÖ????
I Charatercode A00 så hittar jag inte dessa tecken!
Däremot charatercode A02 så finns dom (och dessutom uppåt- och nedåtpil som jag gärna vill använda) men om jag har fattat det rätt så är A02 5x10 och det går visst inte att köra med en 2-radersdisplay?!
Har jag fattat allt fel???
Postat: 25 november 2008, 20:28:00
av v-g
Har inte charcode nyckeln framför mig nu men du kan ju göra egna tecken då jag tror det är å som saknas.
Kolla i bruksen eller googla det är busenkelt om du har displayen i övrigt fungerande.