 |
 |
 |
 |
|
PICmicro microcontrollers.
Het eerste deel van deze site handelt over het programmeren van PICmicro microcontrollers met de taal basic. Dit is de meest eenvoudige methode om relatief snel zo'n klein microcontrollertje te programmeren. Ga meteen naar: PICBASIC PRO. Ga meteen naar: PROTON PICBASIC.
Programmer. Als programmer gebruiken we de WISP628 van Wouter van Ooijen. Dit is een lowcost programmer (ong. 20 euro ongebouwd en 30 euro gebouwd) die haast alle typen picmicro's kan programmeren. Hier zullen we uitgebreid behandelen hoe deze programmer gebruikt kan worden binnen zowel PicBasic(Pro) en Proton(+) compilers met de Python software. Ga meteen naar: PYTHON software of naar het MCUnit PIC team. Ga meteen naar: WISP628. Ga meteen naar: ZeroPinLoader. voor 18Fxxx type (bijv. 18F252)
|
|
|
|
|

Diskette en manual die bij PicBasic (Pro) van micro engineering labs geleverd wordt.
|
|
PicBasic(Pro).
We citeren eerst even de fabrikant. Hij weet, als geen ander, hoe simpel het is om een klein programmaatje in zijn taal te schrijven.
The PicBasic Pro Compiler is the easiest way for you to program the fast and powerful Microchip Technology PICmicro microcontrollers. PicBasic Pro converts your BASIC programs into files that can be programmed directly into a PICmicro MCU. The PicBasic Pro Compiler features: BASIC Stamp II commands, direct and library routine access to pins on PORTA, C, D, E, as well as PORTB, arrays, real IF..THEN..ELSE and interrupt processing in BASIC.
|
|
|
De installatie van PicBasicPro.
We gaan er hier vanuit dat u PicBasic of PicBasic Pro gebruikt mat MicroCode Studio Plus. Dit is de meest comfortabele configuratie en de meeste mensen schaffen dat aan. Tevens gaan we er hier vanuit dat u de MPLabs, freeware, software gebruikt om de ASM bestanden te vertalen naar HEX bestanden. Dit hoeft niet perse als u het type 18Fxxx niet gebruikt.
Maak eerst op uw harddisk een subdirectorie aan, bijv: PicBasic, waar u alle software gaat installeren. De meeste setup programma's dumpen het willekeurig op uw harddisk en dat kan leiden tot hele vervelende consequenties. Houd ook de Ms-Dos standaard aan en vermeid lange pathnamen en heel belangrijk, gebruik geen spaties in de bestand- en pathnamen.
PicBasic(Pro) versie 24x. (Pro staat voor de uitgebreidere versie.) Installeer deze software in de subdirectorie PicBasic onder de naam PB244 of PBP244. Onthoud deze locatie, want we moeten hier later nog een keertje zijn.
MPLAB6xx software van MicroChip. Installeer ook deze software, compleet, in de subdirectorie C:\PicBasic onder de naam MPLAB. U heeft naar deze software verder geen omkijken, zolang de fabrikant geen nieuwe chips uitbrengt.
MicroCode Studio Plus. Dit software pakket bevat niet alleen een prachtige editor, maar wordt ook gebruikt als shell voor het compileren van uw tekstbestand naar HEX (BAS naar ASM en ASM naar HEX) door respectievelijk de PicBasic en MPASM of ingebouwde compiler. Ook het uploaden via een programmer kan vanuit dit programma geregeld worden. Hoe dat gaat met de WISP628 leest u later op deze pagina.
Aanwijzen van de locaties van compilers en programmer. Wanneer u op het submenu [Opties] klikt, welke onder de tab [View] zit in het hoofdmenu, kunt u de programmatuur en de subdirecties opgeven waar ze zich bevinden op uw systeem.
1. Basic compiler. De basic compiler bevindt zich op de locatie C:\PicBasic\PBP24x. 2. Assembler. De compiler om de assembler om te zetten naar een hex bestand zit in C:\PicBasic\MPLAB. U kunt de externe compiler wel uitschakelen als u geen 18Fxxx typen gebruikt. 3. Programmer. Wanneer u de WISP628 wil gaan gebruiken dan moet u eerst de installatie van Python uitvoeren die later op deze bladzijde uitvoerig wordt besproken.
Hoe u andere programmers, zoals EPicWin of MeLabs moet installeren en welke hardware u daarvoor nodig heeft wordt hier niet besproken, simpelweg omdat we die niet hebben. Wij behandelen hier alleen de WISP628 loader van Wouter van Ooijen. (Zie tab LINKS voor website)
Ons eerste programma (voorbeeld BLINK.bas).
We laden uit C:\PicBasic\PB24x\samples het programma "BLINK.bas" op de windows manier.
' Example program from manual to blink an LED ' connected to PORTB.0 about once a second
Define OSC 20 ' XTal oscillator standaard 4
loop: High 0 ' Turn on LED connected to PORTB.0 Pause 500 ' Delay for .5 seconds
Low 0 ' Turn off LED connected to PORTB.0 Pause 500 ' Delay for .5 seconds
Goto loop ' Go back to loop and blink forever End
U zult zich u nu meteen afvragen!!!! , werkt dit ook meteen ??? Nee, was het maar waar. U moet drie zaken nog weten. a. Welke type processor ga ik hiervoor gebruiken. b. Welke kloksnelheid ga ik gebruiken. c. Wat voor type kristal wordt er gebruikt. De eerste twee zijn simpel. Het type kunt u opgeven achter de target processor en de klok snelheid van uw kristal zet u boven Loop: Define OSC 20 ' XTal oscillator etc. Omdat we hier een HS_Xtal gebruiken ipv XT_Xtal moeten we wel een mutatie doorvoeren in een van de systeem bestanden die de gebruikt wordt bij het compileren.
Aanpassen included bestand van PicBasic. In de subdirectorie C:\PicBasic\PBP24x staan een heleboel INCluded bestanden. Zo staat er voor uw type MC ook een INC bestand, bijv. 18F252.INC. Al deze bestanden gaan er vanuit dat u 4 MHz kristallen gebruikt. Als u dat niet niet zo is dan moet u het bestand van uw type microcontroller op de volgende wijze aanpassen.
INCLUDE "P18F252.INC" ; MPASM Header __CONFIG _CONFIG1H, _OSCS_OFF_1H &_XT_OSC_1H
U ziet in het geel gemarkeerde tekst XT_OSC staan. U moet dit bij OSCillators > 4 MHz wijzigen in
INCLUDE "P18F252.INC" ; MPASM Header __CONFIG _CONFIG1H, _OSCS_OFF_1H & _HS_OSC_1H
Vergeet dit niet. Uw applicatie zalniet werkenin je mcu en u krijgt geen foutmelding .
|
|
|
|
Proton(+).
|
 Manual en CD-Rom die bij Proton PicBasic van Crownhill associates wordt geleverd.
|
|
Ook hier citeren we eerst de fabrikant.
This PIC BASIC Compiler is the undoubtedly the very BEST of Breed. Offering the lowest cost of Ownership, with the highest feature list of any competing product. The Most Powerful PIC BASIC Compiler on the market.
Crownhill gebruikt iets minder woorden, maar ook hier is de bescheidenheid niet onder de tafel gestoken. Het is te vroeg om conclusies te trekken, maar op comfort levert Proton iets in en ik denk inderdaad dat de compiler iets krachtiger is. Vervelend is alleen dat sommige voorgeprogrammeerde statements vaste pinnen gebruiken, bijv. datalijnen van een LCD zitten vast op pin 4 t/m 7 van een poort.
|
|
|
De installatie van Proton(+) PicBasic.
De installatie van dit pakket is uiterst simpel. Steek de CD-Rom met de PicBasic programmatuur in uw CD-drive en volg de aanwijzigen op uw scherm. Binnen enkele minuten is het karwei afgehandeld. Het aanvragen van een initialisatie code kostte wat meer moeite. We hebben ongeveer twee dagen heen en weer gemaild, alvorens me een key bestand werd toegemaild. Hier zit ook meteen het grote nadeel dat de compiler maar op één computer te gebruiken is, want in de key zit het ID van uw PC verwerkt.
We hoeven alleen nog de programmer op te geven en dan kunnen we beginnen. Daar we ook hier de WISP628 gaan gebruiken stellen we dat nog even uit. We weiden een heel apart hoofdstuk aan de installatie van Python en de WISP628.
Ons eerste programma (voorbeeld BLINK.bas).
We laden uit C:\program files\crownhill\samples het bestand BLINK.bas.
' Strobe all the LEDs connected to PORTB Device = 16F628 XTAL = 4
Dim I as byte ' Define loop variable Symbol LED = PORTB ' Alias PORTB to LEDS
Delayms 500 ' Wait to stabilise TRISB = %00000000 ' Set PORTB to all output
While 1 = 1 LED = 1 ' First LED on Delayms 500 ' Delay for .5 seconds
For I = 1 To 7 ' Go through 7 times LED = LED << 1 ' Shift on LED, one to left Delayms 500 ' Delay for .5 seconds Next Wend ' Go back forever
We plaatsen hier in het basic tekstbestand de aanwijzingen voor de compilers. Omdat ik het DWARF bord van VOTI gebruik wijzig het typenummer en de kloksnelheid in het tekstbestand en daarmee is alles gedaan om te kunnen compileren en de uploaden.
|
|
|
|
|
 Python is een programma dat de communicatie tussen uw PC en WISP628 verzorgt.

copyrighted but freeware
WISP628
 van Wouter v. Ooijen
|
|
Python en de WISP628 loader.
Python is an interpreted, interactive, object-oriented programming language. It is often compared to Tcl, Perl, Scheme or Java.Python combines remarkable power with very clear syntax. It has modules, classes, exceptions, very high level dynamic data types, and dynamic typing. There are interfaces to many system calls and libraries, as well as to various windowing systems (X11, Motif, Tk, Mac, MFC). New built-in modules are easily written in C or C++. Python is also usable as an extension language for applications that need a programmable interface.
Om met de wisp628 loader van Wouter van Ooijen te kunnen werken moet u beschikken over een aantal setup bestanden die u hier en via de site van Wouter kunt downloaden. U heeft nodig:
Ik raad u aan de aanwijzingen strikt op te volgen. Wanneer u dat niet doet zal het aanroepen via PicBasic mislukken.
|
|
|
De installatie Python en het gebruik.
Zoals al eerder opgemerkt dient u de Python software te installeren volgens de ouderwetse MsDos regels, dwz. GEEN lange pathnamen en geen spaties in de path en bestandsnamen. Nu zullen er onmiddellijk mensen roepen " Python is een window applicatie ". JA dat is zo, maar wij roepen Python aan vanuit een MsDos batch. En als je dan de window regels wil aanhouden met ringels, prima dan doen wij er tjingel-bells bij, maar niet mijn 06 nummer.
|
|
 |
 |
|
Stap 1.
|
|
|
Stap 2.
|
|
|
Stap 3.
|
|
|
Stap 4.
|
|
|
Stap 5.
|
|
 |
 |
|
Maak op uw eerste harddisk een subdirectorie c:\picbasic , we kunnen dan alle software in deze subdirectorie plaatsen zodat het geen ongeorganiseerde bende wordt.
|
|
|
Installeer Python v2.x.x in de subdirectorie C:\PicBasic , bijv: c:\picbasic\python. We installeren Python compleet, volgens de standaard instellingen die de setup voorstelt.
|
|
|
Installeer Win32ALL. Deze setup zoekt automatisch de locatie van Python en voegt daar de subdirectorie Win32 aan toe. Ook hier geld volg de aanwijzingen van de setup. Hiermee is de installatie van Python en de aanvulling Win32 voltooid.
|
|
|
We gaan nu de software voor de WISP628 installeren. Deze SETUP wil zich keurig aan de window regels houden (standaard installatie in de subdir " C:\Program Files\XWISP ". Voor onze toepassing is dat absoluut af te raden. Installeer XWISP in subdir c:\picbasic\python .
Installeer XWisp in de subdirectorie c:\picbasic\python. De setup maakt zelf een subdir XWISP aan in het gewijzigde path en installeert daar alle benodigde scripts.
|
|
|
De stap is alleen nodig wanneer u chipjes van het type 18Fxxx gebruikt, welke beschikken over een ZeroPinLoader. De zeropinloader scripts moet u uitpakken en kopiëren naar de subdirectory waar u PYTHON heeft geïnstalleerd. In deze uitleg is dat C:\PICBASIC\PYTHON.
|
|
|
|
|
|
Als het goed is dan is alle software geïnstalleerd die nodig is om met de WISP628 te werken. Dat viel dus even tegen, denk ik, maar als u dit zorgvuldig en volgens de instructie heeft gedaan moet u nu al een HEX bestand kunnen uploaden naar een PIC 18F252 die op bijv het DWARF bord van Wouter zit. (Bij mij werkte dat in ieder geval). Zo niet. We houden iedere eerste zaterdag van de maand bijeenkomsten en daar kunt u door ons MCU PIC team geholpen worden. Wij hebben meestal geen wachtlijst, maar u moet wel lid zijn van de HCC.
|
|
|
Python via de MS-Explorer. Wanneer Python wordt opgestart, via de verkenner en u heeft de hex-files gelinkt aan Python, dan verschijnt er een MS-Dos venster. Als het uploaden goed gaat verloopt blijft dit scherm pikzwart. Komen er allerlei teksten op te staan dan is er geen communicatie met de WISP628. Dit kan komen door verkeerde installatie of WISP is onvindbaar of uw communicatie lijnen RB6/7 op uw PICmicro worden te zwaar belast door uw applicatie? Ga dus naar een v.d. leden van 't MCU PIC team op ons spreekuur te Nieuwegein. (zie agenda)
|
|
|
Python GO.
U kunt, NEE, U moet nu op de GO button drukken waarna het contact maken met de wisp loader wordt opgestart en het uploaden van de HEX bestand gaat beginnen. Python toont u hoever het uploaden gevorderd is en zet OK neer als hij klaar is. U dient dus te wachten tot u het nevenstaande figuur op uw scherm ziet.
Python schermen afsluiten. Wanneer dat proces goed verlopen is verschijnt het nevenstaande figuur. U moet nu, handmatig alle PYTHON schermen sluiten. Wanneer u dat niet doet blijven deze schermen openstaan en worden er nieuwe geopend bij de volgende upload. U heeft dus binnen "No Time" tientallen nodeloze schermen open staan.
Wanneer u het eerste scherm sluit, het zwarte MS-Dos scherm, dan sluit u alle schermen met één klik. Start dus niet met het laatste, maar met het eerste scherm.
|
|
|
|
|
WISP628 gebruiken via BatchJob. Veel PicBasic Pro gebruikers binnen onze gebruikersgroep hebben bij Wouter van Ooijen rechtstreeks of via de workshop JAL een dwarfbord en/of een wisp628 loader aangeschaft. Deze laatste groep heeft heel veel problemen met de
softwarematige aansturing van de wisp628 via PicBasic. Waardoor de fouten precies ontstaan is niet geheel duidelijk, maar er is wel een remedie voor om deze te voorkomen. We laten de applicatie 'n BatchJob aanroepen voor WISP en deze batches zetten we in de Python subdirectorie "C:\PicBasic\Python".
PicBasic en PicBasic PRO via MicroCode Studio Plus. Wanneer u de aanwijzingen voor het installeren van de Python en XWisp software heeft opgevolgd en Python staat dus in de Subdirectorie "C:\PicBasic\Python" en XWisp is een subdirectorie van Python, dan is onderstaande batchjob, zonder aanpassingen, voor u bruikbaar.
Klik op de screendump om de instellingen voor de programmer te zien.
Simpeler kan het dus echt niet. Download de batch job en muteer deze indien dat nodig is.
Hier naast staat een voorbeeld van een Upload van een gecompileerd programma van een v.d. leden v.h. MCU PIC team, onder Windows98. Maar ook bij windows XP werkt dit trucje perfect.
Proton en Proton+ Wanneer je binnen een proton omgeving werkt, kan je van de hierboven genoemde truc gebruikmaken. De procedure is exact gelijk aan die van PicBasic en daarom herhalen we die dus niet. Het enige verschil is dat je hier geen parameter hoeft op te geven, omdat Proton als eerste parameter de te versturen HEX-file opgeeft.
|
|
|
|
|
ZPL gebruiken via BatchJob. Sommige leden hebben een DWARF bord met een 18F252, welke een voorziening heeft voor een ZeroPinLoader via een DB9 connector. Ook zij kunnen deze methode, met behulp van een aantal Python scripts, gebruiken. De scripts moeten in de subdirectorie van Python geplaatst worden en het onderstaande batchbestand moet ook daarin gezet worden.

De afwijking t.o.v. de wisp-loader zijn gering. De zpl scripts moeten in de subdirectori e van Python worden gezet en niet in een andere subdirectorie. Opmerkelijk is ook dat hier het GO statement niet mag worden gebruikt, maar zoals hiernaast te zien is maakt dat niet uit voor de goede afronding van de job. Als de upload geslacht is krijgt u nevenstaande scherm te zien.
|
|
|
|
Ik hoop dat deze beschrijving van het instellen en het gebruik van PicBasic met WISP628 voor u van nut is en dat u kunt werken met uw basic-compiler met de WISP628 loader.
Link(s) naar interessante website(s): - Uitleg PICMICRO controllers: http://www.circuitsonline.net/artikelen/view/8
|
|
|
|
|
Deze site is geschreven door Bas Boetekees, meer interessante onderwerpen kunt u bekijken op zijn site http://home.wanadoo.nl/bjmboetekees/
|
|
|
|
|
|
|