Nic nie napisałeś odnośnie ustawień portu LPT w BIOSie. Ten programator jest dosyć kapryśny.
W razie problemów, należy zmienić w BIOS'ie tryb pracy portu równoległego na "Bi-Directional". System Windows XP może sprawdzać co jakiś czas, czy do portu równoległego nie podłączono drukarki. Sprawdzanie to może powodować nieprawidłową pracę programatora, podłączonego do tego portu. Aby wyłączyć ciągłe sprawdzanie portu równoległego, należy zmodyfikować następującą wartość
w rejestrze systemowym:
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Parport\Parameters]
"DisableWarmPoll"=dword:00000001
Zmiana ta wymaga ponownego uruchomienia komputera, ale dzięki niej Windows XP sprawdzi obecność drukarki tylko raz, podczas startu systemu (nie wykryje automatycznie drukarki, podłączonej do portu LPT już po załadowaniu systemu). Aby włączyć ciągłe sprawdzanie portu LPT, należy temu kluczowi ustawić wartość 0 i zrestartować komputer.
Jeżeli chodzi o te "inverty", to nie wiem jak w innych programach, ale konfiguracja
IC-Prog powinna być następująca:
Program nie wymaga instalacji, a po jego pierwszym uruchomieniu pojawia się okno "Hardware settings", w którym z rozwijalnej listy "Programmer" wybieramy pozycję "TAIT Serial Programmer", w grupie "Interface" zaznaczamy pole"Direct I/O",
w grupie "Ports" zaznaczamy pole z numerem portu równoległego, do którego jest podłączony programator, a w grupie "Communication" zaznaczamy pola "Invert Data Out", "Invert Data In" oraz "Invert Clock". Suwak "I/O Delay (xx)" służy do ustawiania czasu opóźnienia transmisji danych i w razie błędów programowania, należy zwiększyć jego wartość. Okno zamykamy naciskając przycisk "OK". Później to okno można ponownie otworzyć, wybierając z menu "Settings" pozycję "Hardware" lub naciskając przycisk [F3].
Programator można wstępnie przetestować. W tym celu z menu "Settings" wybieramy pozycję "Hardware Check". W nowym oknie "Hardware Check" w grupie "Signals Out" znajdują się pola wyboru. Zaznaczając te pola aktywuje się odpowiednie sygnały programujące na złączu ICSP programatora. Zaznaczenie pola "Enable MCLR" powoduje pojawienie się napięcia programującego (13V) na pinie nr 1 złącza ICSP i jednoczesne zaświecenie czerwonej diody LED. Zaznaczenie pola "Enable Data Out" lub "Enable Clock" powoduje pojawienie się wysokiego stanu logicznego (5V) na pinie, odpowiednio nr 7 lub 9 złącza ICSP. Jest jeszcze pole "Enable VCC", które w założeniu włącza/wyłącza napięcie zasilające 5V.
Przed rozpoczęciem programowania, należy dokładnie wybrać model mikrokontrolera z rozwijalnej listy lub z menu "Settings/Device/Microchip PIC". Następnie można już wykonywać takie operacje, jak: odczyt/zapis/weryfikacja, sprawdzenie czystości, czy kasowanie pamięci mikrokontrolera. Większą część okna programu zajmują przewijalne pola edycyjne (bufory), które zawierają dane odczytane z pamięci FLASH/EEPROM mikrokontrolera i jednocześnie dane do zaprogramowania. Wartość każdej komórki pamięci w buforze można dowolnie modyfikować. Do buforów można również wczytać dane z plików w różnych formatach (w tym HEX). Po prawej stronie okna znajdują się dane konfiguracyjne (Config word) odczytane z mikrokontrolera, które można modyfikować i następnie
zaprogramować.
Myślę, że te opisy (pozyskane z sieci i sprawdzone osobiście) trochę rozwieja Twoje wątpliwości.