LCD Problem am Atmega16

Gast #982887
Lesenswert?

Hallo,

ich weiß nicht mehr weiter. Ich versuche jetzt schon seit mehreren Tagen 
ein LC-Display an einem Atmega16 zu betrieben, aber ich schaffe es nicht 
das Display zu initialisieren. Der Grund, warum ich nicht mehr weiter 
weiß ist der, das dass Display an einem Atmega8 einwandfrei 
funktioniert. Auch in der Simulations-Software „Proteus 7“ Funktioniert 
das Display, egal ob Atmega8 oder 16. Um das Display anzusteuern, 
verwende ich die lcd-rutines aus dem AVR-GCC-Tutorial.
Das Display ist das LCD162 von Reichelt im dem Controller KS0070B.

Gruß Daniel
Gast #983101
Lesenswert?

Habe jetzt noch mal die Schaltung aus dem Tutorial aufgebaut. Selbe 
Pin-Belegung, selber Quelltext und mit der internen Frequenz des 
Atmega16 von 1MHz. Die Frequenz in der Header-Datei habe ich auf 1Mhz 
angepasst. Das LCD ist jetzt auch wieder an "Port D" angeschlossen, wie 
im Tutorial.
Pin-Belegung und Programm sind mit dem vom Atmega8 identisch.
Bisher tut sich immernoch nichts.
Gast #983565
Lesenswert?

Danke das du dir den Quelltext mal ansehen möchtest. Hier ist er. Nur 
noch mal zur Verständmisfrage. Wie sollten denn die Fuse-Bits bei 
PonyProg aussehen? Habe bei...

JTAGEN; BOOTSZ1; BOOTSZ0; SUT0; CKSEL0

einen Häkchen, alle anderen sind frei
Angehängte Dateien:
#983586
Lesenswert?

Daniel wrote:
> Danke das du dir den Quelltext mal ansehen möchtest. Hier ist er.
1
#define LCD_PORT      PORTD
2
#define LCD_DDR       DDRD
3
#define LCD_RS        PD4
4
#define LCD_EN        PD5
5
// DB4 bis DB7 des LCD sind mit PC0 bis PC3 des AVR verbunden

Sehe ich das richtig? Die Daten-Pins 4 bis 7 des LCD sind an PC0 bis 
PC3, RS und EN sind aber an Port D? Dann musst du noch ein bischen was 
anpassen.

Lösung siehe z.B. hier:

Beitrag "Re: LCD nicht nur für einen Port in C"

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren