If you do not believe in MAGIC, Consider how currency has value simply by printing it, and is then traded for real assets.
.
Gold is the money of kings, silver is the money of gentlemen, barter is the money of peasants - but debt is the money of slaves
.
There simply is no "Happy Spam" If you do it you will disappear from this forum.
Agreed, to upgrade to bigger chip is probably the best way.
If you just need to try a little more room, you could try taking out your graphics:
cut out:
Code:BorderLine: '=================================== UP LcdReg = %10000000 ' cursor X call PrintCtrlLcd LcdReg = %01000000 ' cursor Y call PrintCtrlLcd for y = 0 to 73 LOokup y, [$00,$00,$00,$00,$00,$00,$00,$00,$00,$00,$3F,$3F,$21,$21,$3F,$1E,$00,$3F,$3F,$00,_ $1E,$3F,$21,$29,$3B,$1A,$00,$3F,$3F,$00,_ $01,$01,$3F,$3F,$01,$01,$00,$3E,$3F,$09,$09,$3F,$3E,$00,_ $3F,$3F,$20,$20,$20,_ $00,$00,$00,$00,$00,$00,$00,$00,$00,$00,_ $18,$27,$27,$18,$00,$00,$00,$00,$06,$06,_ $00,$1E,$3F,$21,$21] ,LcdReg ' for y = 0 to 83 ' LOokup y, [$01,$01,$01,$01,$01,$01,$01,$01,_ ' $01,$01,$01,$01,$01,$01,$7F,$7F,$43,$43,$7F,$3D,$01,$7F,$7F,$01,_ 'DI ' $3D,$7F,$43,$53,$77,$35,$01,$7F,$7F,$01,$03,$03,$7F,$7F,$03,$03,$01,_ 'GIT ' $7D,$7F,$13,$13,$7F,$7D,$01,$7F,$7F,$41,$41,$41,$01,$01,$01,$01,$01,_ 'AL ' $01,$01,$01,$31,$4F,$4F,$31,$01,$01,$01,$0D,$0D,$01,$3D,$7F,$43,$43,$43,_ ' $01,$01,$01,$01,$01,$01,$01,01] ,LcdReg call PrintDataLcd next y '=================================== DOWN ' LcdReg = %10000000 ' cursor X ' call PrintCtrlLcd ' LcdReg = %01000101 ' cursor Y ' call PrintCtrlLcd ' for y = 0 to 83 ' LOokup y, [$80,$80,$80,$80,$80,$80,$FE,$CA,$CA,$B4,$80,$8E,$D0,$D0,$BE,_ 'BY ' $80,$80,$80,$80,$FE,$88,$90,$FE,$80,$FE,$80,$BC,$C2,$C2,$A4,_ 'NIC ' $80,$BE,$C0,$C0,$BE,$80,$FE,$C0,$C0,$C0,$80,$FE,$CA,$CA,$C2,_ 'ULE ' $80,$A4,$CA,$CA,$B0,$80,$BC,$C2,$C2,$A4,$80,$BE,$C0,$C0,$BE,_ 'SCU ' $80,$80,$80,$80,$FE,$C2,$C2,$BC,$80,$FC,$92,$92,$FC,$80,$FE,_ 'DAN ' $88,$90,$FE,$80,$80,$80,$80,$80,$80] ,LcdReg ' ' call PrintDataLcd ' next y return '=================================== end of BorderLine
Ok, the printing a variable solution:
got a little old. So I managed to write my first macro. It lets you do the above with a two liner:Code:PosX = 0 'position 0 of 84 in the x direction PosY = 0 'row 0 (of 0-5) gosub Lcd_GotoXY Lcd_Data = (result dig 3) + 48 gosub Lcd_SendChar PosX = 6 'position 6 of 84 in the x direction PosY = 0 'row 0 (of 0-5) gosub Lcd_GotoXY Lcd_Data = (result dig 2)+ 48 gosub Lcd_SendChar PosX = 12 'position 12 of 84 in the x direction PosY = 0 'row 0 (of 0-5) gosub Lcd_GotoXY Lcd_Data = (result dig 1) + 48 gosub Lcd_SendChar PosX = 18 'position 18 of 84 in the x direction PosY = 0 'row 0 (of 0-5) gosub Lcd_GotoXY Lcd_Data = (result dig 0) + 48 gosub Lcd_SendChar
The code does the rest, and moves to the next position to print the next digit, until done.Code:VarData = 12345 'load the variable with desired number @ PrintVar 0,0 'print the variable VarData, starting at the desired location 0,0
I also edited the PrintStr function to scroll to the next line when it runs past the end of the current line.
It runs on an 18f67j50. Not sure if it would run on a 16f or not.Code:@ PrintStr 0,0, "If I write more than one line, it will scroll to the next one, and next."
Bookmarks