I was making a breadboard demo for a Microcontroller class. Basically my project is to make a score keeping device. I want to drive 4 seven segment displays using an atmega8. I read about charlie plexing and understand that it will enable me to drive all the 4 displays using a single port. I understood the theory but can't really figure out how to make the charlie plexing circuit on a bread board. Can anyone please help?
Take a look at my charlie-plexing schematic at http://wiblocks.com/FAQ/faq-charlie-plex.html
Make each row connection the common pin of the seven segment readout. Make each column the individual pin connection. For 28 segments you need six pins. If you use eight pins instead of six you may find it easier to program. With eight pins I would do four rows and seven columns.
(* jcl *)
I'm only a beginner at all of this, so take this with a grain of salt, but I'd have a totally different approach.
I'd use a 7447 decoder instead. This would use 7 pins (4 for the output, and 3 to select the display), but it would be much simpler than having to work out the combinations to charlieplex and would give a brighter output too.
The Wikipedia article has simple examples on how to wire charlieplexed LEDs.
There are also a lot of instructables related to charlieplexing. This particular instructable explains how to wire 7-segment displays (with additional transistors though).
This page also explains how to wire 7-segment displays and contains pseudo code on how to drive them. The main difficulty of charlieplexing is to use flickering so that you can switch on arbitrary combinations of segments.