was ist denn mit Seite 5 unter Set Function N H "2 line display". Hört sich doch danach an, oder nicht?
Hallo, ich habe das myavr board,mit lcd display und alles funktioniert super, das testprogramm läuft, und ich kann auch durch ein von mir geschriebenes programm das lcd display ansteuern, hintergrundbeleuchtung anmachen etc...
aber wie komme ich in die 2te zeile ?
hab mir das datenblatt des lcds angesehn, finde aber keine lösung...
das datenblatt gibts hier :
http://www.myavr.de/download/Beschreibung_myAVR_LCD.pdf
was ist denn mit Seite 5 unter Set Function N H "2 line display". Hört sich doch danach an, oder nicht?
Hallo,
wenn Du in Bascom programmierst, was ich mal annehme, ist das ganz einfach:
Cls
Lcd "1.Zeile"
Locate 2 , 1
LCD "2.Zeile"
Grüße
Henrik
hi, mit der funktion "2 line display" gebe ich bei der init des displays an das ich ein 2 zeilen display benutze...
habe auch versucht einfach "durchzuschreiben" das er automatisch in zeile 2 springt, geht nicht.
Und ich programmiere in assembler
Hallo, dann schaumal auf der Seite 6 im Dattenblatt nach, dort steht:
"Display Adressorganisation"
Du mußt direkt in die Adresse von der zweiten Zeile schreiben, in Deinem Fall liegt das erste Zeichen bei 0x40
Gruß Sebastian
sowas hab ich mir gedacht... und wie mach ich das ?
ich meine, wie übergebe ich die addresse für das zu schreibende zeichen an das lcd ?
Hallo,
Hier hast Du alle Befehle von HD44780.
Dich interessiert "Set DD Ram address"
Du mußt zuerst diesen Behehl ausführen, also RS auf Befehl(LOW) dann 0x80+0x40(also 0xC0) anlegen, Enable; RS auf Daten(HIGH) , Zeichen anlegen, Enable und schon zauberst Du ein Zeichen in die zweite Zeile...
Analog dazu kannst Du alle Zeichen in beiden Zeilen ansteuern.
Ich hoffe, daß ich Dir helfen konnte,
Gruß Sebastian
hi, danke, das hilf mir schon weiter, leider funktioniert aber der gepostete link nicht
Hallo, in dem datenblatt zu meine lcd display welches ich schon oben gepostet hab steht auch die befehlstabelle, was müsste ich hiernach tun ?
erst den befehl ausführen mit angelegtem 0x40 (0x40 = 2.zeile,1. zeichen) ?
wenn ja ,wie ?
weil laut datenblatt ist ja db7 bereits high um die addresse zu setzen, dann hätte ich ja keine 8bit mehr zur verfügung um die 0x40 zu übergeben...
komisch, gestern ging der link bei mir heute auch nicht mehr
Naja, egel, also RS muß LOW sein, damit man ein Befehl überträgt, danach kommt 0x80 (Bit 7) plus die entsprechende Stelle laut Datenblatt (z.B. 0x40)
zusammenaddiert ergibt es 0xC0 die legst Du an die Datenleitungen, gefolgt von einem Enable Impuls, so jetzt setzt Du RS HIGH um Daten zu übertragen , auf Datenleitungen ASCII wert von Deinem Zeichen , wieder ein Enable Impuls, und schon scheibst Du in der 2. Zeile, jedes nächste Zeichen was Du sendest kommt hinterher,
um 0x40 zu übertragen braucht man auch keine 8 Bits,weil laut datenblatt ist ja db7 bereits high um die addresse zu setzen, dann hätte ich ja keine 8bit mehr zur verfügung um die 0x40 zu übergeben...
0x40 ist ja 1000000 also 7 bits , d.h.
Du brauchst 11000000 (laut Datenblatt).
Bit 7 muß bei diesem Befehl IMMER gesetzt sein, deswegen ist es auf 1 im Datenblatt (davon kommt dieses 0x80 + 0x40 )
Na hat es jetzt Klick gemacht? Ich hoffe schon
Gruß Sebastian
Lesezeichen