I microcontrollori sono piccoli dispositivi computer-on-a-chip che possono essere programmati per controllare una varietà di dispositivi elettronici. In genere includono un microprocessore, memoria e periferiche di ingresso/uscita (I/O) su un singolo circuito integrato. Sono comunemente usati nei sistemi integrati, come elettrodomestici, automobili e sistemi di controllo industriale, dove è necessario un piccolo dispositivo a bassa potenza per eseguire semplici attività di controllo.
AVR e PIC sono entrambi tipi di microcontrollori, ma sono sviluppati da aziende diverse e presentano alcune differenze fondamentali.
AVR è una famiglia di microcontrollori sviluppata da Atmel (ora di proprietà di Microchip). I microcontrollori AVR sono noti per le loro dimensioni ridotte, il basso consumo energetico e le elevate prestazioni. Usano un set di istruzioni RISC e dispongono di una varietà di periferiche come timer, ADC e interfacce di comunicazione seriale. Sono ampiamente utilizzati in progetti di hobby e piccole industrie a causa del basso costo e della facilità d'uso con il linguaggio C.
PIC, invece, sta per Peripheral Interface Controller ed è una famiglia di microcontrollori sviluppata da Microchip Technology. I microcontrollori PIC sono ampiamente utilizzati nei sistemi di controllo industriale, nelle applicazioni automobilistiche e negli elettrodomestici grazie alla loro flessibilità ed efficienza energetica. Sono tipicamente programmati in linguaggio assembly e hanno un'architettura Harvard.
In breve, l' AVR è generalmente considerato più facile da usare e più adatto per progetti di hobby e applicazioni su piccola scala, mentre i PIC sono generalmente più potenti e più adatti per applicazioni industriali e commerciali.
La programmazione di un microcontrollore prevede in genere i seguenti passaggi:
Nota: i passaggi possono variare a seconda del microcontrollore e del software di programmazione in uso. Inoltre ci sono alcuni microcontrollori che possono essere programmati via etere con connessioni WiFi o Bluetooth.