Microcontrollers zijn kleine computer-on-a-chip-apparaten die geprogrammeerd kunnen worden om verschillende elektronische toepassingen te besturen. Ze bevatten meestal een microprocessor, geheugen en input/output (I/O) randapparatuur op een enkele geïntegreerde schakeling. Ze worden vaak gebruikt in embedded systemen, zoals apparaten, auto's en industriële besturingssystemen, waar een klein, energiezuinig systeem nodig is om eenvoudige besturingstaken uit te voeren.
AVR en PIC zijn beide soorten microcontrollers, maar ze zijn ontwikkeld door verschillende bedrijven en hebben enkele belangrijke verschillen.
AVR is een familie van microcontrollers ontwikkeld door Atmel (nu eigendom van Microchip). AVR microcontrollers staan bekend om hun kleine formaat, laag stroomverbruik en hoge prestaties. Ze gebruiken een RISC-instructieset en hebben een verscheidenheid aan randapparatuur zoals timers, ADC's en seriële communicatie-interfaces. Ze worden veel gebruikt in hobbyprojecten en kleinschalige industrieën vanwege de lage kosten en het gebruiksgemak met C-taal.
PIC daarentegen staat voor Peripheral Interface Controller en is een familie van microcontrollers ontwikkeld door Microchip Technology. PIC-microcontrollers worden veel gebruikt in industriële besturingssystemen, automobieltoepassingen en huishoudelijke apparaten vanwege hun flexibiliteit en energie-efficiëntie. Ze zijn meestal geprogrammeerd in assembleertaal en hebben een Harvard-architectuur.
Kortom, AVR wordt over het algemeen beschouwd als gebruiksvriendelijker en beter geschikt voor hobbyprojecten en kleinschalige toepassingen, terwijl PIC's over het algemeen krachtiger en beter geschikt zijn voor industriële en commerciële toepassingen.
Het programmeren van een microcontroller omvat meestal de volgende stappen:
Opmerking: de stappen kunnen variëren, afhankelijk van de microcontroller en de programmeersoftware die je gebruikt. Er zijn ook enkele microcontrollers die via de ether kunnen worden geprogrammeerd met WiFi- of Bluetooth-verbindingen.