PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Problem mit LCD03, mit eigene Zeichen erstellen ?



Enterprise
22.03.2009, 15:05
Hallo zusammen,

Nun habe ich wieder eine Frage zu diesem LCD03?

Ich möchte eigene Zeichen erstellen.

Habe zum Test den Vorschlag vom Datenblatt genutzt.

Es soll in der zweiten Spalte auf Position 3 angezeigt werden.

Aber es wird nichts angezeigt.

Habe schon verschieden Wege Probiert.

Komme gerade nicht weiter ?

Hier die Beschreibung aus dem Datenblatt.



Custom char generator
Custom characters can be generated by sending an 8 byte map. The first thing that must
be done is to send a command of 27 to indicate that you intend to make a custom char.
Next you have to specify the position in ram of one of the 8 available chars you intend to
build, the 8 chars are mapped at positions 128-135. Then the pattern should be sent as
below.
How to calculate an 8 byte character pattern:
Eight bytes are sent with the highest bit masked on, the next two bits are ignored (x) and the final 5 bits show the line pattern.

So to build the above arrow into location 128 you would send this sequence to the
command register:
• 27 (char generate command)
• 128 (location to be filled)
• 128 (byte 0)
• 132 (byte1)
• 142 (byte2)
• 149 (byte3)
• 132 (byte 4)
• 132 (byte 5)
• 132 (byte 6)
• 128 (byte 7)
Now the char is built into a memory location it can be called at any time as long as the
module remains powered by simply sending the address between 128 and 135.



Hier mein Code





.......
Dim Zeichen0 As Byte
Dim Zeichen1 As Byte
Dim Zeichen2 As Byte
Dim Zeichen3 As Byte
Dim Zeichen4 As Byte
Dim Zeichen5 As Byte
Dim Zeichen6 As Byte
Dim Zeichen7 As Byte
....

Waitms 500 'Wartezeit, weil das Display erst starten muß
Gosub I2c_init


'----- Erste Initialisierung des Displays -------

I2c_init:

D = 2 '2. Spalte
E = 2 '2. Zeile
Gosub Position 'Displayposition schreiben

Waitms 300 'Verschnaufpause


Zeichen0 = 128 ' Zeichen als Pfeil
Zeichen1 = 132
Zeichen2 = 142
Zeichen3 = 149
Zeichen4 = 132
Zeichen5 = 132
Zeichen6 = 132
Zeichen7 = 128
Gosub Pfeil_oben 'Text ans Display senden

Return 'Rücksprung

'------------------- Display Position festlegen ---------------
Position:
I2cstart

I2cwbyte Displ_w 'Display Schreib-Adresse
I2cwbyte 0 'Display Register Command
I2cwbyte 3 'Kommando Setze Cursor E,D
I2cwbyte E 'E Position übergeben
I2cwbyte D 'D Position übergeben

I2cstop

Return

'---------- Eigenes Zeichen ---------------------------------------

Pfeil_oben:
I2cstart

I2cwbyte Displ_w 'Display Schreib-Adresse
I2cwbyte 0 'Display Register Command
I2cwbyte 27 'Kommando Eigenes Zeichen
I2cwbyte Zeichen0
I2cwbyte Zeichen1
I2cwbyte Zeichen2
I2cwbyte Zeichen3
I2cwbyte Zeichen4
I2cwbyte Zeichen5
I2cwbyte Zeichen6
I2cwbyte Zeichen7

I2cstop

Return


'-------------------------------------------------------------------



Kann Mir jemand helfen ?


mfg
Enterprise