Code:
include "LCD_D.bas"
EEPROM 0,[4,4,4,31,0,14,0,4] ' Cust Char #0
EEPROM 8,[14,31,17,17,17,17,17,31] ' Cust Char #1
EEPROM 16,[14,31,17,17,31,31,31,31] ' Cust Char #2
EEPROM 24,[10,10,31,31,14,4,4,2] ' Cust Char #3
EEPROM 32,[14,17,17,17,10,14,14,4] ' Cust Char #4
EEPROM 40,[4,31,0,14,0,31,0,14] ' Cust Char #5
EEPROM 48,[0,0,8,21,2,0,0,0] ' Cust Char #6
EEPROM 56,[4,2,4,14,31,31,31,14] ' Cust Char #7
EEPROM 64,[0,17,19,23,19,17,0,0] ' Cust Char #8
EEPROM 72,[0,2,4,8,4,2,0,0] ' Cust Char #9
EEPROM 80,[0,0,14,14,14,0,0,0] ' Cust Char #10
EEPROM 88,[0,0,10,10,10,0,0,0] ' Cust Char #11
EEPROM 96,[0,8,12,14,12,8,0,0] ' Cust Char #12
EEPROM 104,[0,8,4,2,4,8,0,0] ' Cust Char #13
EEPROM 112,[0,17,9,5,9,17,0,0] ' Cust Char #14
EEPROM 120,[0,0,14,10,14,0,0,0] ' Cust Char #15
EEPROM 128,[$00,$0a,$0a,$00,$00,$11,$0e,$00] ' Cust Char #16
CGLOAD VAR WORD : CGLOAD = 0 ' Variable for holding Character # to Load
CGLLOC VAR BYTE : CGLLOC = 0 ' LCD Location to Store Character (0 to 7)
CGLOOP VAR BYTE ' Variable for Selecting Data Bits
CGDATA VAR BYTE[8] ' Variables to Hold Character Data
LCDOUT $FE, 2
Pause 1000
PreLoadLCD:
CGLOAD = 0 : CGLLOC = 0
GOSUB SETCGLCD
CGLOAD = 1 : CGLLOC = 1
GOSUB SETCGLCD
CGLOAD = 2 : CGLLOC = 2
GOSUB SETCGLCD
CGLOAD = 3 : CGLLOC = 3
GOSUB SETCGLCD
CGLOAD = 4 : CGLLOC = 4
GOSUB SETCGLCD
CGLOAD = 5 : CGLLOC = 5
GOSUB SETCGLCD
CGLOAD = 6 : CGLLOC = 6
GOSUB SETCGLCD
CGLOAD = 7 : CGLLOC = 7
GOSUB SETCGLCD
MainLoop:
LCDOUT $FE, 2
LCDOUT $FE, $80 ' This locations characters will change after charater update
LCDOUT 0,1,2,3,4,5,6,7
Pause 1000
Goto Reloadlcd 'Used GOTO instead of GOSUB since it would be Stacking GOSUBs
AddLCD: 'Return point after changing LCD Memory
'Add more code here if you want
END
SETCGLCD:
CGLOAD = CGLOAD * 8 ' Converts your Character Selection to EEPROM Address
CGLLOC = (CGLLOC * 8) + 64 ' Converts LCD Slot to LCD Memory Address
for CGLOOP = CGLOAD to (CGLOAD + 7)'Sets 1st Memory Address to Read + Next 7
read CGLOOP, CGDATA[CGLOOP-CGLOAD] ' Stores each Byte into Array
next CGLOOP
LCDOUT $FE,CGLLOC,CGDATA[0],CGDATA[1],CGDATA[2], _
CGDATA[3],CGDATA[4],CGDATA[5],CGDATA[6],CGDATA[7]
Return
ReLoadLCD:
CGLOAD = 8 : CGLLOC = 0
GOSUB SETCGLCD
CGLOAD = 9 : CGLLOC = 1
GOSUB SETCGLCD
CGLOAD = 10 : CGLLOC = 2
GOSUB SETCGLCD
CGLOAD = 11 : CGLLOC = 3
GOSUB SETCGLCD
CGLOAD = 12 : CGLLOC = 4
GOSUB SETCGLCD
CGLOAD = 13 : CGLLOC = 5
GOSUB SETCGLCD
CGLOAD = 14 : CGLLOC = 6
GOSUB SETCGLCD
CGLOAD = 15 : CGLLOC = 7
GOSUB SETCGLCD
goto addlcd
Bookmarks