Vom HD44780 lesen

Gast #20060
Hallo,

schreiben auf dem Display klappt super, nur das zurücklesen der Daten 
aus dem RAM des Display will nicht. Verkabelt ist folgendermaßen an 
PORTC

rsbit=0
rwbit=1
enablebit=2
daten=4-7

Diese Routing soll nun lesen und das ganze nach lcd_data schreiben

lcd_read_data:
    ; 4-7 (Daten als Eingang), Rest als Ausgang
    ldi temp, 0b00001111
    out DDRC, temp

    ; RS und RW setzen
    ldi temp, 0b00000011
    out PORTC, temp

    ; Kurz enablen und danach warten
    rcall lcd_enable
    rcall delay50us

    ; Erstes nibble nach lcd_data
    in   lcd_data, PINC

    ; Hintere Teil kicken
    andi lcd_data, 0b11110000

    ; RS/RW wieder setzen
    ldi temp, 0b00000011
    out PORTC, temp

    ; kurz enabled + warten
    rcall lcd_enable
    rcall delay50us

    ; Diesmal nach temp lesen
    in   temp, PINC
    ; aufräumen
    andi temp, 0b11110000
    ; nibble tauschen
    swap temp

    ; nun noch beide nibble zusammen bringen
    or lcd_data, temp

    ; wieder alles als Ausgang setzen (damit man wieder schreiben kann)
    ldi temp, 0xFF
    out DDRC, temp

    ret

Grüße
  Tobias
Gast
lcd_enable:
  sbi PORTC, lcd_enablebit
  nop
  nop
  nop
  cbi PORTC, lcd_enablebit
  ret

Funktioniert beim schreiben damit gut. CPU ist ein ATS908583 mit 8 MHz

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.