LED matrix scrolling message tag

I have built scrolling message more than a year ago, based on 16F1824, and assembler language. However it is not easy to maintain or to modify this program.

It is not possible (for me) to program scrolling message on the 16F57 (in assembler). I have done it in C language! About 80% of the program memory and more than 80% of the data memory are used!

There are 2K FLASH program memory on the 16F57.

External serial RAM is used (8 KByte).

At first I built a 10x5 matrix (50 LEDs). Multiplexing some of the pins, it is possible to add 2 more columns. 60 LEDs controlled by 16F57!

I have used a few tricks to reduce memory usage, which otherwise would exceed 2K already. For instance today I removed the character width into the upper 3 bits of the first font data byte. Only 5 lower bits are used.

The source code is here: http://pic.hitechworld.org/data/ledmatrixtag/

However, I recommend to use a PIC with more memory, and more I/O. Then you can add serial interface, EEPROM, clock display or whatever. The 16F57 only leaves very little room for any extensions. But it is actually possible to program scrolling message on the 16F57!

The message tag with the red LEDs is better, it is much brighter, especially when using the CR2032 3V coin cell battery.

There is brightness variation (of course) since direct I/O is used, however in reality the effect is neglible.

A professional circuit would eventually use extra components to drive the LED columns, for instance to ensure even brightness.

This circuit is for demonstration only!

-Use at your own risk.
-If you use it for a student project you must link to my website.
-It is actually also possible to use a 4 MHz crystal etc. for clocking. However, the lower the frequency, the lower the supply current. With a coil, clock frequency between 500 KHz and 4 Mhz is easy to use.



Blog entry information

Last update

More entries in General

More entries from takao21203

Share this entry