Forum: Compiler & IDEs lcd proglem 8bit datenleitung


von Mike (Gast)


Lesenswert?

Hallo zusammen

habe ein msp430f149 microcontroller von ti und habe mühe mit der
ansteuerung eines 4*20 matrixdisplay über 8bit datenleitung D0..d7. der
lcd kontroller ist ein
hd44780.
Eigenlich läuft es ja nicht schlecht, doch wenn ich einen string aufs
lcd schreiben will, kommt manchmal nicht alles drauf. ein paar
buchstaben werden übersprungen usw.
weiss jemand was genaueres über busy flag lesen??
habt ihr c files für die ansteuerung dieses kontrollers (hd44780),
oder
wisst ihr gute links???
danke für eure hilfe

mike

von funkter (Gast)


Lesenswert?

Vielleicht hilft dir diese funktion weiter:

void lcd_write_string(char *text)
{
  while (*text != 0x00) lcd_write_byte(*text++);
}

void lcd_write_byte(unsigned char byte)
{
  outp(DDRD|=0xff,DDRD);
  sbi(PORTD,4); //RS=1
  cbi(PORTD,6); //RW=0
  if ((byte & 0x80) == 0x80) sbi(PORTD,3); else cbi(PORTD,3);
  if ((byte & 0x40) == 0x40) sbi(PORTD,2); else cbi(PORTD,2);
  if ((byte & 0x20) == 0x20) sbi(PORTD,1); else cbi(PORTD,1);
usw...

main(){
lcd_write_string("TEST");
}

von Mike (Gast)


Lesenswert?

vielen dank für deine hilfe, habe das problem gestern abend gefunden.
zwischen prozessor und display habe ich wegen den unterschiedlichen
spannungspegel (3V,5V) zwei 74hct245 geschalten. leider hatte ich die
steuerrichtung mit dem r/w signal verbunden. doch wenn ich das busy
flag zurücklesen wollte, schaltete ich beide gatter auf hochohmig,
obwohl das display einen highpegel für read haben sollte.
ja nu, jetzt funktioniert es einwandfrei....

von Christian Ege (Gast)


Lesenswert?

Hi könntest Du deinen C oder ASM  Code posten würde mich mal
interessieren wie die Ansteuerung über 8 Bit gemacht wird. Alle
Beispiele die ich bis jetzt gefunden habe waren alles nur 4 Bit.

thx
chege

von Andreas S. (andreas) (Admin) Benutzerseite


Lesenswert?


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.