Hi,

ja sicher, hier is mein code:

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

$hwstack = 100                                             
$swstack = 100                                           
$framesize = 200 

' LCD
Config Lcdpin = Pin , Db4 = Portc.3 , Db5 = Portc.2 , Db6 = Portc.1 , Db7 = Portc.0 , E = Portc.4 , Rs = Portc.6 , Wr = Portc.5
'Config Lcdbus = 4
Config Lcd = 20 * 4a                                     

' #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 = 1                                               ' Reset ausschalten

Declare Sub Lcd_befehl(byval Befehl As Byte)              
                                          ' Befehl Bitmaske: 7=0 , 6=0 , 5=Rs , 4=R/W , 3=Db7, 2=Db6 , 1=Db5 , 0=Db4
Declare Sub Lcd_enable


do

' LCD INITIALISIEREN
if init = 0 then
init = 1

         ' Synchronize1:
         Call Lcd_befehl(&B00000011)
         Call Lcd_enable
         Call Lcd_befehl(&B00000011)
         Call Lcd_enable
         ' Synchronize2: Switcht to 4 bit data length
         Call Lcd_befehl(&B00000011)
         Call Lcd_enable
         Call Lcd_befehl(&B00000010)
         Call Lcd_enable
         ' Function Set: 4 bit data length extension
         Call Lcd_befehl(&B00000010)
         Call Lcd_enable
         Call Lcd_befehl(&B00001010)
         Call Lcd_enable
         ' Extended function: 4 line display
         Call Lcd_befehl(&B00000000)
         Call Lcd_enable
         Call Lcd_befehl(&B00001001)
         Call Lcd_enable
         ' Entire mode set:
         Call Lcd_befehl(&B00000000)
         Call Lcd_enable
         Call Lcd_befehl(&B00000110)
         Call Lcd_enable
         ' Bias setting:
         Call Lcd_befehl(&B00000001)
         Call Lcd_enable
         Call Lcd_befehl(&B00001110)
         Call Lcd_enable
         ' Function Set:
         Call Lcd_befehl(&B00000010)
         Call Lcd_enable
         Call Lcd_befehl(&B00001001)
         Call Lcd_enable
         ' Internal OSC:
         Call Lcd_befehl(&B00000011)
         Call Lcd_enable
         Call Lcd_befehl(&B00001011)
         Call Lcd_enable
         ' Follower control:
         Call Lcd_befehl(&B00000110)
         Call Lcd_enable
         Call Lcd_befehl(&B00001110)
         Call Lcd_enable
         ' Power control
         Call Lcd_befehl(&B00000101)
         Call Lcd_enable
         Call Lcd_befehl(&B00000111)
         Call Lcd_enable
         ' Contrast set:
         Call Lcd_befehl(&B00000111)
         Call Lcd_enable
         Call Lcd_befehl(&B00000100)
         Call Lcd_enable
         ' Function set:
         Call Lcd_befehl(&B00000010)
         Call Lcd_enable
         Call Lcd_befehl(&B00001001)
         Call Lcd_enable
         ' Display on, cursor on, blink on
         Call Lcd_befehl(&B00000000)
         Call Lcd_enable
         Call Lcd_befehl(&B00001111)
         Call Lcd_enable

end if

Loop


' LCD BEFEHL

Sub Lcd_befehl(byval Befehl As Byte)

   ' Befehl Bitmaske: 7=0 , 6=0 , 5=Rs , 4=R/W , 3=Db7, 2=Db6 , 1=Db5 , 0=Db4

   ' Db4
   Lcd_db4 = Befehl.0
   ' Db5
   Lcd_db5 = Befehl.1
   ' Db6
   Lcd_db6 = Befehl.2
   ' Db7
   Lcd_db7 = Befehl.3
   ' R/W
   Lcd_rw = Befehl.4
   ' Rs
   Lcd_rs = Befehl.5

End Sub

Sub Lcd_enable

   Lcd_e = 1
   Waitus 400
   Lcd_e = 0
   Waitms 2

End Sub
Ich hoffe du kannst da was rauslesen?

Viele Grüße