- fchao-Sinus-Wechselrichter AliExpress         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 11

Thema: 2. Zeile im LCD display

  1. #1
    Benutzer Stammmitglied
    Registriert seit
    19.09.2005
    Ort
    Meschede
    Alter
    39
    Beiträge
    34

    2. Zeile im LCD display

    Anzeige

    LiFePo4 Akku selber bauen - Video
    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

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    08.05.2004
    Ort
    Wilhelmshaven
    Alter
    45
    Beiträge
    324
    was ist denn mit Seite 5 unter Set Function N H "2 line display". Hört sich doch danach an, oder nicht?

  3. #3
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    22.12.2004
    Alter
    70
    Beiträge
    277
    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

  4. #4
    Benutzer Stammmitglied
    Registriert seit
    19.09.2005
    Ort
    Meschede
    Alter
    39
    Beiträge
    34
    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

  5. #5
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    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

  6. #6
    Benutzer Stammmitglied
    Registriert seit
    19.09.2005
    Ort
    Meschede
    Alter
    39
    Beiträge
    34
    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 ?

  7. #7
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    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

  8. #8
    Benutzer Stammmitglied
    Registriert seit
    19.09.2005
    Ort
    Meschede
    Alter
    39
    Beiträge
    34
    hi, danke, das hilf mir schon weiter, leider funktioniert aber der gepostete link nicht

  9. #9
    Benutzer Stammmitglied
    Registriert seit
    19.09.2005
    Ort
    Meschede
    Alter
    39
    Beiträge
    34
    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...

  10. #10
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    08.05.2005
    Ort
    Issum
    Alter
    52
    Beiträge
    2.236
    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,
    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...
    um 0x40 zu übertragen braucht man auch keine 8 Bits,
    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

Seite 1 von 2 12 LetzteLetzte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

12V Akku bauen