1 - Telenet Users

advertisement
Digitale technieken : werken met digitale in- en uitgangen
-DV 1-
1. Pic micro’s
1.1. Wat is een microcontroller ?
De naam PIC, Peripheral Interface Controller, verwijst naar een groep van microcontrollers,
geproduceerd door een Amerikaanse firma : Arizona Microchip. Andere “merken” van
microcontrollers zijn de AVR-microcontroller, de ATMEL-microcontroller enz. Ook bekende merken
zoals Philips, Sony, Mitshubishi, hebben hun eigen microcontroller.
Een microcontroller is een IC dat gebruikt wordt om andere elektronische toestellen te besturen. Je
vindt ze terug in verschillende toestellen. Bv. huishoudtoestellen zoals de microgolfoven,
automatische koffiezet, de snoepautomaten op school, je GSM, digitale camera’s enz. Ook de motor
van een auto wordt erdoor gestuurd, vandaar het zogenaamde “chip”-tunen: door de gegevens in de
microcontroller of het programma te veranderen, kunnen we de motor meer vermogen laten leveren.
Zolang de mechaniek van de motor dit aankan is er geen vuiltje aan de lucht (of misschien toch wel:
door het vermogen van de motor op te voeren zal hij wel wat meer verbruiken en dus meer vervuilen).
Kortom : alle toestellen die elektronisch gestuurd worden bevatten heden ten dage bijna zeker een
microcontroller.
Wat is er nu zo speciaal aan een microcontroller ?
Waar een ‘gewone’ PC een aparte processor heeft, met daarnaast geheugen en aparte in- en
uitgangspoorten zijn al deze functies bij een microcontroller vervat in een IC, allemaal op dezelfde
chip, vandaar de naam microcontroller, het is een mini – computer.
Onderstaande figuren tonen enkele toepassingen met een microcontroller. Geef zelf wat uitleg.
4e Elektriciteit-elektronica
Basiselektronica
Digitale technieken : werken met digitale in- en uitgangen
-DV 2-
1.2. Blokkenschema van een PIC.
Bovenstaande figuur toont het blokkenschema van een PIC. Het grijze gedeelte zit bevat in het IC.
De belangrijkste onderdelen van de PIC zijn:
-
-
-
-
de CPU : dit is het hart van het systeem: de CPU kan o.a. bewerkingen (+ - * / …..) uitvoeren,
logische beslissingen nemen (als op de drukknop geduwd wordt, dan moet een aangesloten
motor draaien), …
de snelheid waarmee dit gebeurt, wordt bepaald door de clock (klok). De klok stuurt
elektrische pulsen naar de CPU, hoe sneller de klok dit doet , hoe sneller de CPU werkt.
Vergelijk het gerust met de kloksnelheid in een moderne computer
in het geheugen (memory) wordt het programma opgeslagen en gegevens bewaard. We
onderscheiden :
o programma geheugen : daar wordt het programma opgeslagen
o data geheugen : tijdens de uitvoering van een programma zal de CPU bepaalde
gegevens moeten onthouden , bv. als we aan een toepassing met een microgolfoven
denken, dan zal de ingestelde tijd dat iets mag duren moeten onthouden worden, de
ingestelde temperatuur, ingesteld vermogen ….
via de poorten (port) kan de CPU gegevens inlezen (kijken op een schakelaar open of dicht is,
temperatuur inlezen, het geluid van een microfoon inlezen) of apparaten aansturen : een led
doen oplichten, een aangesloten motor doen draaien, geluid naar een luidspreker sturen.
Som hieronder op welke ‘apparaten’ we aan het IC kunnen aansluiten als input:
Drukknoppen, sensoren (lichtsensor, temperatuursensor, microfoon), toetsenbord
Welke apparaten kunnen we aansluiten als output ?
Led’s, lcd scherm, zoemer, luidspreker, motor
Let wel : dit is slechts een beperkte opsomming !!
4e Elektriciteit-elektronica
Basiselektronica
Digitale technieken : werken met digitale in- en uitgangen
-DV 3-
1.3. Wat is een programma ?
Microcontrollers moeten geprogrammeerd worden. Dan doen ze exact wat ze geprogrammeerd zijn,
niets meer en niets minder ! Een programma is een lijst van instructies samen met zogenaamde data
die nodig is om het programma uit te voeren.
Spijtig genoeg is de taal van een microcontroller geen Nederlands. De enige taal die de
microcontroller begrijpt is de taal van enen en nullen. Het probleem is nu dat wij die taal niet zo goed
begrijpen.
We kunnen dit oplossen op twee manieren : we kunnen ons programma schrijven in het Nederlands of
iets dat daarop trekt, een zogenaamde programmeertaal. Enkele gekende programmeertalen zijn
BASIC, C-, JAVA, VISUAL BASIC, PASCAL ….
Eens ons programma geschreven , hebben we iets nodig die ons programma vertaalt naar enen en
nullen. We noemen dit een compiler. Een compiler zet ons programma om in enen en nullen die de
microcontroller begrijpt.
In de tweede graad schrijven wij ons programma in de zogenaamde “flowcode”-taal. Het is geen echte
programmeertaal maar een taal waarin wij op een grafische manier “vertellen” wat de microcontroller
moet doen.
De naam van flowcode komt van flowchart. Een flowchart vertelt op een grafische manier hoe een
programma werkt.
Voorbeeld van een flowchart :
Neem een ballon
Stop het uiteinde
in je mond
Blaas tot de ballon
voldoende groot is
Leg een knoop in
het uiteinde
Zoals je ziet legt een flowchart vast hoe en in welke volgorde iets moet gebeuren. Op een analoge
manier zullen we onze microcontroller programmeren.
Een ander voorbeeld : Onderstaande flowchart is een ietwat uitgebreider voorbeeld. Het handelt
over een “programma” hoe we thee moeten zetten.
4e Elektriciteit-elektronica
Basiselektronica
Digitale technieken : werken met digitale in- en uitgangen
-DV 4-
We starten met “begin”. Het eerste wat we ons
afvragen is of we genoeg water in de
waterverwarmer hebben. Indien niet (NO) dan
voegen we water toe totdat het antwoord gelijk
wordt aan ja (Yes).
Nu kunnen we de waterverwarmer aanzetten
We doen een theebuiltje in de theepot.
Kookt het water ? Indien nee wachten we totdat
het water kookt.
Indien het antwoord ja is, dan zetten we de
verwarmer af.
We gieten het hete water in de theepot.
Ook hier is stap voor stap beschreven wat er moet gebeuren, ook zien we dat we op een flowchart
beslissingen (ja of nee) kunnen voorstellen.
Op een analoge wijze zullen we onze microcontroller programmeren. Via een flowchart gaan we de
microcontroller precies “vertellen” wat hij moet doen.
4e Elektriciteit-elektronica
Basiselektronica
Digitale technieken : werken met digitale in- en uitgangen
-DV 5-
1.4. De microcontroller en zijn in- en uitgangen.
We vertelden reeds dat een microcontroller in- en output poorten heeft.
Afhankelijk van het type microcontroller kan deze verschillende poorten
bevatten. Deze poorten hebben een naam. Ze zijn genummerd volgens het
alfabet.
Nevenstaande microcontroller met nummer 16F84 heeft twee poorten :
poort A met 5 in- of uitgangen, poort B met 8 in- of uitgangen. Of een pin inof uitgang is, wordt bepaald door het programma.
Aan een pin kunnen zowel schakelaars, als sensors, led’s, motors, ….
aangesloten worden.
Onderstaande figuur geeft een voorbeeld van 8 led’s aangesloten op een microcontroller.
In het volgende deel leren we hoe we de microcontroller moeten programmeren zodat de led’s
oplichten volgens een gewenst patroon.
4e Elektriciteit-elektronica
Basiselektronica
Download