'*********************************************************************
'Sub LCD_Init()
'*********************************************************************
' From SED-133x datasheet
Sub LCD_Init()
LCD_RESET = 0
Delayms(5)
LCD_RESET = 1
Delayms(5)
Call LCD_CMD(0x40) ' SystemSet
Call LCD_Putc(0x30)
Call LCD_Putc(0x87)
Call LCD_Putc(0x07)
Call LCD_Putc(0x27)
Call LCD_Putc(0x2F)
Call LCD_Putc(0xC7)
Call LCD_Putc(0x28)
Call LCD_Putc(0x00)
Call LCD_CMD(0x44) ' Scroll
Call LCD_Putc(0x00) '
Call LCD_Putc(0x00) '
Call LCD_Putc(0xC7) '
Call LCD_Putc(0x00) '
Call LCD_Putc(0x05) '
Call LCD_Putc(0xC7) '
Call LCD_CMD(0x4C) ' CSR_DIR
Call LCD_CMD(0x5A) 'horzscroll
Call LCD_Putc(0x00)
Call LCD_PutCSR(0x0000) ' CSRH
Call LCD_CMD(0x59) ' DISP_CTRL
Call LCD_Putc(0x14)
Call clearLCD()
Call LCD_CMD(0x5B) ' CSR FORM
Call LCD_Putc(0x00)
Call LCD_CMD(0x4C) ' CSR DIR
End Sub
'*********************************************************************
'* clearLCD() : Clears the LCD display memory *
'*********************************************************************
Sub clearLCD()
Call CLR_TXT()
Call CLR_GRPH()
End Sub
'*********************************************************************
Sub CLR_TXT()
Dim i As uInteger
Call LCD_CMD(CSRRight)
Call LCD_PutCSR(0x0000)
Call LCD_CMD(MWRITE)
For i=0 To 0x500
Call LCD_Putc(0x00) ' write " " To character memory
Next i
End Sub
'*********************************************************************
Sub CLR_GRPH()
Dim i As uInteger
Call LCD_PutCSR(0x0500)
Call LCD_CMD(MWRITE)
For i=0 To 8000
Call Str(i,s1)
Call Putc(s1)
Call LCD_Putc(0x00) ' erase graphics memory
Next i
return
End Sub
'*********************************************************************
' LCD_CMD() : Sends Command To LCD controller
'*********************************************************************
Sub LCD_CMD(TMP_DATA As uByte)
LCD_A0=1 '
LCD_WR=0 '
LCD_RD=1 '
LCD_DATA=TMP_DATA '
LCD_WR=1 '
LCD_A0=0 '
End Sub ' End LCD_CMD
'*********************************************************************
'* LCD_Putc() : Sends parameters Or Data To LCD controller *
'*********************************************************************
Sub LCD_Putc(TMP_DATA As uInteger)
LCD_A0=0 '
LCD_WR=0 '
LCD_RD=1 '
LCD_DATA=TMP_DATA '
LCD_WR=1 '
LCD_A0=1 '
End Sub ' End LCD_Putc
'*********************************************************************
'* LCD_Getc() : Sends parameters Or Data To LCD controller *
'*********************************************************************
Function LCD_Getc(TMP_DATA As uInteger)
LCD_A0=0 '
LCD_WR=0 '
LCD_RD=0 '
TMP_DATA=LCD_DATA '
LCD_WR=1 '
LCD_A0=1 '
End Function TMP_DATA ' End LCD_Getc
'********************************************************************************
' LCD_puts(s) Write a string to the LCD
'********************************************************************************
Sub LCD_Puts(Str_1 As String)
Dim L As uByte
Dim i As uByte
L=len(Str_1)-1
For i = 0 To L ' characters in a string are from 0 to len()-1
Call LCD_Putc(str_1(i))
Next i
End Sub