Hallo Habe ein Problem ich will mein Lcd ansteuern aber es funktioniert nicht so richtig. Hier mal der Code: //Pin description /* P1.3 to P1.6 is data bus P1.0 is RS P1.1 is E */ void writedata(char t) { RS = 1; // This is data P1 &= 0xE1; // Make P1.3 to P1.6 zero P1 |= (t&0x1E); // Write Upper nibble of data E = 1; // => E = 1 delay(150); E = 0; // => E = 0 delay(150); P1 &= 0xE1; // Make P1.3 to P1.6 zero P1 |= ((t<<4)&0x1E);// Write Lower nibble of data E = 1; // => E = 1 delay(150); E = 0; // => E = 0 delay(150); } Kann man das mit den Null setzen so machen? und kann ich die Pinbelegung so lassen?
Hallo Hansi, tust Du das LCD-Modul auch initialisieren? Warum nimmst Du nicht eine bewährte und fertige LCD-Library? Tschau Sepp
Hansi schrieb: > Hier mal der Code: Für welchen uC und welchen Compiler sollte der denn sein? > delay(150); Was tut delay()? > P1 &= 0xE1; // Make P1.3 to P1.6 zero Bit 76543210 0xE1 = 11100001 Da wird P1.4 bis P1.1 angesprochen. Das passt also nicht so ganz zum Kommentar...
Guten Morgen Schon mal danke. Hab leider keine fertige Libary für 8051er gefunden. @lkmiller: Wenn ich das richtig verstehe müsste ich dann schreiben P1 &= 0x87 mfg
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.