Forum: Mikrocontroller und Digitale Elektronik LCD Initialisierung


von Barth (Gast)


Lesenswert?

Hallo Leute,

ich hab schon viel ueber LC-Displays gelesen und wollte jetzt mal selber 
eins ansteuern. Ich bin natuerlich gleich auf Probleme gestossen. Jetzt 
komm ich aber nicht mehr weiter. Und zwar hab ich das Display an ein 
Atmel AT89S8252 angeschossen und bekomm die Initialisierung nicht hin. 
Ich programmiere noch ueber Assembler.

Anschluesse:

E ==> Port 1.2 (92H)
R/W ==> Port 1.1 (91H)
RS ==> Port 1.0 (90H)
DB 0-7 ==> Port 0.0-0.7 (80H-87H)

Ich will das Display ueber 8Bit ansteuern. Der Kontroller ist ein 
KS0070B. 2*16 Zeichen. Das Bisplay hab ich von Reichelt : 
http://www.reichelt.de/Info.html?PriSB9S4AQ4AADnzGBM+A52+0+50+LCD%20162F%20LED+LC%20DISPLAY++++artnr 
.

Ich hab den Kontrast richtig eingestellt aber es ist nur die obere Zeile 
schwarz sichtbar und nicht die Untere.

Hier ist mein Code den ich geschrieben habe :

ORG          0000H

MAIN:        MOV   80H,#00H                         ;Wartet 15ms nach 
Start
             MOV   90H,#00H
             MOV   R0,#0FFH
             MOV   R1,#90

Sch:         DJNZ  R0,Sch
             MOV   R0,#0FFH
             DJNZ  R1,Sch

INI1:        MOV   80H,#00000001B                   ;Clear Display (5ms)
             MOV   R0,#0FFH
             MOV   R1,#30

Sch1:        DJNZ  R0,Sch1
             MOV   R0,#0FFH
             DJNZ  R1,Sch1

INI2:        MOV   80H,#00000010B                   ;Cursor first digit 
(5ms)
             MOV   R0,#0FFH
             MOV   R1,#30
Sch2:        DJNZ  R0,Sch2
             MOV   R0,#0FFH
             DJNZ  R1,Sch2

INI3:        MOV   80H,#00000111B                   ;Increase & Shifted 
(0,160ms)
             MOV   R0,#200
Sch3:        DJNZ  R0,Sch3

INI4:        MOV   80H,#00001100B                   ;Display on & Cursor 
on & Blinking on (0,160ms)
             MOV   R0,#200
Sch4:        DJNZ  R0,Sch4

INI5:        MOV   80H,#00010100B                   ;shift & right 
(0,160ms)
             MOV   R0,#200
Sch5:        DJNZ  R0,Sch5

INI6:        MOV   80H,#00111000B                   ;8BIT & 2Line & 5x7 
(0,160ms)
             MOV   R0,#200
Sch6:        DJNZ  R0,Sch6

INI7:        MOV   80H,#01000000B                   ;CG RAM Data 
(0,160ms)
             MOV   R0,#200
Sch7:        DJNZ  R0,Sch7

INI8:        MOV   80H,#10000000B                   ;DD RAM Data 
(0,160ms)
             MOV   R0,#200
Sch8:        DJNZ  R0,Sch8

Data:        MOV   90H,#00000001B                   ;Write Data in DD 
(0,160ms)
             MOV   80H,#00110000B
             MOV   R0,#200
Sch9:        DJNZ  R0,Sch9
             MOV   90H,#00H

END

Ueber hilfe waere ich sehr dankbar.

MFG

Christian

von Matthias (Gast)


Lesenswert?

Hi

Port0 hat beim 8051 keine Pullups. Hast du welche drin?

Matthias

von Barth (Gast)


Lesenswert?

Hi,

ne hab ich nicht.

von Matthias (Gast)


Lesenswert?

Hi

dann mach mal hin

Matthias

von Barth (Gast)


Lesenswert?

Danke ich hab es jetzt geschaft. Du hattest recht Matthias

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.