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
Bookmarks