Hi! I am struggling with the same problem. I have DOG-M081 (1 line 8 char) LCD which has ST7036 controller.

Whatever I write serially, it doesn't acknowledge. Would you provide me the full code showing how CSB, RS, SCL, and SDA should work.

Best regards,

HJL

Quote Originally Posted by mind View Post
Hi guys

Solved the problem. It really is simple, once you look at it. Did this with a PIC16F88, and a Electronic Assembly EA-DOGM162 LCD in serial connection.

Since I hate reading old posts where the person has the same problem as I did, and solved it, but there is no mention of the solution, I have included working code below.

Code:
    DEFINE OSC 4
    DEFINE CHAR_PACING 1000  
@   DEVICE  PIC16F88, INTRC_OSC_CLKOUT, WDT_OFF, PWRT_ON, BOD_OFF, MCLR_OFF, PROTECT_OFF
    disable interrupt

    osccon = %01101100
    trisb  = %00000000
         
    LCD_RS_CommandLow VAR portb.1
    LCD_SerialIn VAR portb.2
    LCD_Clock VAR portb.4

    SYMBOL mode = 5
          
    pause 40   ' wait for LCD to startup
    shiftout LCD_SerialIn, LCD_Clock, mode, [$38]
    pauseus 30
    shiftout LCD_SerialIn, LCD_Clock, mode, [$39]
    pauseus 30
    shiftout LCD_SerialIn, LCD_Clock, mode, [$14]
    pauseus 30
    shiftout LCD_SerialIn, LCD_Clock, mode, [$78]
    pauseus 30
    shiftout LCD_SerialIn, LCD_Clock, mode, [$5E]
    pauseus 30
    shiftout LCD_SerialIn, LCD_Clock, mode, [$6A]
    pause 200
    shiftout LCD_SerialIn, LCD_Clock, mode, [$0C]
    pauseus 30
    shiftout LCD_SerialIn, LCD_Clock, mode, [$01]
    pause 2
    shiftout LCD_SerialIn, LCD_Clock, mode, [$06]
    pauseus 30
    
    high LCD_RS_CommandLow
    pauseus 2
    shiftout LCD_SerialIn, LCD_Clock, mode, ["Hello world"]
    end
Best regards
Richard