Der Nachfolger des WDR-Computerclub mit Wolfgang Back und Wolfgang Rudolph - ...und immer ein Bit übrigbehalten!


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Selbstdefinierte Zeichen auf dem I²C-LCD Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 27.09.2018 19:18)
Dietmar nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini M-Unit, Open-Mini Station
' ===========================================================================
' Selbstdefinierte Zeichen auf dem 4*20-I²C-LCD
' In OCBASIC 1.12a_e1 für Open-Maxi von Dietmar Harlos am 27. September 2018
' ===========================================================================

' Verwendet wird das 4-zeilige "LCD 204B LED" von Reichelt. Dort gibt es auch
' das Datenblatt DS_4X20.pdf zum LCD. Es können maximal 8 Zeichen selbst
' definiert werden.

' In der Bedienungsanleitung zur Open-Macro und Open-Maxi ist beschrieben,
' wie das LCD mittels Portexpander PCF8574 mit dem I²C-Bus der Open-Maxi
' zu verbinden ist:

' http://om.dharlos.de/doku_omax/index.html

' --- Definitionen für das System -------------------------------------------

INCLUDE "omax.def"  'Definitionen für die Open-Maxi

' --- Definitionen des Anwenders --------------------------------------------

DIM a,b,c BYTE      'einige Variablen
DIM w WORD          'eine 16-Bit-Wordvariable

' --- Hauptprogramm ---------------------------------------------------------

?"I2CLCD_DEF.BAS"

PrintSpc=ON         'SPACE vor einem dezimalen PRINT
End2Host=ON         'Nach Programmende in den Host-Modus

' I²C-Adresse vom PCF8574 und I²C-Bustakt setzen:

POKE i2clcdadr,&h40 'Das sind die Defaultwerte
POKE i2cdelay,20    '  nach Programmstart

' I²C-LCD ansprechen, initialisieren und Demotext ausgeben:

PAUSE 2             'Vorgeschriebene Verzögerung für das LCD
LcdLight=ON         'Die Hintergrundbeleuchtung könnte invertiert sein
LCDINIT             'Setzt LcdErr auf OFF bei ACK vom PCF8574,
IF LcdErr THEN      '  sonst auf ON
  PRINT "NoAck vom I2C-LCD"
  END
END IF
LCDCLS              'Löscht den Bildschirm
LCDCMD &b00001111   '"Display on", "Cursor on" & "Blinking on"
LCDLOCATE 0,0       'Position im 4*20-LCD
w=-32768
LCDPRINT "Variable:";w
LCDPUT ASC("!")

' Alle acht Zeichen definieren:

LCDCMD &b01000000   '"Set CG-RAM address"

LCDPUT &b00001110   '1. Selbstdefiniertes Zeichen
LCDPUT &b00011111
LCDPUT &b00010101   'nur die unteren 5 Bits definieren das Aussehen
LCDPUT &b00011111
LCDPUT &b00011111
LCDPUT &b00011111
LCDPUT &b00010101
LCDPUT &b00000000

LCDPUT &b00001110   '2. Selbstdefiniertes Zeichen
LCDPUT &b00011111
LCDPUT &b00010101
LCDPUT &b00011111
LCDPUT &b00010001
LCDPUT &b00011111
LCDPUT &b00010101
LCDPUT &b00000000

LCDPUT &b00000001   '3. Selbstdefiniertes Zeichen
LCDPUT &b00000010
LCDPUT &b00000100
LCDPUT &b00001111
LCDPUT &b00000010
LCDPUT &b00010100
LCDPUT &b00011000
LCDPUT &b00011100

LCDPUT &b00001110   '4. Selbstdefiniertes Zeichen
LCDPUT &b00011111
LCDPUT &b00011111
LCDPUT &b00001110
LCDPUT &b00000000
LCDPUT &b00000100
LCDPUT &b00001110
LCDPUT &b00000100

LCDPUT &b00000100   '5. Selbstdefiniertes Zeichen
LCDPUT &b00001110
LCDPUT &b00001110
LCDPUT &b00000100
LCDPUT &b00000000
LCDPUT &b00000100
LCDPUT &b00001110
LCDPUT &b00000100

LCDPUT &b00000100   '6. Selbstdefiniertes Zeichen
LCDPUT &b00001110
LCDPUT &b00001110
LCDPUT &b00001110
LCDPUT &b00000100
LCDPUT &b00000000
LCDPUT &b00000100
LCDPUT &b00000000

LCDPUT &b00001110   '7. Selbstdefiniertes Zeichen
LCDPUT &b00001110
LCDPUT &b00001110
LCDPUT &b00000100
LCDPUT &b00011111
LCDPUT &b00000100
LCDPUT &b00001010
LCDPUT &b00010001

LCDPUT &b00000100   '8. Selbstdefiniertes Zeichen
LCDPUT &b00001110
LCDPUT &b00010100
LCDPUT &b00001110
LCDPUT &b00000101
LCDPUT &b00000100
LCDPUT &b00001010
LCDPUT &b00010001

' Selbstdefinierte Zeichen ausgeben:

LCDLOCATE 1,0       'Position im 4*20-LCD

FOR a=0 TO 15       'Zeichen 0 bis 15 ausgeben
  LCDPUT a
NEXT a

?"Ausgaben müßten erscheinen."

END

' --- Ende des Programms ---------------------------------------------------


Passender Link: Bedienungsanleitung zur Open-Macro und Open-Maxi

Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten: