Hi, also es funktioniert leider immer noch nicht.
Ich habe jetzt nochmal mein Programm überarbeitet. Das sieht nun so Aus:

Code:
$regfile = "M1284pdef.dat"
$crystal = 14745600

' #PortC

' PINC.0 = LCD / DB7
Lcd_db7 Alias Portc.0
Config Lcd_db7 = Output
Lcd_db7 = 0

' PINC.1 = LCD / DB6
Lcd_db6 Alias Portc.1
Config Lcd_db6 = Output
Lcd_db6 = 0

' PINC.2 = LCD / DB5
Lcd_db5 Alias Portc.2
Config Lcd_db5 = Output
Lcd_db5 = 0

' PINC.3 = LCD / DB4
Lcd_db4 Alias Portc.3
Config Lcd_db4 = Output
Lcd_db4 = 0

' PINC.4 = LCD / E
Lcd_e Alias Portc.4
Config Lcd_e = Output
Lcd_e = 0

' PINC.5 = LCD / R/W
Lcd_rw Alias Portc.5
Config Lcd_rw = Output
Lcd_rw = 0

' PINC.6 = LCD / RS
Lcd_rs Alias Portc.6
Config Lcd_rs = Output
Lcd_rs = 0

' PINC.7 = LCD / Reset
Lcd_reset Alias Portc.7
Config Lcd_reset = Output
Lcd_reset = 0                                               ' Reset ausschalten

dim init as bit

do 

if init = 0 then
init = 1

call lcd_initialisieren

end if
Loop

Sub Lcd_initialisieren

         ' Reset:
         Lcd_reset = 1
         Waitms 200
         Lcd_reset = 0
         Waitms 200
         Lcd_reset = 1
         Waitms 200

         ' Synchronize1:
         Call Lcd_befehl(&H30)
         Waitus 1
         ' Synchronize1:
         Call Lcd_befehl(&H30)
         Waitus 1
         ' Synchronize1:
         Call Lcd_befehl(&H30)
         Waitus 1
         ' Synchronize2:
         Call Lcd_befehl(&H20)
         Wait 1
         ' Function Set: 4 bit data length extension
         Call Lcd_befehl(&H2a)

         ' Extended function: 4 line display
         Call Lcd_befehl(&H09)

         ' Entire mode set: Bottom View
         Call Lcd_befehl(&H06)

         ' Bias setting: BS1=1
         Call Lcd_befehl(&H1e)

         ' Function Set: 4-Bit data length extension Bit RE=0; IS=1
         Call Lcd_befehl(&H29)

         ' Internal OSC: BS0=1 -> Bias=1/6
         Call Lcd_befehl(&H1b)

         ' Follower control: Devider on and set value
         Call Lcd_befehl(&H6e)

         ' Power control: Booster on and set contrast (BB1=C5, DB0=C4)
         Call Lcd_befehl(&H57)

         ' Contrast set: (DB3-DB0=C3-C0)
         Call Lcd_befehl(&H72)

         ' Function set: 4-Bit data length extension Bit RE=0; IS=0
         Call Lcd_befehl(&H28)

         ' Clear display:
         Call Lcd_befehl(&H01)

         ' Set Cursor Position:
         Call Lcd_befehl(&H80)

         ' Display on, cursor on, blink on:
         Call Lcd_befehl(&H0f)

End Sub

Sub Lcd_bits_setzen(byval Datenbyte As Byte)

   ' Datenbyte Bitmaske: 7=0 , 6=0 , 5=0 , 4=0 , 3=DB7, 2=DB6 , 1=DB5 , 0=DB4

   ' Db4
   Lcd_db4 = Datenbyte.0
   ' Db5
   Lcd_db5 = Datenbyte.1
   ' Db6
   Lcd_db6 = Datenbyte.2
   ' Db7
   Lcd_db7 = Datenbyte.3

   Call Lcd_enable

End Sub

Sub Lcd_befehl(byval Datenbyte As Byte)

   Dim Highnibble As Byte
   Dim Lownibble As Byte

   Lownibble = Datenbyte And &B00001111                     ' mask out upper nibble
   Highnibble = Datenbyte                                   ' 1. copy original Value to Highnibble
   Shift Highnibble , Right , 4                             ' 2. Shift upper 4 bits to lower 4 bits

   ' R/W
   Lcd_rw = 0
   ' Rs
   Lcd_rs = 0

   Call Lcd_bits_setzen(highnibble )
   Call Lcd_bits_setzen(lownibble )

End Sub

Sub Lcd_text(byval Datenbyte As Byte)

   Dim Highnibble2 As Byte
   Dim Lownibble2 As Byte

   Lownibble2 = Datenbyte And &B00001111                    ' mask out upper nibble
   Highnibble2 = Datenbyte                                  ' 1. copy original Value to Highnibble
   Shift Highnibble2 , Right , 4                            ' 2. Shift upper 4 bits to lower 4 bits

   ' R/W
   Lcd_rw = 0
   ' Rs
   Lcd_rs = 1

   Call Lcd_bits_setzen(highnibble2 )
   Call Lcd_bits_setzen(lownibble2 )

End Sub

Sub Lcd_enable

   Lcd_e = 1
   Waitms 2
   Lcd_e = 0
   Waitms 2

End Sub
Ich glaube aber inzwischen das ich ein Hardwareproblem habe. Wenn ich an Pin23 des Displays messe, dann messe ich lediglich 2,7V.
Laut Datenblatt des Display Controllers müssten da aber zwischen 8V und 10V anliegen.
Irgendwie wird wohl der Displaybooster nicht richtig gestartet. Warscheinlich wird deshalb das Display nicht richtig initialisiert.

Hat das schon mal jemand gehabt das Problem, oder kann mir da weiterhelfen?

Hier ist noch der Schaltplan der Displayplatine:

Klicke auf die Grafik für eine größere Ansicht

Name:	dp.jpg
Hits:	39
Größe:	39,7 KB
ID:	29553