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?![]()
Leider habe ich im Netz nichts gefunden, was mir helfen könnte und aus dem Datenblatt werd ich einfach nicht schlau.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
Lesezeichen