Forum: Mikrocontroller und Digitale Elektronik Anschluss eines LC Displays


von Matthias (Gast)


Lesenswert?

guten morgen
ich habe ein kleines problem ich habe eine Lc Display an eine 
mikrokontroller angeschlossen weil ich ein model einer Stadion anzeige 
bauen wollte.
Die belegung des LC Displays ist

1   GND
2   +5V
3   Kontrast
4   Register select
5   Read /  Write
6   Enable
7-14 Datenleitung
15  helligkeit
16  helligkeit


Das test programm lautet:


#include<avr/io.h>


  int main(void)

{

DDRA=0xff;
while(1)
{
PORTA=0xce;

  }

}


Ich habe es in Win AVR geschrieben.
Mein Problem ist nun das ich auf dem display nur die test balken!
freue mich über alle vorschläge

von Benedikt K. (benedikt)


Lesenswert?

Soll das ein Witz sein ?

von Matthias (Gast)


Lesenswert?

warum wenn ich fragen darf

von johnny.m (Gast)


Lesenswert?

Schau Dir das Datenblatt des Displays an! Da steht drin, wie es 
initialisiert werden muss. Einfach anschließen und läuft ist bei diesen 
Displays nicht!

von Frank (Gast)


Lesenswert?

Klasse Programm, dafür haste dir bestimmt nen Muskelkater im Gehirn 
eingefangen!!!

von volltroll.de (Gast)


Lesenswert?

Weil du anscheinend das DB nicht gelesen hast, und keine ahnung hast, 
was du machst.
Lies das DB vom LCD.

von volltroll.de (Gast)


Lesenswert?

Und nicht im pc-programmierung posten.
1. einmal reicht.
2. hier ist es richtig

von Matthias (Gast)


Lesenswert?

im datenblatt steht leider nicht über die initialisierung drin.
was ich dazu sagen sollte ist das ich mich erst seid montag mit diesem 
thema beschäftige. und keinerlei vorkendnisse besitze.

von johnny.m (Gast)


Lesenswert?

> im datenblatt steht leider nicht über die initialisierung drin.
Das ist aber ein komisches Datenblatt...

von Andi (Gast)


Lesenswert?

Wie wäre es mit Datenblatt vom LC Display zu lesen?
Wie zum Bsp. wird LCD initialisiert.
Dann kannst du mit fertigem Code für WinAVR ( HD44780U LCD library) zur 
Ansteuerung von LCD versuchen. Das sind LCD.H und LCD.C Dateien.

von Andi (Gast)


Lesenswert?

Musst du aber der code an deine I/Os anpassen. Der Code kann ja nicht 
ahnen wo du den Display angeschlossen hast. Zuerst aber den richtigen DB 
lesen und verstehen.

von Karl H. (kbuchegg)


Lesenswert?

Fang mal hier zu lesen an:
http://www.mikrocontroller.net/articles/AVR-Tutorial:_LCD

Auch wenn dieses Tutorial für Assembler ist, so zeigt es
dir doch wie ein LCD angesteuert wird.

Danach nimmst du dir das komplette Tutorial vor und
wechselst später zum C-Tutorial.

http://www.mikrocontroller.net/articles/AVR-Tutorial
http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial

Danach holst du dir von Peter Fleury die LCD-Library
http://homepage.hispeed.ch/peterfleury/avr-software.html

(Es gibt keinen Grund das Rad ein 2-tes mal zu erfinden)

von Joe (Gast)


Lesenswert?

Es nutzt nichts einfach einen neuen Thread aufzumachen:

Beitrag "hilfe"

Lernen ist angesagt ;-))

Also, im 8 BIT Modus schreibst du z.B.

1. warte 15 mSec. nach Power ON
2. 3x 0x38, Wartezeit zwischen den Befehlen 4,1 mSec.
3. function_set
4. clear_display
5. entrymode_1

Erst dann kannst du Zeichen auf dem Display ausgeben.

Deinem ersten Versuch entnehme ich das du die Bedeutung der Anschlüsse 
RW, EN, RS noch nicht verstanden hast.

Bei der initialisierung sowie bei Steuerzeichen ist RS = 0, bei Daten RS 
= 1

ENABLE ist das Signal welches zur Datenübernahme des Display Datenbus 
verwendet wird. Beispiel:
ENABLE = 0
Daten Anlegen
ENABLE = 1, ENABLE = 0
bei der fallenden Flanke übernimmt das Display die Daten.

RW, hiermit entscheidest du ob vom Display gelesen wird oder ob du Daten 
an das Display sendest.

So, mach nen Ablaufplan und laß das Ergebnis sehen, dann gehts weiter.

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.