Primul program ( LED Flasher )

     Primul program realizat pentru microcontrolerul 12F629 va fi prezentat in cele ce urmeaza:
In primul rand avem nevoie asa cum am mai amintit de un compilator, capabil sa transforme un set de instructiuni intr-un fisier de tip HEX. Vom folosi mikroBasic Pro for Pic care poate fi descarcat de aici.

     Dupa instalarea suitei de la mikroelectronica vom lansa programul mikroBasic Pro for Pic. Selectam, Project >> New Project. Se va deschide wizard-ul pentru crearea unui proiect nou. La pasul 1/6 alegem tipul microcontrolerului ce urmeaza a fi programat, respectiv 12F629, apoi Next. La urmatorul pas se va seta frecventa de lucru a microcontrolerului, respectiv 8.0 Mhz ( standard ). Pasul urmator cere locatia unde vom salva fisierele care vor rezulta in urma compilarii. De ex. MyDocument/flasher. Pasul 4/6 cere sa incarcam fisiere care vor fi utilizate in proiect. In cazul de fata nu incarcam si trecem la pasul 5/6, unde de asemenea nu vom face modificari. Va ramane setata optiunea Include All ( Default ). La ultimul pas, 6/6 bifam Open Edit Project window to set Configuration Bits. Se va deschide o noua fereastra pentru configurarea bitilor microprocesorului. Vom selecta configuratia din urmatoarea imagine:


     In acest moment suntem pregatiti de lucru. Observam o caseta cu 2 sectiuni, respectiv Declarations section si Main program . ne vom axa pe Main program deoarece aici se vor scrie instructiunile care trebuiesc executate de microcontroler:


     Codul pentru ca microcontrolerul sa aprinda si sa stinga un led cu o frecventa de 0,5 secunde este prezentat in continuare cu explicatiile aferente:
program flaser
main:
CMCON = 7 ' anulare comparator
TRISIO = 0 ' configurarea tuturor pinilor aferenti GPIO ca iesiri
  DO       ' inceperea rutinei
GPIO.0 =1   ' se seteaza GP0 pe stare 1 - high ( LED aprins )
DELAY_MS(500) ' intarziere de 500 ms ( 1/2 sec. )
GPIO.0=0       ' se seteaza GP0 pe stare 0 - low  ( LED stins )
DELAY_MS(500)   ' intarziere de 500 ms ( 1/2 sec. )
  LOOP UNTIL 0 = 1  ' programul ruleaza repetitiv(continuu) pana cand 0 va fi egal cu 1( imposibil ! )
end.
     Dupa introducerea acestui cod se trece la compilare, prin apasarea butonului BUILD. Daca codul a fost scris corect si nu sunt erori in partea de jos a programului vom primi mesajul:


     Din acest moment putem trece la programarea propriuzisa a microcontrolerului. Vom instala WinPic programmer ( se poate descarca de aici ). Se executa setarile aferente in acesta, respectiv pentru interfata de programare:


si din butonul "Device" selectarea microcontrolerului ( 12F629 ).
Urmam meniul File >>> Load si incarcam fisierul HEX rezultat in urma compilarii cu mikroBasic Pro for PIC ( flasher.HEX ).

     Executam Device >>> Program ( CODE + DATA + CONFIG ). Daca programarea a decurs fara probleme se va afisa in bara de jos mesajul:


     Testarea aplicatiei poate fi vizualizata aici:



Utile:

Cod HEX:

:020000000328D3
:100006000730831299008316850183120514033085
:10001600DB008A30DC005530DD00DD0B1028DC0B00
:100026001028DB0B10280000000005100330DB0051
:100036008A30DC005530DD00DD0B1F28DC0B1F2865
:0C004600DB0B1F28000000000828282801
:02400E00E4319B
:00000001FF

Schema electronica a montajului: