I didn't notice yet that your processor is a 8051 but the circuit is probably not designed for 8051 ports. Driving the NPN transistors through 2K2 resistors doesn't work because all ports have only weak pull-ups instead of strong push-pull drivers. Or do you have additional logic gates not shown in your schematic.
This issue has to be clarified first, reducing series resistors might be checked later.
I didn't notice yet that your processor is a 8051 but the circuit is probably not designed for 8051 ports. Driving the NPN transistors through 2K2 resistors doesn't work because all ports have only weak pull-ups instead of strong push-pull drivers. Or do you have additional logic gates not shown in your schematic.
This issue has to be clarified first, reducing series resistors might be checked later.
"Working" yes, but only sourcing about 100 µA instead of intended 2 mA to BC337 base. Respectively limiting total digit current to 30 or 50 mA.
If I'm right that the low digit driver base current is the problem, you'll notice that brightness reduces when multiple segments in a digit are turned on.
Simple workaround is to connect port pins directly to BC337 base and use 2.2 k as pull-up between base and +5V.
"Working" yes, but only sourcing about 100 µA instead of intended 2 mA to BC337 base. Respectively limiting total digit current to 30 or 50 mA.
If I'm right that the low digit driver base current is the problem, you'll notice that brightness reduces when multiple segments in a digit are turned on.
Simple workaround is to connect port pins directly to BC337 base and use 2.2 k as pull-up between base and +5V.
hello, maybe you can reduce delay time 100ms to 50ms. and should be reduce flickering. for why use ISR to manager it , i think if use ISR, and then mcu can use more time to do with other task. this is my opinion.