-------
Prosty programator układów Microchip PIC 16F84A, 16F819, 16F677 i innych

Mikrokontrolery firmy Microchip to układy o bardzo dużych możliwościach, które znajdują zastosowanie w wielu urządzeniach profesjonalistów i hobbystów. Dla hobbystów bardzo ważną sprawą jest znalezienie prostego programatora. Ten krótki artykuł opisuje sprawdzone rozwiązanie, przetestowane na układach 16F84A, 16F819 i 16F677.

Układy Microchip posiadają możliwość "programowania w obwodach" (ICSP - In circuit serial programming) czyli programowania bez demontażu z płytki, w którym układ jest zamontowany. Tą cechę wykorzystują proste programatory. Jednym z najbardziej znanych hobbystycznych programatorów jest JDM i jego pochodne (http://www.jdm.homepage.dk/newpic.htm). Wśród opisanych na powyższej stronie programatorów znajdziemy również uproszczoną wersję, opisaną jako programator do układów 16C84. Na szczęście można nim programować znacznie więcej układów!

Podstawą do opracowania opisywanego programatora był następujący schemat ze strony JDM:

Schemat uproszczonego programatora układów Microchip
Rys. 1. Schemat uproszczonego programatora JDM.

Dostosowanie tego schematu do bardziej współczesnych układów typu 16F84A, 16F819 i 16F677 polegało tylko na doprowadzeniu sygnałów elektrycznych do odpowiednich wyprowadzeń w mikrokontrolerach. Do zaprogramowania konieczne jest doprowadzenie sygnałów do 5 wyprowadzeń:

- napięcie zasilania Vss i Vdd
- napięcie programujące Vpp
- dane programowania PGD
- zegar programowania PGC

Układy 16F84A i 16F819 posiadają 18 wyprowadzeń. W tym przypadku zasilanie podłączamy do wyprowadzeń 5 i 14, napięcie programujące do wyprowadzenia 4, dane prgramowania do 13 i zegar programowania do 12.

Schemat wyprowadzeń układu 16F819
Rys. 2. Rozmieszczenie wyprowadzeń potrzebnych do programowania układu na przykładzie 16F819.

Dla układu 16F677 posiadającego 20 wyprowadzeń rozmieszczenie końcówek potrzebnych do programowania jest nieco inne:

Schemat wyprowadzeń układu 16F677
Rys. 3. Rozmieszczenie wyprowadzeń potrzebnych do programowania układu na przykładzie 16F677.

Aby zbudować uniwersalny programator do tych trzech typów układów wystarczy połączyć odpowiednie wyprowadzenia według poniższego schematu:

Schemat uniwersalnego programatora do układów 16F84A, 16F819 i 16F677
Rys. 4. Schemat uniwersalnego programatora do układów 16F84A, 16F819 i 16F677

Programator można zbudować na miniaturowej płytce uniwersalnej, która mieści gniazdo RS-232, wszystkie elementy oraz 20-nóżkową podstawkę do programowania układów:

Gotowy programator do układów Michrochip 16F84A, 16F819 i 16F877

Gotowy programator do układów Michrochip 16F84A, 16F819 i 16F877
Rys. 5 i 6. Widoki gotowego programatora na miniaturowej płytce uniwersalnej.

Programowanie

Do programowania najlepiej stosować WinPic - Pic Programmer dostępny na stronie http://www.qsl.net/dl4yhf/winpicpr.html. Oprogramowanie umożliwia prosty wybór mikrokontrolera. Lista mikrokontrolerów jest bardzo bogata, ale niestety brakuje w niej układu 16F677. Aby zaprogramować ten układ należy wybrać 16F684, który ma identyczną mapę pamięci. Programowanie w tych ustawieniach zostało przetestowane i dział bez zarzutu!

Oczywiście wszelkie prace czytelnik wykonuje na własną odpowiedzialność!

Dodatkowe informacje (wszystkie w jęz. angielskim):

Mikrokontrolery (i nie tylko) Microchip

Opracował: Marek Sawistowski; wersja 1.0; 29.09.2012
-------