I attempted to make myself a 2-in-1 programmer so I can program both AT89Cx051 and AT89S52 on the same board without having to do so much plugging/unplugging of the port.
The main issue is the strobe pin aka reset (RST in circuit). (pin 1 of the DB25 connector). I tested it with a PC and got no results.
What seems to somewhat work is if I connected RST to VCC via a 1K resistor. It somewhat works because even though the output is only at 3.8V instead of 5 (which VCC is also at), it puts the AT89S52 in reset mode as expected, but I'm not getting 12V at pin 1 of the small AT89Cx051 socket.
If I don't make the manual connection, then I get 1.4V measured at RST, even after I added a 10K resistor between VCC and RST. Without RST being forced to ground, I should get 5V but I'm not.
I have also tested the transistors manually from leg to leg using the diode setting on the multimeter and they turned out fine. The resistors going to the base of the transistors are 2.2K and I used 1K resistors in place of the diodes. All other resistors are 10K. The resistor going into the buffer (74HC125) is 0 ohm.
All capacitors are 0.1uF.
Why would I be getting such awkward voltages for reset pin? Am I using too weak of resistors or something?
So I ended up making myself an ms-dos 6.22 bootdisk and booted my machine into that with qbasic to test the parallel port (with port at address 278-27AH ) in general with simple circuitry and that seems to work decently.
When I teted only the parallel port on the pc with only a voltmeter with anode lead connected to the strobe pin, I get the following results:
Qbasic code Result OUT &H27A, 0 4V output from strobe OUT &H27A, 1 0V output from strobe
When I plugged my circuit into the port, the voltage dropped:
Qbasic code Result OUT &H27A, 0 1.56V output from strobe OUT &H27A, 1 0V output from strobe
How is it possible I'm only getting 1.56V from that pin?
I disconnected the 12V line from the circuit and the voltages on the reset line are now 1.52V and 0V