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
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.