VFD auf 4 Bit-parallel-Mode stellen

Gast #7245918
Moin,

ich habe so ein Display. Die Jumper sind so gesetzt, dass 
M68-parallel-Mode verwendet wird. Im PDF unter 4-4-6 steht, dass man 
4-Bit oder 8-Bit einstellen kann.
Und unter 4-5 sind die Reset Conditions angegeben. Da steht 8 Bit. Aber 
wie bekomme ich den auf 4 Bit gestellt, wenn man eben nur vier 
Datenleitungen zur Verfügung hat?


Jefe
Angehängte Dateien:
Gast #7246006
Okay, probiere ich morgen aus. Aber wozu muss (kann) man dem Modul 
mitteilen, dass 4-Bit-Modus eingeschaltet werden soll, wenn das sowieso 
verstanden wird. Oder ist das nur bei diesem einen Befehl so?
Gast #7246025
Jefe schrieb:
> Aber wozu muss (kann) man dem Modul
> mitteilen, dass 4-Bit-Modus eingeschaltet werden soll, wenn das sowieso
> verstanden wird. Oder ist das nur bei diesem einen Befehl so?

Du kannst alles tun, wofür die oberen 4 Bits ausreichen. Dazu gehört 
praktischerweise auch das Umschalten in den 4-Bit-Modus, um mit dem 
Display etwas Sinnvolles anstellen zu können.
#7246209
Jefe schrieb:
> Aber wozu muss (kann) man dem Modul
> mitteilen, dass 4-Bit-Modus eingeschaltet werden soll

Weil es im 8Bit-Mode nicht auf das 2. Nibble wartet.

Die ganze Sache ist aber noch deutlich komplexer. Wenn z.B. kein 
sauberes Power-On Reset erfolgt oder die CPU durch eine andere Quelle 
resettet wird, weiß man nicht, in welchem Mode und welchem Nibble sich 
das VFD gerade befindet. Um sicher zu synchronisieren und in den 
4Bit-Mode zu schalten, muß man daher erst 3* in den 8Bit-Mode schalten. 
Die korrekte Sequenz findet man z.B. im HD44780 Datenblatt (mit einer 
kleinen Ungenauigkeit).
Gast #7246339
Moin, vielen Dank für die Infos. Auf dem VFD ist kein HD44780 verbaut. 
Die Init-Sequenz ist wie folgt:

0b00101011
0b00001100
0b00000110
0b00000001

Kein Cursor, kein Blinken, inkrement nach rechts, kein Displayshift, 
Helligkeit 25%.


Jefe
#7246365
Jefe schrieb:
> Auf dem VFD ist kein HD44780 verbaut.

Hat auch keiner behauptet. Nur daß die Umschaltung 4/8Bit kompatibel zum 
HD44780 ist.
Im Datenblatt steht allerdings folgendes:
"The module is reset automatically at power-up by internal R-C circuit."

D.h. die VCC muß längere Zeit aus gewesen sein und dann schnell und 
monoton ansteigen. Ansonsten ist der Zustand des Moduls unbestimmt.
Aber auch bei einem CPU-Reset außer Power-On ist der Zustand unbekannt.
Will man eine zuverlässige Initialisierung, muß man daher die Sequenz 
mit 3* 8Bit benutzen.
Gast #7246452
Peter D. schrieb:
> Aber auch bei einem CPU-Reset außer Power-On ist der Zustand unbekannt.

Soooo, habe die Sequenz eingebaut. Ohne diese Sequenz werden auf dem 
Display nach dem ISP-Programmiervorgang wilde Zeichen ausgegeben und die 
Initializierung und die Textausgabe funktionierte erst nach einem 
weiteren expliziten Reset des µC mittels Resettaster. Ab und zu hakte es 
dann noch.

Mit der Sequenz läuft das Display !!!immer!!! wie es soll.

@Peter D.: besten Dank!


Jefe

Antwort schreiben

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