hier mein code für 20*4 EADIP204 mit KS0073
wo du oben einfach die pins änderst
schaus dir an ist total simpel
einfach compilen und ab in den chip

gruß daniel


Code:
Dim Zeichen As Byte
Declare Sub Zumdisplay(byval Zeichen As Byte)               'funktion zum senden an das display

Db4dis Alias Portc.5                                        'hier einfach die belegung einstellen das wars
Db5dis Alias Portc.4
Db6dis Alias Portc.3
Db7dis Alias Portc.2
Rsdis Alias Portc.1
Enabledis Alias Portc.0

Config Lcdpin = Pin , Db4 = Db4dis , Db5 = Db5dis , Db6 = Db6dis , Db7 = Db7dis , E = Enabledis , Rs = Rsdis

Initlcd
   Call Zumdisplay(&B00101100)                              'aufruf zum initialisieren
   Waitms 5                                                 'des display controllers
   Call Zumdisplay(&B00001001)
   Waitms 5
   Call Zumdisplay(&B00101000)
   Waitms 5
   Call Zumdisplay(&B00000110)
   Waitms 5
   Call Zumdisplay(&B00001100)
   Waitms 5
Config Lcd = 20 * 4a                                        'display als 20 zeichen mal 4 zeilen


Cls

Locate 1 , 1
Lcd "Hello"
Locate 2 , 1
Lcd "world"

End


Sub Zumdisplay(byval Zeichen As Byte)

     ' Höherwertiges Nibble setzen
     If Zeichen.4 = 1 Then Set Db4dis Else Reset Db4dis
     If Zeichen.5 = 1 Then Set Db5dis Else Reset Db5dis
     If Zeichen.6 = 1 Then Set Db6dis Else Reset Db6dis
     If Zeichen.7 = 1 Then Set Db7dis Else Reset Db7dis

     ' höherwertiges nibble übertragen
     Set Enabledis
     Waitms 5
     Reset Enabledis
     Waitms 5

     ' Niederwertiges Nibble setzen
     If Zeichen.0 = 1 Then Set Db4dis Else Reset Db4dis
     If Zeichen.1 = 1 Then Set Db5dis Else Reset Db5dis
     If Zeichen.2 = 1 Then Set Db6dis Else Reset Db6dis
     If Zeichen.3 = 1 Then Set Db7dis Else Reset Db7dis

     ' Niederwertiges Nibble übertragen
     Set Enabledis
     Waitms 5
     Reset Enabledis
     Waitms 5

End Sub