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.