Hello tapu
Each simulator has its things to improve; ISIS's Proteus too.
Mysteriously its IC ULN2803 require pull-up resistors to operate (RN2).
Apparently the resistors connected in series with the Display segments, the transistors and the 12V power supply does not serve him as such. (Pull-Up).
Remove the chip resistors RN2 and see that design do not work. (Attached)
Let us see now the display.
You need to know the electrical characteristics of your display and the other associated components to the circuit.
Assuming that your display has the following electrical characteristics:
VF = 3.0 Volts
IF = 10 mAmp.
If only you had the display and the 12V adapter, it would be easy to calculate the value of current limiting resistors for the segments of the display.
It would be as follows: (VCC - VF) / IF = Rx.
But you have in your design a transistor (BC547) which hinders our calculations a little.
We need to know the electrical characteristics of this transistor.
In practical life is first look at what is needed, and Then look for a device that meets our requirements.
Just think, when the display lights up number 1, there are only two lit segments. . . So by the emitter-collector junction of transistor circulate a current of 20mAmp.
And when it turns the number 8, for the same joint will circulate a current of 80 mAmp. The worst case.
How much IC current supports this transistor ??
Data Sheets (attached) tell us that IC = 100 Amp. Continuous.
Mmm. It can be used to this design.
Now, how much current we have to apply to the base of transistor to give us 80 mAmp IC ??.
Again we see the data sheets and find that this transistor has a typical gain of 120 hfe. So: 80/120 = 8 mAmp Ib.
Note: This hfe is given when the IC = 100 mAmp and VCE = 5 Volts.
In such a way that the value of the limiting resistors for the segments of the display would be calculated as follows:
(Vcc - (VCE + VF)) / IF = Rx.
How much voltage, at the output, can provide your microprocessor ??.
We need to analyze the data sheets of a microprocessor.
We need to know the value of this voltage to calculate the value of the base resistor RB.
Let assuming, for practical purposes, giving us 4.5 V.
RB will then be calculated: RB = 4.5 / 0.008 = 1.125 K Ohms.
You can also make these calculations working with the transistor in saturation mode. I think it's better.
In which case you only have to replace, in the formula, the value of VCE parameter. by VCE (sat)
Because I have not the program for the microprocessor, regardless of 8051, mentioned in your original message or 89C52, seen in the image that you enclose in your post #8, I made a design with other devices.
Note that the ULN2803 inverts the logic levels. Furthermore PIN 10 is connected to VCC only when using inductive loads.
I hope that helps You with all this talk.