Zur Übersicht - INFO - Neueste 50 Beiträge - Neuer Beitrag - Suchen - FAQ - Zum CC1-Forum - Zum CC-Pro-Forum

Re: LCD am Max7311 Kategorie: Sonstige Hardware (von André H. - 13.03.2004 12:31)
Als Antwort auf LCD am Max7311 von Herb - 12.03.2004 10:50
Ich nutze:
C-Control II Unit, C164CI-ControllerBoard, CC2-Application-Board, CC2-StarterBoard, CC2-ReglerBoard, OSOPT_V2, OSOPT V3.0
Hallo Heiko,

> hat jemand schon ein StandardLCD an einem MAX7311 anstelle des PCF betrieben?
> Ich würde gern neben dem LCD noch zusätzliche Tasten abfragen können (ähnlich, wie bei
> Andre's I2C Terminal). Der Max7311 bietet halt die Möglichkeit neben den 16 Ports mehr
> Bausteine an einem Bus zu betreiben (wichtig für Heizungs Einzelraumsteuerung, ohne Expander).

Es macht nicht viel Sinn einen MAX7311 für die LCD-Ansteuerung zu benutzen.
Es müssten dann ein vielfaches an Daten über den Bus übertragen werden, was
die Ausgabe entsprechend langsamer macht.
Als kleines Bsp.:
Ein String mit 5 Zeichen benötigt bei einem LCD am PCF8574 mit pcflcd.c2
21Byte an Daten am Bus.

Mit einem MAX7311 im 4-Bit Mode am MAX7311 wären das schon
60 Byte am Bus.
Würde man das Display am MAX7311 im 8Bit-Mode betreiben (10 bzw. 11 Ports),
so würde sich das Datenvolumen auf 35Byte reduzieren.
Das wäre immernoch fast doppelt so viel, wie bei einem LCD am PCF8574.

Darum habe ich auch noch nicht daran gedacht, ein LCD an einem anderem
Portexpander, als dem PCF8574 anzuschlieÃ?en.

> Andre,
> an welchen Stellen des Moduls PCFLCD mü�ten �nderungen vorgenommen werden?

Von Ã?nderungen kann man hier nicht sprechen.
Es müsste ein komplett neues Modul geschrieben werden, da die Ansteuerung komplett
unterschiedlich ist.

Beim PCF8574 muÃ? man den Baustein nur am Anfang des LCD-Zugriffs einmal
Adressieren. Danach werden die Daten als "Datenstrom" gesendet.
Darum ist auch das Ausgeben von Strings beim PCFLCD am schnellsten.
Beim MAX7311 mu� man hier den Baustein für jedes Byte/Integer neu Adressieren.
D.h. bei einem LCD im 8Bit Mode 4mal Adressieren pro Zeichen/Kommando.
Adressieren heiÃ?t beim MAX7311 jedoch 1xBus-Adresse + 1xRegisteradresse.
Dazu kommt noch das Datenbyte. Macht also 4x3=12Byte pro Zeichen/Kommando.

Selbst wenn Zeichenweise geschrieben werde würde, wären es beim PCF8574 5Byte.
Also immernoch weniger als die Hälfte an Daten, als mit dem MAX7311.

Wenn Du also wirklich einen MAX7311 für eine LCD ansteuerung benutzen willst,
solltest Du dieses wenigstens im 8Bit-Mode betreiben.
Der Ablauf wäre dann folgender (pro Zeichen/Kommando):
- MAX7311 adressieren
- Register für Port A setzen
- Datenbyte senden
- Konfigurationsbyte senden (hier nur 2 oder 3 Bit für RS, En(,R/W), mit En high)
- I2C-Stop
- MAX7311 adressieren
- Register für Port B setzen
- Konfigurationsbyte senden (hier nur 2 oder 3 Bit für RS, En(,R/W), mit En low)
- I2C-Stop

Also Vorlage kannst Du hier aber lcdext.c2 (Version vor 2.2)
und srlcd.c2 benutzen.
Diese Module haben mit dieser Art der Ansteurerung mehr gemeinsam.
(srlcd.c2 wg. 8Bit-Mode)

Die restlichen 6 bzw. 5 Ports des MAX7311 kannst Du dann frei verwenden.
Wenn Du sie nur als Eingänge benutzt, mu�t Du beim ansteuern des LCDs
nichts weiter beachten.

MfG André H.



Antworten bitte nur ins Forum!
Fragen per EMail auf Forum-Postings werden nicht beantwortet!

Das macht meine Heizung gerade


    Antwort schreiben


Antworten:

Re: LCD am Max7311 (von Heiko - 14.03.2004 8:55)
    Re: LCD am Max7311 (von André H. - 15.03.2004 23:23)