4-zeiliges Textdisplay ansteuern

OP #4044707
Lesenswert?

Hallo!

4-zeilige LCD-Textdisplays mit mehr als 20 Zeichen pro Zeile haben 2 
Displaycontroller mit separaten Enable-Eingängen aber gemeinsamen 
Eingängen für D0...7, R/S und R/W.
Die LCD-Routinen der Programmiersprachen unterstützen aber nur 1 
Controller.

Anstatt neue Ausgaberoutinen zu schreiben lässt sich mit nur 2 
Widerständen und einem zusätzlichen Controllerpin die 4-zeilige Ausgabe 
realisieren:

- der einzelne Enable- Ausgang am µC bleibt erhalten
- das Deaktivieren eines LCD-Controllers erfolgt,
  indem der ENx - Eingang auf 0 gezogen wird
- das Aktivieren erfolgt, indem der zugehörige µC-Controllerpin auf
  Input, also hochohmig geschaltet wird
- Beim Programmstart sind die betreffenden 2 Portpins auf Input gesetzt,
  dadurch genügt 1x Lcd_Init() um beide Controller zu initialisieren.
  Erst danach erfolgt die Auswahl von Controller1 oder 2

Im Anhang befinden sich das Prinzipschaltbild für den LCD- Anschluss an
einen Port (hier PORTB) eines µC und ein Testprogramm in MikroBasic Pro 
for PIC.

Mit diesen Prozeduren erfolgt die Umschaltung zwischen Controller 1 und 
2  (in MikroBasic for PIC V.6):

sub procedure Zeile1_2()          ' Schreiben auf Controller 1
  TRISB.0 = 1                     ' PORTB.0 hochohmig (Enable 1 aktiv)
  PORTB.1 = 0                     ' PORTB.1 (Enable 2) deaktivieren
  TRISB.1 = 0
end sub

sub procedure Zeile3_4()          ' Schreiben auf Controller 2
  TRISB.1 = 1                     ' PORTB.1 hochohmig (Enable 2 aktiv)
  PORTB.0 = 0                     ' PORTB.0 (Enable 1) deaktivieren,
  TRISB.0 = 0
end sub

Das Übertragen in andere Programmiersprachen und auf andere µC ist bei 
diesen Dreizeilern kein Problem, aber bitte beachten:
Diese Beispiele gelten für PICs,
also TRISx.x = 0 -> Output und TRISx.x = 1 -> Input.
Andere Hersteller haben u.U. gegensätzliche Definitionen.

Vielleicht konnte ich hiermit dem Einen oder Anderen weiterhelfen.

Johannes
Angehängte Dateien:

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