LCD DIP204 Problem

Gast #90413
Hallo,

wir verwenden das LCD Modul EA DIP204-4 (Kontroller KS0073) von
Electronic Assembly mit 4 zeilen und 20 Zeichen pro Zeile und einen
ATMega128.

Folgender Code ist dazu wichtig:


...



// Port für das LCD festlegen
#asm
   .equ __lcd_port=0x15
#endasm

// Includes
#include <lcd.h>
#include <delay.h>

// LCD modul initialisieren mit 20 Zeichen pro Zeile
lcd_init(20);

// Text auf LCD ausgeben
unsigned char counter = 0;

// 80 mal ein a auf das LCD einfügen
for(counter = 0; counter < 80) {
     lcd_putsf("a"); // gib a aus auf LCD
     delay_ms(300); // warte
}


...


Eigentlich sollte das Display laut Hersteller (und man kann die Stellen
auch zählen) 20 Zeichen pro Zeile enthalten und 4 Zeilen hoch sein ->
also 80 Zeichen fassen können. Das obere Programm-Snippet füllt nach
und nach das Display mit 'a', DOCH ab Stelle 13 in Zeile 1 schreibt
das LCD das 'a' auf einmal in Zeile 1 UND in Zeile 2 weiter!!! Ab da
gibt es dann ein wildes Durcheinander! Was ist da falsch? Kennt jemand
zufällig dieses Problem? Muss man vor dem 1. Schreiben auf das LCD noch
etwas anderes inizialisieren am LCD? Nromalerweise sollte es genügen,
"lcd_init(20);" aufzurufen...

Ich bin für jede Hilfe dankbar, denn es handelt sich hierbei um eine
Studienarbeit...

Gruß.
Gast
Hi,

das Problem liegt darin das das IC (Ks0073) nicht 100% kompatibel zum
HD44780 ist.

In der Codesammlung findest du fertige Routinen von mir zur Ansteuerung
des Display's per SPI.

Ansonsten muesstest du mal in der Headerdatei bei dir nach den
Zeilenadressen suchen und diese richtig abaendern.


Mfg

Dirk
Gast
Vielen Dank erstmal für Eure schnelle Antworten! Ich werde das mrogen
gleich mal in Angriff nehmen und dann wieder berichten.

Gruß
Gast
@DIRK:

Ich habe mir deine "lcd_spi2.zip" runtergeladen. Jetzt habe ich
folgendes Problem: Woher bekomme ich die "avr/io.h"? ich habe nur die
"stdio.h". Mit der funktioniert es nicht.
Wäre super wenn du mir helfen könntest!

Gruß
Gast
Ich benutze den CodeVisionAVR. Wäre es sinnvoll die io.h und io.c(?) vom
WIN AVR zu importieren? Würde das überhaupt funktionieren? Oder kannst
du mir einen anderen Weg empfehlen?

Danke
Gast
Hi,


das kann ich dir leider nicht beantworten.... da ich noch C Anfaenger
bin und dieses mein erstes C Projekt war. Ansonsten den Code von mir
anschaun und auf CodeVision portieren oder wie gesagt in deiner
Headerdatei die Zeilenadressen suchen und abaendern.

Mfg

Dirk

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 22 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.