Forum: Mikrocontroller und Digitale Elektronik LCD tc1604a mit ATMEGA16


von Phil (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

ich nutze einen ATMEGA16PU und ein TC1604A LCD. Dieses habe ich 
folgendermaßen angeschlossen.

LCD
1   Vss (GND)
2   Vcc (5V)
3   V0 (Widerstand 10k)
4   RS (ATMEGA PB4)
5   R/W (GND)
6   E (ATMEGA PB5)
7   DB0
8   DB1
9   DB2
10  DB3
11  DB4 (ATMEGA PB0)
12  DB5 (ATMEGA PB1)
13  DB6 (ATMEGA PB2)
14  DB7 (ATMEGA PB3)

Als Code hab ich mich entsprechend den nachstehenden Link bedient.
Erweiterte LCD-Ansteuerung

Den von mir verwendeten Quellcode hänge ich hier an.

Zu meinen Problem: Das Display behält in der 1. und 3. Zeile einen 
schwarzen Balken. Schaut für mich jetzt so aus, als wenn sich das LCD 
nicht initialisiert.

Hat jemand noch Idee und kann mir auf die Sprünge helfen?

von Hubert G. (hubertg)


Lesenswert?

Bist du sicher das der Kontroller mit 1MHz läuft und nicht mit 4 oder 
8MHz.

von Phil (Gast)


Angehängte Dateien:

Lesenswert?

Also ich hab mir gerade nochmal die Fuses angeschaut. Ich kenn mich da 
nicht wirklich gut aus, aber laut Datenblatt Seite 25 müsste CKSEL bei 
0001 eine Taktfrequenz von 1 MHZ haben.

Die Fuses sollten dann doch richtig eingestellt sein oder nicht? Benutzt 
habe ich dafür Ponyprog2000.

von Phil (Gast)


Angehängte Dateien:

Lesenswert?

Hab nochmal nachgelesen im Datenblatt und die Fuse CKOPT muss in dem 
Modus definitiv unprogrammiert bleiben. Daher hab ich die Fuses nochmal 
angepasst.

Läuft aber trotzdem noch nicht.

von Hubert G. (hubertg)


Lesenswert?

Die Fuses sollten richtig sein.
Hast du den Programmer abgesteckt, der liegt auch auf PortB.
Es könnte auch noch das Timing nicht ganz passen. Schreib mal in die 
main.h bei F_CPU 4000000 hinein.

von Phil (Gast)


Lesenswert?

auf 4MHz? Obwohl die Fuses vom µC auf 1 MHz stehen?

von Hubert G. (hubertg)


Lesenswert?

Damit verlängern sich die Wartezeiten im Programm.

von Phil (Gast)


Lesenswert?

Hallo hab ich versucht. Bringt keine Wirkung. Ich hab jetzt auch nochmal 
das ganze umgebaut auf einen ATMEGA88. Fuses sind auf 1 Mhz eingestellt.

Es läuft immer noch nicht. Die Portbelegung hab ich beim ATMEGA88 auf 
Port B so wie oben angegeben gelassen. 1 und 3 Zeile Balken. Ist das LCD 
vielleicht hin?

von Hubert G. (hubertg)


Lesenswert?

Ob das LCD defekt ist oder nicht ist schwer zu beurteilen. Die Dinger 
halten eigentlich sehr viel aus.
Du könntest aber einmal die Lib von Peter Fleury verwenden. Die 
funktioniert, zumindest bei mir, immer.
http://homepage.hispeed.ch/peterfleury/avr-software.html

von Dietrich L. (dietrichl)


Lesenswert?

Phil schrieb:
> 3   V0 (Widerstand 10k)

Pin 3 ist der Anschluss zur Kontrasteinstellung.
Wie ist der Widerstand angeschlossen? Das muss ein Poti sein zwischen 
GND und 5V, und der Schleifer geht an Pin 3.
Dann muss man den Kontrast daran einstellen, damit man was sieht.

Siehe http://www.oppod.com/upload/download/20111224014049_97106.pdf 
Seite 8 oben.

Gruß Dietrich

von Phil (Gast)


Angehängte Dateien:

Lesenswert?

Wenn ich mir die Lib lade und ich in der lcd.h die Änderungen für meinen 
Port anpasse wie oben beschrieben, dann sollte es doch laufen?

Leider immernoch Balken.

von Phil (Gast)


Lesenswert?

@ Dietrich

Genau. An Pin 3 vom Display hängt der Mittelabgriff von einen Drehpoti 
mit 10kOhm. Der obere Abgriff von Poti an 5V und der untere an GND. Wenn 
ich am Poti drehe kann ich auch den Kontrast einstellen. Entweder sieht 
man nix oder man sieht 1. und 3. Zeile einen  schwarzen Balken.

von Phil (Gast)


Lesenswert?

Es läuft! Musste nach dem Anschließen an Spannung einen Reset machen! 
Danke euch.

von Spess53 (Gast)


Lesenswert?

Hi

>Es läuft! Musste nach dem Anschließen an Spannung einen Reset machen!
>Danke euch.

Das deutet auf eine zu kurze Wartezeit vor der Initialisierung hin.

MfG Spess

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.