Zastosuj układ dodatkowy tak jak pisałem R+C, będziesz miał pewność jego działania a to jest najwarzniejsze, gdyby to był sterownik "inteligętny wentylatora łazienkowego" to można dać tylko kondensator, nawet poniżej 1uF ale tu musisz być pewny pracy układu resetu.
Po resecie piny procesora maja stan 1, co oznacza przy zastosowaniu npn-a że pojawi sięnapięcie programujące +12V do momentu kiedy program nie skonfiguruje pinów portu. Niedopuszczalne !!!, niech raz na 100 pozostawisz uład w programatorze i już prawdopodobieństwo uszkodzenia. Jeśli jednak nie to w profesjonalnych rozwizaniach omija się takie ewentualności, Ty tez to zrób, widać wtedy, że konstruktor zna sięna rzeczy. Pin P0.7 bedzie sterował pnp-na (opis podłączenia wyżej) a ten z kolei pnp-em załączającym nap. prog (+12V, rezystory tak jak w sterującym) i na wyjściu Vprog nie dajesz 100nF !!!! (o to mi chodziło) na reszcie dajesz, nawet na Vcc dla układu programowanego (tylko 100nF, żaden elektrolit).
Tu musze wspomnieć o procedurze podawania Vprog, skonfiguruj jedną komórkę tak by po wpisaniu do niej danej procedura wystawiała impuls PRG o długości np. komórka*1ms, to Ci się przyda na przyszłość gdy stwierdzisz, że zechcesz rozbudowac programator o prog AVR lub innych.
Przed przystapeniem do procesu programowania, procedura (która stworzysz) powinna odczytać ID układu i go rozpoznać, w tabeli stałych bedziesz miał skonfigurowane już jakie czasy PRG, odstępy między impulsami i tp. Programator stanie się w pewien sposób "inteligętny".
Teraz o wczytywaniu pliku do programowania. HEX lub BIN. HEX jest pewniejszy ale wolniejszy a BIN nie ma sprwdzania poprawności przesyłanych danych, pisze to bo sa programatory które automatycznie programja układ po przsłaniu im pliku bez dodatkowego softu sterujacego . Jeśli stosujesz dodatkowy program sterujący proramowaniemnp pod WIN lub LINUX-a (sam go piszesz) to bezwzględnie rób weryfikację zapisu komórki FLASH po każdym zapisie (bajt programu). To tez świadczy o profesjonalnym podejściu do zagadnienia i naprawdę się przydaje.
Jeszcze o programi sterującym, jak go nie stosujesz to podłącz do układu LCD-ka, bedzie on wyświetlał typ i nazwę rozpoznawanego układu do programowania, naciskasz przyciska progrma przygotowuje scalak do programowani (erase) i czeka na plik..... z PC. Kilka klawiszy i proste MENU i juz możesz zmieniać czy ma programowac bity zabezpieczajace czy nie i tego typu bzdury. Chcesz więcej bajerów w programatorze to doadaj EEPROM zewnętrzny (widzę, że go masz) o większej pojemnosci. Ładujesz plik do programowania, proc zapisuje go do EE a ty wybierasz sobie w MENU, że zaproramujesz 10 kości bez konieczności przesyłania plików. Mozna tez zgromadzić kilka wsadów w EE i wybierać sobie który będzie "wstrzeliwany" do układu (praca serwisowa

w terenie bez PC). Propozycji jesy kupe. Głowny uP ma sporo FLASH-u to maszpole do popisu.
Dobra rada w MAX-ie daj jednak kondensator i zasil go z +5V, nie kombinuj tu z "wynalazkami" jeden elektrolit Cię nie zbawi a da pewność pracy konwertera RS232<->uP, a o pewnośc działania tu przecież między innymi chodzi. Nie sztuka jest zrobić proga który zaprogramuje uład ale tylko raz bo po tej czynności układ nadaje się już do śmietnika.
Udanej walki z PROGIEM
Kurde ale się rozpisałem, chyba przesadzilem z propozycjami.
Piotr