> > For doing "blind" programming of an '84 ["blind" meaning the host can't > > tell anything about what the PIC is doing, or even its existence] I think > > the simplest possible circuit is two resistors and a cap [plus the power > > supplies]. > Radical design reduction, better than the 3 pin serial programmer for > one off designs. > > > To send a "1" bit, send 00h; to send a "0" bit, send FFh. > At what baud rate ?-) > > > How does that sound for simplicity? > Wonderful, if the program does not work the first time, just try again > until the test program communicats with the pc serial ports to test > the one wire programmer then do one more blind program to burn in the > programmer code. The baud rate would depend upon R2 [the adjustable one], C, and the design of the serial port feeding the unit. If you can manage NOT to send anything between a 1 and a 0 bit for a byte time, then you should try to adjust the RC so that the shmidt trigger will hit after 5 bit times; if you cannot do so, then send $E0 instead of $00 for a 1 bit and adjust the shmidt trigger to go after 3 bit times. There's a pretty big margin of error in this commun- ications approach, so while I've not tested it, it should probably not be too hard to make it work. E.g. if the transmitting computer's output is 12 volts with an equivalent series resistance of 1K, then we want that 12-volt signal to pull the data wire from 0 to 4 volts in 300us [assuming 9600 baud]. Thus, [calculator not handy] the RC time constant should be about 600us [since that's how long it would take to pull the line to about 8 volts if the clamp-diodes didn't interfere] and with a 0.1uF cap you should have a 6K resistor.