Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Multiplexing 8 Digits Seven Segment Display with Pic Microcontroller

Not open for further replies.


Oct 31, 2022
Reaction score
Trophy points
Activity points
Hello Everyone,

I am new to this forum and I have an Issue that I'd like help with. I want to fabricate a Display consisting of 7 segment display arranged in 2 rows of 4 digits.

I am not very clear on the method of multiplexing describe on the internet as I can only find simple circuit.

Please, I will be happy with any pointer or links to resources that can help with learning this technique of multiplexing.

Note: I can develop programs with MiKroC for any type of PIC microcontroller so my project MCU is PIC18F2550.


I did an internet search on your first words of the headline: "

Multiplexing 8 Digits Seven Segment"​

I got over a milllion hits. With textual description, schematic, code and even videos.
What information do you need that is not given there?


consisting of 7 segment display arranged in 2 rows of 4 digits.
You migh be aware that depending on the displayed number format, in the case of floating point, the current 7 segments should be added by one, the 'dot'.


You would need one pin for the common terminal (anode or cathode, depending on whether it is common anode or common cathode, respectively) of each of the displays by driving the base of the appropriate PNP transistor. So those will be eight lines in total. These will serve as select lines with which you will take turns to drive the common terminal of each of the eight display modules. While driving a particular display module, you will provide the appropriate word (a, d,...g) necessary to lite the segment(s) required. (See attachment)

Notice that the attachment is for common-anode display modules.
The circuit will have to be modified for common-cathode display modules.

7seg mux.png

.. or for simplicity, offload all the multiplexing to a dedicated IC like the MAX7219 and then let the PIC talk to it through a serial link. You might run into problems with the PIC18F2550 running low on pins or see timing issues if you software multiplex the display directly and also use the USB port at the same time.



Also possible: non multiplexed with a HC595 for each digit. SPI daisy chained.



Thanks to all the members that replied to my message, in particular Akamino, Brain and Klaus for pointing me in a direction I can start working on.

What I actually wanted to understand fully is the MULTIPLEXING logics operation. How to understand the timing on switching data to the 7 data pins and the timing for driving the cathode/anode to display the proper digit in the proper seven segment display.

I will be happy with any link to resource that can help me with understanding the operation or any explanation you guys can provide.


basic multiplexing scheme:
set display bits for digit one
activate digit one control line to turn on PNP for digit one
wait briefly
de-activate digit one control line to turn off PNP for digit one
repeat for digit 2
repeat for digit 3 ...
repeat for last digit

go back to beginning for digit one.

nominal eye persistence is about 24 frames /second (film movie frame rate)
you might want to be a little faster than that, say 30 frames/second
so each digit is illuminated for about 1/30 of a second, then move to next digit
eye persistence will make it look like all digits are on at the same time

alternative view:
for N digits, repeat all N in 1/30 of a second, so illuminate each digit for 1/(30 * N) seconds
for example, at N = 10, each digit is on for 1/300 seconds, or about 3.3 ms
should be straightforward for most microcontrollers

in addition, you can adjust apparent brightness by increasing or decreasing frequency of illumination
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to