Forum: Mikrocontroller und Digitale Elektronik PIC18F45k22 HD44780


von Alexander W. (remmiw96)


Angehängte Dateien:

Lesenswert?

Ich bin gerade dabei, mein Display (4x20) am genannten PIC18F45k22 zu 
benutzen. Ich habe jedoch das Problem, dass ich nur in der 1. und 3. 
Zeile schwarze Kästchen bekomme. Der µC soll (sobald es funktioniert) 
später auf 64MHz laufen.
Ich programmiere mit MPLABX 2.20 und dem Compiler xc8 v1.32. Ich hoffe, 
jemand kann mir helfen.
Link zum µC-Datenblatt:
http://ww1.microchip.com/downloads/en/DeviceDoc/41412F.pdf

Danke schon mal im vorraus. LG Alex

von spess53 (Gast)


Lesenswert?

Hi

>Ich habe jedoch das Problem, dass ich nur in der 1. und 3.
>Zeile schwarze Kästchen bekomme.

Display wird nicht initialisiert. Lies dir noch mal die Initialisierung 
für den 4Bit-Mode durch. Das funktioniert nicht einfach mit

>    //4-Bit-Modus
>    DisplayWrite(0,0x20);

MfG Spess

von Alexander W. (remmiw96)


Lesenswert?

Danke für den Tipp. Ich habe im selben Moment bemerkt, dass die Init so 
nicht funktionieren kann und hab sie so abgeändert:

    Delay_ms(100);

    DisplayWrite(0,0x30);
    Delay_ms(5);

    DisplayWrite(0,0x30);
    Delay_ms(1);

    DisplayWrite(0,0x30);
    Delay_ms(1);

    DisplayWrite(0,0x20);
    Delay_ms(1);

    DisplayWrite(0,0x28);
    busy_lcd();

    DisplayWrite(0,0x0c);
    busy_lcd();

    DisplayWrite(0,0x1);
    busy_lcd();

    DisplayWrite(0,0x6);
    busy_lcd();

Ich bekomm jedoch immer noch die schwarzen Kästchen. Hast du vielleicht 
noch einen Tipp? MfG Alex

von dummy (Gast)


Lesenswert?

>Hast du vielleicht noch einen Tipp?

Die ersten vier Befehle werden nicht in zwei Nibbles
übertragen. Nach Power On ist das Display noch im
8 Bit Modus!

von Alexander W. (remmiw96)


Lesenswert?

Ich hab das nun berücksichtigt. Bei den ersten 4 Befehlen werden nur die 
obersten 4 Bit übertragen, da die anderen 4 Dateneingänge des Displays 
auf Masse gelegt wurden. Selbes Ergebnis: schwarze Kästchen.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.