Big characters on HD44780 4x20
Hi! I'm an Italian user, I need to show BIG CHARACTERS on a 4x20 lcd hd44780 compatible. This project is intended to show temperatures in my car. I like lcd style much more than led 7-segment style. I've written some code:
Code:
DEFINE OSC 12
define LCD_LINES 4
Clr CON 1
Comm Con $FE
LINE1 con 2
LINE2 con $c0
LINE3 con $94
LINE4 con $d4
Dx con $14
Begin:
Pause 500
LCDOUT $FE,$40,$1F,$1F,$1F,$1F,$1F,$1F,$1F,$1F ' Cust Char #0
LCDOUT $FE,$48,$1F,$1F,$1F,$1F,$00,$00,$00,$00 ' Cust Char #1
LCDOUT $FE,$50,$00,$00,$00,$00,$1F,$1F,$1F,$1F ' Cust Char #2
LCDOUT $FE,$58,$00,$00,$00,$00,$00,$0E,$0E,$0E ' Cust Char #3
LCDOUT $FE,$60,$00,$00,$00,$00,$00,$1F,$1F,$1F ' Cust Char #4
LCDOUT $FE,$68,$1F,$1F,$1F,$00,$00,$00,$00,$00 ' Cust Char #5
LCDOUT $FE,$70,$00,$01,$03,$07,$0F,$1F,$1F,$1F ' Cust Char #6
LCDOUT $FE,$78,$00,$00,$00,$00,$00,$00,$01,$03 ' Cust Char #7
Main:
LCDOUT comm, clr
lcdout comm, line1, "T", COMM, LINE2, "E", COMM, LINE3, "S", COMM, LINE4, "T"
PAUSE 1000
GOSUB NUMERO11
PAUSE 1000
GOSUB NUMERO22
PAUSE 1000
GOSUB NUMERO33
PAUSE 2000
GOTO MAIN
Numero11:
lcdout comm, line1, comm, dx, comm, dx, $07, $06, $00
lcdout comm, line2, comm, dx, comm, dx, comm, dx, comm, dx, $00
lcdout comm, line3, comm, dx, comm, dx, comm, dx, comm, dx, $00
lcdout comm, line4, comm, dx, comm, dx, comm, dx, comm, dx, $00
RETURN
Numero22:
LCDOUT comm, LINE1, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, $01, $01, $01, $00
LCDOUT COMM, LINE2, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, $02, $02, $02, $00
LCDOUT COMM, LINE3, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, $00, $01, $01, $01
LCDOUT COMM, LINE4, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, $00, $02, $02, $02
RETURN
Numero33:
LCDOUT COMM, LINE1, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, $01, $01, $01, $00
LCDOUT COMM, LINE2, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, $04, $04, $00
LCDOUT COMM, LINE3, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, $05, $05, $00
LCDOUT COMM, LINE4, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, comm, dx, $02, $02, $02, $00
RETURN
end
It's only a test right now. This code is really too long and too unefficient, so I need your help! How can I write this code to be simpler?
Sorry for my English! :)
Thanks, Francesco