Der Basic Tiger und ein KS 0073 controller

Gast #51861
Hallo.

Ich habe ein Problem mit einem KS0073 Displaycontroller.
Ich habe mir mit dem Basic Tiger ein kleines Terminal
gebaut und auch ein Display mit eingebaut.

Das Problem:

Immer, wenn ich mit dem Tiger eine zeilenfüllende
Ausgabe mache, wird die zwar angezeigt,
aber die letzten 3-5 Zeichen in der nächsten Zeile
nochmals angezeigt. Diverse Hotlines
(darunter auch die von Wilke) behaupten, das
liege an der Initialisierung.

An was liegt das und wie kann man es beheben?
Ich bin erst 14 und mir geht langsam die Geduld aus.

Danke schon mal im Voraus,

Tobi
Gast
Hallo Tobi,

habe auch ein LCD mit KS0073 und kenne diesen Fehler. Die Ursache
ist tatsächlich die Initialisierungssequenz, die du an den
Controller sendest. Je nach LCD-Typ, 2x16 bzw.2x20 Zeichen oder
4x20 Zeichen mußt du andere Kommandos benutzen und ganz wichtig die
Wartezeiten einhalten. Das Abfragen des Buzy-Flags funktioniert nämlich
erst, wenn das LCD initialisiert ist.
Schau am besten mal im Datenblatt nach. Das findest du bei
'www.lcd-module.de'.

Hier der Kernabschnitt meiner LCD-Initialisierung in C:

//-------------------------------------------------------------------
// Initialize Display at Startup
//-------------------------------------------------------------------
void DSP_Init(void)
{
   // All port bits as output
   DDR(LCD_DATA_PORT) = 0xFF;
   // Wait 25ms or more after power-on
   Wait_us(25000);
   // Set 4-Bit I/O Mode and Extented Function Set
   LCD_Write(CMD_FUNCTION_SET | FS_SET_EXT_FCT, 0);
   Wait_us(43);
   // Set 4 Lines Mode
   LCD_Write(CMD_DISPLAY_CONTROL | DCE_4LINEMODE, 0);
   Wait_us(43);
   // Clear Extented Function Set
   LCD_Write(CMD_FUNCTION_SET | FS_CLR_EXT_FCT, 0);
   Wait_us(43);
   // Set Display ON and Cursor ON and Blink ON
   LCD_Write(CMD_DISPLAY_CONTROL | DC_DISPLAY_ON /*| DC_CURSOR_ON
             | DC_BLINK_ON*/, 0);
}
Gast
Hallo.

Danke für das Posting.
Im allgemeinen verstehe ich das C Programm schon.
Ich verstehe nur die hexadezimalen Portausgaben nicht.
Frage: mit einem 4x20 Zeilen Display, wie müssen da
die Initialisierungen aussehen? (muss es in Tiger-Basic umsetzen...)
Habe im Sheet nachgeschaut,
da bringen die aber nichts über Initialisierungen.
Ich bin totaler Display noob... .
Der Device Treiber vom Tiger ist irgendwie [(...zu blöd für den
KS0073...)] nur auf den HD447800 aus, funktioniert auch mit keinem
anderen. Deshalb dachte ich mir ich könnte die Displaysteuerung
einfach selber schreiben.

Vielen Dank schon mal,

Tobi

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 23 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.