Op e-bay heb ik volgende LCD-display's gekocht.
LCD-Display.
Maar bij het vervangen van een oudere LCD-Display (ook HD44780 compatible)door deze nieuwe LCD verschijnt er enkel een rij blokjes op het scherm.( een andere nieuwe LCD heeft hetzelfde probleem)
De LCD's staan in 4-bit mode en enkel DB4...DB7 worden gebruikt.

Moet je bij sommige LCD-display's iets veranderen aan de aansluitingen?
Heeft iemand hier reeds ervaring mee?



                         ATTINY2313
                          +------+ |-100n->(GND)         +--------+
              (RESET-ISP)-|1   20|-|-(VCC)+5V    (GND)-1-|Vss     | 
      ENC.PULS XA-GN(PD0)-|2   19|-(SCK-ISP)     (+5V)-2-|Vcc     |
      ENC.PULS YA-GN(PD1)-|3   18|-(MISO-ISP)    (GND)-5-|RW      |
                         -|    17|-(MOSI-ISP/PB5)------4-|RS    L |
                         -|    16|-(PB4)---------------6-|EN    C |
 ENC.PULS XB-WH(INT0/PD2)-|6   15|-(PB3)--------------14-|DB7   D |
 ENC.PULS YB-WH(INT1/PD3)-|7   14|-(PB2)--------------13-|DB6     |
    (GND)<-PUSHB.X0-(PD4)-|8   13|-(PB1)--------------12-|DB5   D     
    (GND)<-PUSHB.Y0-(PD5)-|9   12|-(PB0)--------------11-|DB4   I |  
                    (GND)-|10  11|-(PD6)-OUT             |      S |
                          +------+                       |      P |
                          (0V...5V->sweeper 10k potm.)-3-|Vee   L |
                                                         |      A |  	         
                                                         |      Y |  
                                   (+5V -> Backlight)-15-|A       |
                                   (GND -> Backlight)-16-|K       |       
                                                         +--------+

 

Misschien heeft het display een andere pinout. Het contrast moet misschien ook nog worden afgesteld.

Het contrast kan mooi ingesteld worden tussen min. en max..
Mijn eerste gedacht was ook dat de pinout van de data misschien anders is.
(Een pdf met de pinout van deze LCD zou natuurlijk interessant zijn om dat uit te maken.)

De timing kan ook nog wel eens roet in het eten gooien.
Probeer eens een langzamere init.

Let er op dat sommige displays omgekeerde pinning hebben:


14 13 12 11 10 9 8 7 6 5 4 3 2 1 15 16

      i.p.v.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16  

aangezien het contrast wel werkt denk ik dat pinnen 1 2 en 3 juist zijn ... en is de pinning volgens mij 1 2 3 4 5...16
Ook staat er een 1 bij pin 1 en een 16 bij de laatste pin.
Zou het kunnen dat de data's anders aangesloten worden?
(ondertussen heb ik ook de pinout aangevraagd aan de verkoper)

Op 17 juni 2011 11:25:39 schreef Zonnepaneeltje:
De timing kan ook nog wel eens roet in het eten gooien.
Probeer eens een langzamere init.

Dat zal ik straks ook eens proberen...

Bij sommige displays moet je ook D0...D3 aan GND hangen in 4 bit mode, anders werken ze niet (goed)

ok, bedankt. Nog iets dat ik straks kan proberen.

Ja Zonnepaneeltje inderdaad, nu werkt het!
Na de initialisatie van de poorten moest nog een 200ms delay komen dan pas initialiseer ik de LCD en na een 20ms delay start het programma. De aansluitingen zijn dezelfde gebleven als bij mijn oude LCD.
Nu werkt het prima.
http://www.uploadarchief.net/files/download/xy_encoder_lcd.jpg

Bedankt aan iedereen in deze topic om te willen helpen.

[Bericht gewijzigd door Henry S. op (81%)]

Op 17 juni 2011 12:25:06 schreef Arco:
Bij sommige displays moet je ook D0...D3 aan GND hangen in 4 bit mode, anders werken ze niet (goed)

NOOIT de d0 .. d3 HARD aan grond hangen. zet er altijd 470 ohm tussen.

Ik heb al displays in rook zien opgaan... ze komen in read-mode te staan , de 44780 zet de datalijnen als uitgang en paf.. de rook ontsnapt spontaan uit dat ding ...

Je moet dan ook de R/W pin aan Gnd hangen, dan kan 'ie niet in read mode komen...

Arco,

Je kunt custom fonts laden na initialisatie, dat kan dan niet meer.

Hoewel display-fabrikanten beweren dat hun displays HD44780 compatible zijn, mag je niet verwachten dat dat geldt voor de polariteit dan de contrastspanning en voor de initialisatie, die wordt vaak in de doc uitgebreid voorgeschreven inclusief timing.

[Bericht gewijzigd door Henry S. op (96%)]

Het slimme van de voorgeschreven initialisatie prodcedure is dat de chip gewoon in een willekeurige (4-bit of 8-bit) mode opkomt en dat je hem een aantal commandos geeft dat ie naar 4-bit mode moet gaan. Dit werkt ook als de onderste 4 bits niet zijn aangesloten en willekeurig door de chip als 1 of als 0 gezien worden.

Kortom, ik zou eerder denken dat het ligt aan die vertraging die je nu hebt ingebouwd dan aan het aan de gnd leggen van die vier databits.

Trouwens ipv de door FE voorgestelde 470 ohm zou ik voor 4k7 gaan....
Het hele ding hoort normaliter iets van 1mA te verbruiken. Dus z'n output drivers zullen wel niet makkelijk "20mA" kunnen driven zoals de atmel. Doe je er 470 ohm aan moeten ze bij verkeerd aansturen 10mA sourcen. Omdat het zuinige CMOS is en het geheel met minder dan 1mA toe moet kunnen, verwacht ik dat je met 1mA de pin ruimschoots op tijd laag krijgt.....

[Bericht gewijzigd door rew op (47%)]

Arco, Je kunt custom fonts laden na initialisatie, dat kan dan niet meer.

Custom fonts heeft niets met de read-mode van het display te maken. Kan gewoon met R/W aan Gnd.
Enige nuttige read is de busy-flag die je kunt uitlezen, maar geen zinnig mens gebruikt die...

Op 17 juni 2011 16:58:18 schreef Arco:
[...]
Enige nuttige read is de busy-flag die je kunt uitlezen, maar geen zinnig mens gebruikt die...

Elk zinnig mens gebruikt die. Ik ga daar een beetje een hele controller laten wachten op de timing van een display zeg... Leker interrupt-based aansturen en die busy wordt wel een keer gecleared...

Ah,

Dan hoor jij bij die 10 mensen die 'm wel gebruiken... ;)
Je moet LCD's ook niet in de ISR aansturen, daar zijn ze veel te traag voor.
Gewoon in main routine updaten, daar steekt het niet op een paar µS (of mS)...

Op 17 juni 2011 17:40:01 schreef Arco:
Ah,

Dan hoor jij bij die 10 mensen die 'm wel gebruiken... ;)

Correctie 11 :)!
Verder heb ik een bloed hekel aan de 4 bits mode altijd een ge-etter.

Ja sorry, ik gebruik altijd R/W; toen de displays nog geen krats kostten werd er in een artikel in Elektuur voor gewaarschuwd dat als je niet op de busy-vlag wachtte je de display kon opblazen.

Nadeel is dat als de display niet in de connector geprikt is, de zaak blijft hangen op die busyvlag. kan natuurlijk weer met een timeout voorkomen worden, maar ja, nooit gedaan.

[Bericht gewijzigd door Henry S. op (96%)]

Op 18 juni 2011 00:57:22 schreef PbSn:
[...]
Nadeel is dat als de display niet in de connector geprikt is, de zaak blijft hangen op die busyvlag. kan natuurlijk weer met een timeout voorkomen worden, maar ja, nooit gedaan.

Of dat een nadeel is, weet ik niet. Of het blijft hangen is afhankelijk van de controller. Die pins zijn doorgaans floating (AVR) of high (8051; pull-ups). Als het je stoort kun je er een (hardere) pull-down aan hangen als er geen display gemonteerd is...