Hi, I need to output some text and numbers to a bitmapped LCD from an MCU so I need a font bitmap/lookuptable but cant seem to find one that is in the format that can be included in a c program file (or assembler) using dspic30f... anyone know of any ? hope I dont have to create/copy one by hand.
Colin =^.^=
Didn't find your answer? Ask the community — no account required.
M
mkaras
You can find some useful information for bit mapped fonts and graphic LCDs at my web site. Check it out at this link:
formatting link
- mkaras
G
Glenn Gundlach
colin wrote: > Hi, > I need to output some text and numbers to a bitmapped LCD from an MCU > so I need a font bitmap/lookuptable but cant seem to find one that is in the > format that can be included in a c program file > (or assembler) using dspic30f... anyone know of any ? hope I dont have to > create/copy one by hand. >
Heaven forbid you'd have to do something resembling work since you say it's simple. It's not hard and takes less time than reading these replies. Besides which, it's excellent learning material.
GG
J
Jan Panteltje
On a sunny day (Thu, 30 Nov 2006 23:34:44 GMT) it happened "colin" wrote in :
As C header file: ftp://panteltje.com/pub/s14font.h.txt
8x9 with teletext graphics characters, you can see it here: ftp://panteltje.com/pub/xkrs.jpg Do you also need the character generator and color processing in C?
formatting link
user: guest pasword: none
By reading this you agree to all conditions.
C
colin
the
Thanks that will do nicely ::))
My display is 256x64, its an old epson eg2401 I had in myparts box I just wanted to see some debug info, seems a bit overly complex to use with 10 inputs, took a while to work out the timings from the data sheet, but it works now. But I had forgoton it was btimaped and needed refreshing constantly too, looks like this will take up a lot of cpu time. I wish now id gone for one of those rs232 input ones, I saw a nice development board on ebay with an LCD (i think it had arm7 or similar mcu) but I cant find one like it again.
8x9 wil give me 7 lines, or maybe I can lose the top or bottm line and have
Colin =^.^=
C
colin
MCU
the
to
Cool thanks a lot ::))
colin =^.^=
C
colin
Simple refers to the fact that it doesnt need any fancy things like proportional spacing or kerning, so it doesnt take up so much cpu power, its not so simple to actualy create the bitmap for each char due to the fact that there are so many bits in total.
Although I wrote a '0-f' 7 segment font from scratch a full ascii char set is another matter.
Some of the font files ive had as replies have been many thousands of lines long just for the font bitmap, hardly quicker to type it myself, let alone actualy work out each individual bit, hardly a learning experience either, maybe you missundertsood what I was after ?
Colin =^.^=
V
vic
You can find the 8x8 character generator ROM in any PC at address f000:fa6e
vic.
J
Jan Panteltje
On a sunny day (Fri, 01 Dec 2006 13:02:41 GMT) it happened "colin" wrote in :
Actually it was the wrong font, the one with the teletext graphics is this one: ftp://panteltje.com/pub/txtfont.h.txt Both are interchangable, but those graphics blocks start above 127 dec. If you are short of space you can use only 32 through 127 of the table, and always add 32 (space) for ASCII.
C
colin
one:
Thanks again, that file had a bit more info too :)
I got it to display them all on the lcd now, using just 8x8 as the 9th byte is unused, although I havnt deleted it from the table. and croped the table to 32-127 as u said. had a bit of a headache b4 I realised Id got my nibbles swaped, as it was only a problem in the few chars wich were wider than 4bits.
I cant say I fully understand these epson LCD timings but after a bit of jiggling with random delays and swaping edges it seems to work now, although a touch tempermental, if anyone wants to see the code just ask, but cba to comment it unless someone needs to use it, I gues these epson LCD are quit old now.
I find if I use bit set on an output port followed by another bitset on a different bit on the same port the first bit gets cleared.
Also dont quite understand exactly how it lays down the data in memory when you specify a data array in the program space on the dspic30f with the microlab mc30 compiler, as theres only 3 bytes used per 4 bytes of prog space, looking at the examples I assume it only uses the low word, and so wastes 1/3 bytes.
Spent a while trying to get the tbldr function to work before I gave up and put it in the data space and it seems fine, although I think I found other problems why it wasnt working, probably not got a lot of the 2k ram left now, maybe il try maping the code space into data space.
When I look at the disaembly it seems to be accesing the normal data array at 0x810 wich coresponds to actual code, maybe it doesnt show the final linked addresses, oh wait prog and data are seperate.
Colin =^.^=
C
colin
MCU
the
to
f000:fa6e
That would be fine if there was an easy way to get/copy it into a 'C' program as a data array, as the prog runs on an mcu wich obviously cant acces the rom itself. However ive got a few such files now thanks :)
Colin =^.^=
Join the Discussion
Have something to add? Share your thoughts — no account required.
Didn't find your answer?
Ask the community — no account required
Report Content
You are reporting this content to the moderators. They will look at it
ASAP.