Prawie w każdej dziedzinie życia codziennego bardzo ważną rolę odgrywają systemy wbudowane – zarówno w inteligentnych instalacjach domowych, automatyce przemysłowej, sprzęcie RTV/AGD, jak i w systemach informacji pasażerskiej, aparaturze pomiarowej czy też w elektrycznych instrumentach muzycznych. Sercem, a zarazem mózgiem każdego systemu wbudowanego jest mikroprocesor lub mikrokontroler – niewielki, mieszczący się w dłoni układ elektroniczny, którego zadaniem jest odczyt danych z pamięci i wykonywanie szeregu instrukcji i rozkazów zgodnie z algorytmem, którego odzworowaniem jest kod programu wgranego do pamięci mikrokontrolera. Obok takich układów scalonych jak AVR Atmega spotykanych w płytkach Arduino i kompleksowych zestawach uruchomieniowych również często można spotkać mikrokontrolery PIC produkowane przez firmę Microchip. Są to uniwersalne układy scalone do prototypowania rozmaitych aplikacji wbudowanych, a ponadto znakomicie nadają się do nauki programowania mikrokontrolerów dla osób początkujących.

Mikrokontrolery PIC – znakomity fundament pod projekty programowalnych urządzeń elektronicznych 

Mikrokontrolery PIC to jedne z najmniejszych programowalnych układów scalonych, które mogą być wykorzystane w bardzo szerokim zakresie aplikacji sprzętowych i są one obecne na rynku elektroniki od blisko trzydziestu lat. W pierwotnym założeniu powstawały jako układy przeznaczone do zarządzania urządzeniami peryferyjnymi komputerów PDP klasy mainframe. Największymi zaletami mikrokontrolerów PIC są wysoka niezawodność, znakomite funkcjonowanie, korzystna cena, wysoka uniwersalność, a także w porównaniu do innych mikrokontrolerów jednoukładowych znacznie ułatwione programowanie i debuggowanie.  Współcześnie te małe układy elektroniczne można spotkać w wielu urządzeniach, jakie spotykamy w życiu codziennym, takich jak np. telefony komórkowe, systemy alarmowe, obrabiarki CNC, komputerowe systemy sterowania w fabrykach, a nawet w automatach spawalniczych i innych aplikacjach elektroniki profesjonalnej, podobnie jak ma się to w przypadku mikrokontrolerów ARM rodziny STM32.

Mikrokontrolery PIC – podstawy obsługi

Aby zaprogramować mikrokontroler od zera, np. w języku C bez stosowania uproszczonej składni (tak jak ma to miejsce w przypadku modyfikacji składni języka C/C++ w środowisku Arduino IDE), niezbędna jest znajomość jego budowy sprzętowej obejmującej takie bloki jak rejestry, szyny adresowe, pamięci czy też układy peryferyjne, które są precyzyjnie omówione w nocie aplikacyjnej. Zrozumienie podstaw języka programowania oraz wybór właściwego środowiska programistycznego z dodatkowymi narzędziami, znacząco ułatwia i przyspiesza proces programowania mikrokontrolera. Podobnie jak w przypadku mikrokontrolerów AVR, ale także znaczącej większości współcześnie produkowanych procesorów mikrokontrolery PIC są projektowane według architektury harwardzkiej, która została spopularyzowana wraz z wprowadzeniem na rynek mikrokontrolera 8051 przez firmę Intel – układ ten jest również produkowany współcześnie przez firmę Microchip. W architekturze harwardzkiej istnieją dwa bloki pamięci – pierwszy z nich przechowuje rozkazy wykonywane zgodnie z kodem programu, a drugi – dane, które są pobierane do programu. Takie rozwiązanie można porównać do podstawiania danych liczbowych (pobieranych z pamięci) do wzoru matematycznego, którego budowa jest odpowiednikiem instrukcji wykonania rozkazu przez procesor. Pamięci FLASH, ROM i RAM (a także SRAM) są wbudowane w wewnętrzną strukturę układu mikrokontrolera PIC. Ponadto na jego wyposażeniu znajdują się także układy peryferyjne w postaci przetwornika analogowo-cyfrowego z multiplekserem do przełączania między wejściami przetwornika, timery i liczniki odpowiedzialne za przerwania i generowanie przebiegu prostokątnego o zmiennym wypełnieniu (PWM), programowalne wejścia/wyjścia cyfrowe spełniające standard napięć zgodny z poziomem logicznym układów TTL (5V), układ watchdog nadzorujący prawidłowe funkcjonowanie układu, a także wyprowadzenia do podłączenia zasilania pomocniczego mikrokontrolera. Aby wgrać program na mikrokontroler PIC, niezbędne jest oprogramowanie w postaci środowiska programistycznego z kompilatorem kodu, który konwertuje kod programu do plików z rozszerzeniem .hex, a także sprzętowy programator z debuggerem, który stanowi pomost komunikacyjny między komputerem a mikrokontrolerem.