Hallo, Rolf
mal ne kleine Anregung:
Die Routine LCDsetup produziert folgenden Code:
SYSTEM.LCDSETUP:
CLI
IN _ACCA, 032h
ANDI _ACCA, 080h
OUT 032h, _ACCA
IN _ACCA, 031h
ORI _ACCA, 07Fh
OUT 031h, _ACCA
LDI _ACCA, 03h ****
OUT 032h, _ACCA ****
LDI _ACCB, 16
CLR _ACCA
....
kannst du vielleicht die beiden markierten Zeilen
LDI _ACCA, 03h
OUT 032h, _ACCA
durch ein "ungenutzte-Bit-neutrales"
IN _ACCA, 032h
ANDI _ACCA, 083h
ORI _ACCA, 03h
OUT 032h, _ACCA
ersetzen, wenn der 2te LCD-E nicht benötigt wird?
Begründung:
Wenn man mit $noinitlcd die automatische einmalige LCD-Initialisierung abschaltet und das LCD von Zeit zu Zeit neu initialisiert, wird dabei der Portpin für das 2te LCD hart auf 0 gesetzt.
Wenn man den Pin für was andres genommen hat, dann gibt das evtl. Probleme .... Seiteneffekte halt.
ansonsten ist alles schön mit Lesen, ANDen, ORen, Schreiben gemacht, nur an dieser Stelle geht es "hart" zu.
Vielleicht läßt sich das bei nem Update einbasteln??
mal ne kleine Anregung:
Die Routine LCDsetup produziert folgenden Code:
SYSTEM.LCDSETUP:
CLI
IN _ACCA, 032h
ANDI _ACCA, 080h
OUT 032h, _ACCA
IN _ACCA, 031h
ORI _ACCA, 07Fh
OUT 031h, _ACCA
LDI _ACCA, 03h ****
OUT 032h, _ACCA ****
LDI _ACCB, 16
CLR _ACCA
....
kannst du vielleicht die beiden markierten Zeilen
LDI _ACCA, 03h
OUT 032h, _ACCA
durch ein "ungenutzte-Bit-neutrales"
IN _ACCA, 032h
ANDI _ACCA, 083h
ORI _ACCA, 03h
OUT 032h, _ACCA
ersetzen, wenn der 2te LCD-E nicht benötigt wird?
Begründung:
Wenn man mit $noinitlcd die automatische einmalige LCD-Initialisierung abschaltet und das LCD von Zeit zu Zeit neu initialisiert, wird dabei der Portpin für das 2te LCD hart auf 0 gesetzt.
Wenn man den Pin für was andres genommen hat, dann gibt das evtl. Probleme .... Seiteneffekte halt.
ansonsten ist alles schön mit Lesen, ANDen, ORen, Schreiben gemacht, nur an dieser Stelle geht es "hart" zu.
Vielleicht läßt sich das bei nem Update einbasteln??