Programmeren van de microcontroller
We hebben in het vorige deel een aantal software pakages geinstalleerd, met name de Pickit 2 progammer en de Great Cow Basic compiler. Wat nog ontbrak was de gratis MPLAB assembler to HEX compiler. Die vindt u hier (MPLAB IDE). Met deze tools kunnen de volgende stappen worden doorlopen:
1. Basic programma in Great Cow zodat in begrijpelijke taal is te bepalen wat de microcontroller doet
2. Compilatie naar assembler (.asm file)
3. Compilatie naar HEX (mbv MPLAB)
4. Programmering van de HEX file mbv de programmer (mbv Pickitt2)
Hieronder de output van de MPLAB IDE, hoe van .asm naar .hex te komen leest u hier, u dient eerst het juiste device te selecteren (configure>select device), daana projec>quickbuild
Daarna is het de beurt aan de Pickit2 software om te programmeren, dwz pickit 2 opstarten, hex importeren en write doen. Daarna kan men door Pickit2 en de programmer uit en weer aan te schakelen (programmer uit de USB port) controleren of eea heeft gewerkt, namelijk door een read te doen en te kijken of de hex code de nieuwe code is. Dat is het geval. Dus de huidige combinatie van hardware en software stelt ons in staat om ons te focussen op de software.
We hebben een test programmatje geschreven om een van de uitgangen van de pic 18 aan en uit te schakelen zodat we met een LED kunnen testen of we alles goed snappen. We gebruiken hier een editor voor de gratis crimson editor.
;Chip Settings
#chip 16F628A,18
dir PORTA.0 OUT
;Main Routine
Main:
set PORTA.0 ON
wait 1 sec
set PORTA.0 OFF
wait 1 sec
goto Main
Om te compileren moet de file met de .gcb extensie opgeslagen worden en vervolgens (ja het is nog even omslachtig) in de great cow compiler gedropt worden (dus naar de great cow icon slepen in de directory en loslaten). Dan wordt er een .asm file aangemaakt die met MPLAB kan worden geopend.
Met gebruikmaking van de datasheet van de pic 16f628a kunnen we nagaan hoe we deze moeten aansluiten. Hiervoor gebruiken we een gestabiliseerde vodeing van 5 volt die we maken volgens het picaxe manual pagina 25.
We gebruiken deze microcontroller, maar schakelen misschien nog op een ander model over. Er zijn veel verschillende types met verschillende functies en capaciteiten.
Op het breadboard ziet dat er uit als hieronder. Hier ook een filmpje van het resultaat.