www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik LCD zeigt einzelne Zeichen nicht an


Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich habe vor mit einem 8051 Microcontroller (AT89C5130A-M) ein LCD 
Display anzusteuern. Das Display wird vom externen Bus des µController 
mit 8(10) Bit angesteuert. Die Initialisierung des Displays klappt 
wunderbar. Aber manche Buchstaben (z.B. N oder T) werden nicht 
angezeigt. Ich danke euch schon einmal im Voraus für eure guten Tipps.
Gruß Bernd

Hier der Assembler Code:
org 0h
AA equ 01000001b
YY equ 01011001b
NN equ 01101110b
II equ 01101001b
CC equ 01000011b
KK equ 01001011b
orl  08Eh,#00000010b      ;movx befehle für externen ram umschalten
lcall warte50ms

mov a, #00111000b      ;Function Set
movx @R0, a
lcall warte50ms

mov a, #00001110b      ;Display ON/OFF
movx @R0, a
lcall warte50ms

mov a, #00000110b      ;Increment
movx @R0, a
lcall warte50ms

mov a, #00000001b      ;Clear Display
movx @R0, a
lcall warte50ms

mov a, #00000010b      ;Return Home
movx @R0, a
lcall warte50ms

setb P3.6
setb P3.7

prog:

speichern:
mov R0, #YY
mov a, R0
movx @R0, a
lcall warte50ms

mov R0, #AA
mov a, R0
movx @R0, a
lcall warte50ms



mov R0, #II
mov a, R0
movx @R1, a
lcall warte50ms

mov R0, #CC
mov a, R0
movx @R0, a
lcall warte50ms

mov R0, #KK
mov a, R0
movx @R0, a
lcall warte50ms


schl:
sjmp schl

warte50ms:
        push PSW
        push 0
        push 1
        mov 1,#189
ws0_labelB1:
        mov 0,#75
ws0_labelB0:
        nop
        nop
        nop
        nop
        nop
        djnz 0,ws0_labelB0
        djnz 1,ws0_labelB1
        nop
        pop 1
        pop 0
        pop PSW
        ret
        
        
end

Autor: Bernd (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
Ich habe mein Problem durch rumprobieren gelöst aber ich weiß nicht wiso 
es jetzt funktioniert. Hier der neue Code:
org 0h
AA equ 01000001b
YY equ 01011001b
NN equ 01101110b
II equ 01101001b
CC equ 01000011b
KK equ 01001011b
orl  08Eh,#00000010b      ;movx befehle für externen ram umschalten
lcall warte50ms

mov a, #00111000b      ;Function Set
movx @R0, a
lcall warte50ms

mov a, #00001110b      ;Display ON/OFF
movx @R0, a
lcall warte50ms

mov a, #00000110b      ;Increment
movx @R0, a
lcall warte50ms

mov a, #00000001b      ;Clear Display
movx @R0, a
lcall warte50ms

mov a, #00000010b      ;Return Home
movx @R0, a
lcall warte50ms


prog:

speichern:
mov R0, #YY

mov a, #YY
movx @R0, a
lcall warte50ms

;mov R0, #AA
mov a, #AA
movx @R0, a
lcall warte50ms

;mov R0, #NN
mov a, #NN
movx @R0, a
lcall warte50ms

;mov R0, #NN
mov a, #NN
movx @R0, a
lcall warte50ms

;mov R0, #II
mov a, #II
movx @R0, a
lcall warte50ms

;mov R0, #CC
mov a, #CC
movx @R0, a
lcall warte50ms

;mov R0, #KK
mov a, #KK
movx @R0, a
lcall warte50ms


schl:
sjmp schl

warte50ms:
        push PSW
        push 0
        push 1
        mov 1,#189
ws0_labelB1:
        mov 0,#75
ws0_labelB0:
        nop
        nop
        nop
        nop
        nop
        djnz 0,ws0_labelB0
        djnz 1,ws0_labelB1
        nop
        pop 1
        pop 0
        pop PSW
        ret
        
        
end
Gruß Bernd

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.