Forum: Mikrocontroller und Digitale Elektronik Display DEM16216 Ansteuerung - Probleme!


von Alex (Gast)


Angehängte Dateien:

Lesenswert?

Hallo zusammen,

Ich stehe hier nun vor folgendem Problem. Ich benutze das baugleiche
Display wie der Martin (siehe Thread 
"Beitrag "Initialisierung von KS0070B LCD";), habe allerdings 
andere Pinbelegungen. Alles was darüber schon einmal diskutiert wurde, 
seht ihr dort!

RS -> PD2
E  -> PD3

DB4 -> PD4
DB5 -> PD5
DB6 -> PD6
DB7 -> PD7


Nun hätte ich ein paar Fragen:


1.) Was ist denn der Unterschied von "void lcd_data" zu "void
lcd_command"?  Was macht dieses RS?

2.) In diesen beiden Funktionen werden ja obere und untere Nibble
gesetzt... da ich ja von der Pinbelegung anders bin, muss ich hier doch
auch was ändern! Muss ich nun beim oberen Nibble die unteren 4 Bits
löschen und bei unteren Nibble die oberen 4 Bits und das ganze dann nach
links verschieben?

3.) Die Funktion "void lcd_enable" kann ich doch belassen oder?

4.) Bei der Funktion "void lcd_init" müssen neue Einstellungen bei
LCD_DDR und PORT_LCD vorgenommen werden, stimmts? Reicht es, wenn ich
hier die Einstellungen einfach umdrehe, also aus "0x0F" -> "0xF0" und
auch "0x03" -> "0x30" mach?

5.) Wenn ich den Cursor nicht benutzen will, kann ich dann einfach die
Funktionen "void lcd_home" und "void set_cursor" löschen? Muss ich
dementsprechend auch andere Einstellungen in der "lcd_init" vornehmen?


Ich hänge mal die von mir geänderte Datei als Anhang an.


Außerdem würde mich noch eines interessieren. Der Martin hat ja die
Datei "lcd_routines.c" angehängt und erwähnt das in die Datei
"lcd_routines.h" der Code aus seinem Beitrag eingefügt werden soll.
Weiter unten hat er dann ja den Code für die "main.c" geschrieben. Muss
ich nun die Funktionen aus der "lcd_routines.c" in die "main.c" einfügen
oder wie binde ich diese Datei noch mit ein?


Wäre toll, wenn ihr mir helfen könntet...!


Gruß und frohe Weihnachten

Alexander
von Alex (Gast)


Lesenswert?

push!
von spess53 (Gast)


Lesenswert?

Hi

>1.) Was ist denn der Unterschied von "void lcd_data" zu "void
>lcd_command"?  Was macht dieses RS?

RS = Register Select. Schaltet zwischen Daten und Befehlen um.

>5.) Wenn ich den Cursor nicht benutzen will, kann ich dann einfach die
>Funktionen "void lcd_home" und "void set_cursor" löschen? Muss ich
>dementsprechend auch andere Einstellungen in der "lcd_init" vornehmen?

Du musst aber den 'Cursor' benutzen. Das ist die Stelle auf die ein 
Zeichen geschrieben wird. Ob da ein sichtbarer Cursor dort blinkt ist 
dafür sch... egal.

MfG Spess
von Alex (Gast)


Lesenswert?

Ah okay...

Danke dir. Also kann ich mit der Funktion z.B. sagen, er soll erst ab 
der vierten Stelle den Text ausgeben und so?

Könntest du mir was zu den Voreinstellungen sagen. Ich muss ja alles von 
den Eingängen 0..3 auf 4..7 ändern. Dementsprechend muss ich doch sicher 
auch was bei den Grundeinstellungen wie z.B. 4bit-Modus, 5x7 Pixel, usw. 
ändern!

Außerdem werden bei der lcd_command und lcd_data die 2 Nibbel (erst 
oberes, dann unteres) beschrieben. Stimmt das in etwa so wie ichs 
programmiert habe?

Gruß Alex
von holger (Gast)


Lesenswert?

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.