' {$STAMP BS2} ' {$PBASIC 2.5} char VAR Byte Index VAR Byte Clr_Display CON 1 EntryMode_Set CON 6 Display_Off CON 8 Display_On CON 15 Modeset CON 56 FourBit_Mode CON 40 DIRB = %1110 OUTB = %0000 DIRC = %1111 OUTC = %0000 Msg DATA "SHARP" main: PAUSE 150 char = FourBit_Mode GOSUB lcdcmd char = Display_Off GOSUB LCDcmd char = Display_On GOSUB LCDcmd char = Clr_Display GOSUB LCDcmd GOSUB start GOTO main LCDcmd: OUTC = char.HIGHNIB LOW 4 PULSOUT 6, 1 OUTC = char.LOWNIB LOW 4 PULSOUT 6, 1 RETURN LCDwr: OUTC = char.HIGHNIB HIGH 4 PULSOUT 6, 1 OUTC = char.LOWNIB HIGH 4 PULSOUT 6, 1 RETURN Start: FOR index = 0 TO 4 READ index, char GOSUB LCDwr NEXT RETURN