Hallo,

habe mehrere GLCD mit einem KS0713-Controler (Electronic Assembly EA W128-6x. Da Bascom den aber nicht von Hause aus unterstützt habe ich angefangen zu versuchen das Ding eben manuell anzusteuern.

Aber irgendwie komm ich nicht weit. Normalerweise müßte das Display mit dem Source etwas ausgeben, tut es aber nicht. Ich steh voll auf dem Schlauch, weiß jemand von euch was ich falsch mache?

Code:
$crystal = 16000000
$regfile = "m32def.dat"


Const Lcd_on = &B10101111
Const Lcd_off = &B10101110
Const Lcd_refvoltmode = &B10000001
Const Lcd_start = &B01000000
Const Lcd_page = &B10110000
Const Lcd_coll = &B00000000
Const Lcd_colh = &B00010000
Const Lcd_adc_sel = &B10100000
Const Lcd_reverse = &B10100110
Const Lcd_entire = &B10100100
Const Lcd_bias = &B10100010
Const Lcd_modify_rd = &B11100000
Const Lcd_modify_rst = &B11101110
Const Lcd_reset = &B11100010
Const Lcd_shl_sel = &B11000000
Const Lcd_pwr_ctrl = &B00101000
Const Lcd_regu_regist = &B00100000
Const Lcd_statind_mode = &B10101100


Config Portb = Output
Config Portc = Output

Cs1 Alias Portb.0
Cs2 Alias Portb.1
Res Alias Portb.2
Rs Alias Portb.3
Rw Alias Portb.4
E Alias Portb.5


Reset Cs1
Set Cs2

Dim Temp As Byte

Declare Sub Lcd_init()
Declare Sub Lcd_cmd(byval Cmd As Byte)
Declare Sub Lcd_data(byval _data As Byte)

Call Lcd_init

Dim I As Byte



Ende:

Print "ok"
Input I
Call Lcd_data(i)
Goto Ende




Sub Lcd_cmd(byval Cmd As Byte)
  Set Rw
      Portb.6 = Cmd.0
      Portb.7 = Cmd.1
      Portc.1 = Cmd.2
      Portc.2 = Cmd.3
      Portc.3 = Cmd.4
      Portc.4 = Cmd.5
      Portc.5 = Cmd.6
      Portc.6 = Cmd.7
   Set E
   Reset Rs
   Reset Rw
   Waitms 10
   Set Rw
   Set Rs
   Reset E
   Waitms 10
End Sub



Sub Lcd_data(byval _data As Byte)
   Set Rw
      Portb.6 = _data.0
      Portb.7 = _data.1
      Portc.1 = _data.2
      Portc.2 = _data.3
      Portc.3 = _data.4
      Portc.4 = _data.5
      Portc.5 = _data.6
      Portc.6 = _data.7
   Set E
   Set Rs
   Reset Rw
   Waitms 10
   Set Rw
   Set Rs
   Reset E
   Waitms 10
End Sub



Sub Lcd_init()
   Reset Res
   Waitms 10
   Set Res
   Waitms 10
      Call Lcd_cmd(50)
      Call Lcd_cmd(lcd_start)
      Call Lcd_cmd(lcd_on)
      Call Lcd_cmd(lcd_entire)
      Call Lcd_cmd(lcd_shl_sel)
      Temp = Lcd_adc_sel + 1
      Call Lcd_cmd(temp)
      Call Lcd_cmd(lcd_refvoltmode)
      Call Lcd_cmd(40)                                      'Contrast?
      Temp = Lcd_bias + 1
      Call Lcd_cmd(temp)
      Temp = Lcd_pwr_ctrl + &B00000111
      Call Lcd_cmd(temp)
      Temp = Lcd_regu_regist + &B00000110
      Call Lcd_cmd(temp)
End Sub
Leider habe ich im Netz nichts gefunden, was mir helfen könnte und aus dem Datenblatt werd ich einfach nicht schlau.