Programator mikrokontrolerów AVR może występować w jednym z dwóch rodzajów: szeregowy (zwany też ISP od „In SystemProgramming„) i równoległy. Ze względu na łatwość budowy, zaprezentuję tu najprostszy programator ISP (choć właściwie nazwać to „programatorem” to już nadużycie) współpracujący z portem drukarki (LPT).
Złącze ISP
Firma Atmel ustanowiła własny standard łącza ISP zaprezentowany na rysunku obok. W każdej dokumentacji do procesora AVR znajdziecie informację, na których nóżkach procesora są potrzebne sygnały (jest to standardowa terminologia interfejsu szeregowego SPI, brakuje tylko sygnału SELECT/CS):
- !RESET – sygnał zerowania procesora, inicjalizuje cykl programowania,
- SCK - Serial ClocK, takt zegara szeregowego podawany z komputera do mikrokontrolera
- MISO - Master In Slave Out, dane szeregowe przesyłane z mikrokontrolera do komputera,
- MOSI - Master Out Slave In, dane szeregowe przesyłane z komputera do mikrokontrolera,
- GND - GrouND, poziom masy
- Vcc – zasilanie podawane od układu z mikrokontrolerem do programatora. U nas „programator” nie wymaga zasilania, więc sygnał jest nieużywany.
Kabel programujący
Do konstrukcji kabla potrzebujemy kilku elementów:
- Wtyczka męska DB25 do portu równoległego
- 3 rezystory 330 ohm
- 1 rezystor 100 ohm
- Kabel z wtyczką do układu docelowego.
Biorąc pod uwagę, że w naszym kablu tak naprawdę mamy 4 sygnały+masa, to możemy użyć skrętki komputerowej z wtyczką zaciskaną spinając wszystkie żyły biały-kolor do masy i puszczając sygnały żyłą kolorową. Wtedy w docelowym układzie stosujemy po prostu gniazdko ethernetowe.
Połączenia – kabel typu „AVRISP-LPT”
Wykonujemy następujące połączenia:
- Pin 2 wtyczki DB25 przez rezystor 330 ohm do styku SCK gniazda ISP.
- Pin 3 wtyczki DB25 przez rezystor 330 ohm do styku MOSI gniazda ISP.
- Pin 4 wtyczki DB25 przez rezystor 330 ohm do styku !RESET gniazda ISP.
- Pin 11 wtyczki DB25 przez rezystor 100 ohm do styku MISO gniazda ISP.
- Pin 9 wtyczki DB25 na krótko do pinu 12 wtyczki DB25.
- Piny 18-25 wtyczki DB25 połączyć razem do styku GND gniazda ISP.
Połączenia – kabel typu „STK200 ISP dongle”
Wykonujemy następujące połączenia:
- Pin 2 wtyczki DB25 na krótko do pinu 12 wtyczki DB25.
- Pin 3 wtyczki DB25 na krótko do pinu 11 wtyczki DB25.
- Pin 6 wtyczki DB25 przez rezystor 330 ohm do styku SCK gniazda ISP.
- Pin 7 wtyczki DB25 przez rezystor 330 ohm do styku MOSI gniazda ISP.
- Pin 9 wtyczki DB25 przez rezystor 330 ohm do styku !RESET gniazda ISP.
- Pin 10 wtyczki DB25 przez rezystor 100 ohm do styku MISO gniazda ISP.
- Piny 18-25 wtyczki DB25 połączyć razem do styku GND gniazda ISP

The Programator AVR ISP by Paweł Kraszewski, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Poland License. Terms and conditions beyond the scope of this license may be available at linuxpedia.pl.