PIC microcontroller tutorial

Gepost door Bastiaan Steenbergen op donderdag 4 december 2003

Inleiding

Bij deze microcontroller tutorial willen we je leren hoe je een microcontroller kunt programmeren en gebruiken. We hebben hiervoor een stuk theorie geschreven om je de basisbeginselen van de microcontrollers te leren. Daarnaast hebben we een praktijk gedeelte wat is opgebouwd rond een project, zodat je zelf thuis kunt experimenteren met een echte microcontroller.

Er is gekozen voor een microcontroller van het merk Microchip van het type PIC16F84A. De reden voor deze keus is omdat het een redelijk simpele maar toch veelzijdige controller is. Makkelijk te leren en je kunt er een hoop mee.

We hopen dat je er veel van zult leren en dat je veel plezier zult gaan beleven met het gebruik van microcontrollers. Er gaat een wereld voor je open zodra je er mee kennis hebt gemaakt.

Wat is een microcontroller?

Een microcontroller is een digitaal IC dat volledig programmeerbaar is en taken kan verrichten. Het bevat een klein geheugen waarin je je eigen data kunt programmeren. De chip zal, als die wordt ingeschakeld, het door jouw geschreven programma uitvoeren. In het vervolg zal het woord microcontroller worden afgekort als µC.

Wie maken ze?

Er zijn verschillende fabrikanten die deze µC's maken, om er een paar te noemen: Motorola, Atmel en Microchip. Maar er zijn er nog veel meer. Wij gebruiken er eentje van Microchip. Zodra je redelijk bekend bent met deze µC dan zul je weinig moeite ondervinden bij het leren van een andere, aangezien de techniek en werking van de meeste types op elkaar lijkt.

Welke types zijn er?

Er bestaan veel verschillende types. Elk met hun eigen karakteristieken en functionaliteiten. Zo zijn er die alleen normale I/O poorten hebben, maar zijn er ook die speciale, zoals A/D converters of RS232 poorten, bevatten. Veel types kun je onderbrengen in een groep omdat ze dezelfde functies bevatten, deze groep noemen ze dan een familie. Elke chip in zo'n familie heeft dan bepaalde eigenschappen gemeen met de rest. Het verschil zit hem dan in de extra functies/opties die sommige dan weer bevatten. Zo kan binnen een groep alleen het aantal RAM geheugen dat beschikbaar is bijvoorbeeld verschillen.

Voordelen

Er zijn veel voordelen om een µC te gaan gebruiken. Zo kun je volledig zelf bepalen wat een stukje elektronica moet doen, en in welke volgorde. Wil je later de uitvoering wijzigen dan hoef je alleen de chip eruit te halen, opnieuw te programmeren, en er weer in te plaatsten. Ook het testen is zeer gemakkelijk. Een ander voordeel is dat je veel functionaliteit krijgt en er weinig ruimte voor hoeft in te leveren op je printplaat. Het IC wat wij gebruiken zit in een DIP behuizing van 18 pinnen. Er is zelfs nog een SMD versie te koop die al helemaal weinig ruimte inneemt.

Nadelen

Er zijn veel voordelen bij µC's maar ook nadelen. Zo moet je redelijk wat kennis hebben van digitale techniek. Zowel op hard- als software gebied. Ook moet je moet beschikken over een stuk hardware waarmee je de µC kunt programmeren, oftewel waarmee je het geschreven stuk software in het IC laad. Op zich niet zo'n probleem maar de benodigde officiële hardware van de fabrikant kost zeer veel geld. Voor de hobbyist zou dit een belemmering kunnen vormen. Toch is dit maar een relatief klein nadeel omdat er op internet schema's van programmeerhardware zijn te vinden waarmee je ook je controller kunt programmeren. Ook de compilers en simulators die je nodig hebt kunnen voor redelijk wat kosten leiden. Toch zijn deze ook wel gratis op het internet te vinden.