16F84 first project "Mentor Needed"
David VanHorn email (remove spam text)
Specifically to multiplexing:
You have segments, and digits.
The segments control what char gets displayed.
The digits control where it is.
In hardware, you'll need seven output bits for the segments, with current
limiting resistors in each line.
You'll also need three outputs for digits.
Check your display docs as to wether the digit output needs to be high to
make the digits active, or low. The segments of course need to be the opposite.
If you wanted to output "123", you'd first build a routine to translate
"1", "2", and "3" into segment patterns. This is pretty easy, using a
table. One byte per digit, with a bit to spare.
Once you have your digit table, you select which digit you're going to
display by activating the digit outputs in sequence.
The way I would attack this, is to make a 3 byte area in ram to hold the
binary (or ascii) values that are to be displayed.
Then I would read them in turn, and for each one translate, output the
bits, wait a short while (maybe 10mS) then on to the next digit.
At this point, you have a scanned display, and you can change the display
by just rewriting the ram contents in the display buffer.
Dave's Engineering Page: http://www.dvanhorn.org
Where's dave? http://www.findu.com/cgi-bin/find.cgi?kc6ete-9
http://www.piclist.com#nomail Going offline? Don't AutoReply us!
email mitvma.mit.edu with SET PICList DIGEST in the body listserv
In reply to: <email@example.com>
See also: www.piclist.com/techref/microchip/devices.htm?key=16F
You must be a member of the
piclist mailing list
(not only a www.piclist.com member) to post to the