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

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