I have a circuit here which can sometimes program a microcontroller. I think a big problem here is that "phantom power" is introduced in the circuit because when I'm ready to program it, I plug the unit into the parallel port of my computer and it may give off 3V into the entire circuit which could power both the microcontroller (AT89S52) and the tristate latches (74HC125.)
One idea was to use optoisolators but that means a lot of tiny chips on the board with an extra gate because one setting is meant to raise the reset line and enable the remaining gates to allow programming.
Someone on another forum suggested replacing the part with another IC of almost the same family (74AHCT125 I think) or use one where the input voltage doesn't use VCC as a value. I'm not sure.
I have also thought of making voltage dividers between the input (PC parallel port) and the output (microcontroller programming input pins) so that the voltage is too low to power the ICs but not low enough to make the ICs think the input is always logic 0.
The board itself is powered with a regulated 5.5VDC supply and I apply that power after the board is plugged into the parallel port.
So without making my board look crazy, what would be the best solution? Buy a series of optoisolators (4N25?) and use them, change the IC family, or make voltage dividers?
Another idea that popped into my head now is applying a reverse-based diode between each parallel port connection and the respective IC input and adding a resistor from the anode to the board VCC (+5V.) But 5V wouldn't damage the port would it? The parallel port I'm using is on my laptop. Is my last idea wise?
I want to know the best way to eliminate the phantom power.