PICBASIC


 

*           OSNOVE KONSTRUKCIJE JEZIKA

 

IDENTIFIKATORI

Identifikatori su imena koja su dodeljuju promenljivim, labelama ili nekom elementu unutar programa. To može da bude bilo koji niz slova, brojeva ili crta stim što njegov naziv ne sme početi sa brojem. Najviša njegova dužina je 32 karaktera.

 

LABELE

Predstavljaju tekstovnu oznaku ispred neke linije u programu na koju program može da skoči pomoću neke od naredbi grananja. Na kraju naziva labele mora obavezno moraju da stoji karakter :.

                      pocetak: SerOut 0,N2400,["DObar dan",13,10]

                               Goto pocetak

 

VARIJABLE

Varijable su privremena imena koja se daju promenljim unutar programa a formiraju se upotrebom Var naredbe. Rezervisan prostor može biti u bitima, bajtima ili rečima. Definisana varijabla automatski uzima deo RAM memorije mikrokontrolera.

 

ime1  Var bit  'promenljiva ime1 definisana kao bit

broj1 Var byte 'promenljiva broj1 definisana kao bajt

zbir1 Var word 'promenljiva zbir1 definisana kao word

 

ALTERNATIVE VARIJABLE

Često se po potrebi već definisanim promenljivim dodeljuju nova imena kao što je dato u primeru:

zbir  Var suma     'promenljivoj suma dodeljeno je novo ime zbir

b0    Var W0.byte0 'promenljivoj b0 dodeljena je vrednost prvog bajta reči W0

b1    Var W0.byte1 'promenljivoj b1 dodeljena je vrednost drugo bajta reči W0

bit0  Var suma.0   'promenljivoj bit0 dodeljena je vrednost prvog bita promenljive suma

 

KONSTANTE

Često se u programima koriste promenljive koje imaju konstantu vrednost. Sintaksa definicije konstanti je:

Naziv_konstate con vrednost

Vrednosti konstante mogu biti napisane u decimalnom, heksadecimalnom ili binarnom obliku. Decimalne konstante ispred broja nemaju prefiks, heksadecimalne imaju prefiks $ a binarne prefiks %. Znakovne konstante pišu se pomoću duplih znakova navoda(") i sadrže samo jedan karakter. Ako sadrže više tada se radi o string konstantama.

                     

NIZOVI

Deklarisanje nizova definiše se sledećom sintaksom:

Naziv_niza Var vrsta_elementa[broj_elemenata]

gde vrsta_elementa definiše da li je element niza veličine bita, bajta ili reči, dok broj_elemenata definiše koliko članova može da  sadrži niz.

mat1  Var bit[8]   'promenljiva mat1 je niz od kojih svaki element uzima 1 bit

pod1  Var byte[16] 'promenljiva pod1 je niz od kojih svaki element uzima 1 bajt

 

SIMBOLI

Imaju isto značenje kao alternativne varijable i koriste se za davanje novih naziva promenljivim.

symbol svetlo=PORTA.3   'promenljivoj svetlo dato je znacenje pina PORTA.3

 

STRING KONSTANTE

String konstane se definišu tekstom koji se nalazi između dvostrukih navodnika.

lcdout "datum je "   '"datum je" string konstanta

 

PORTOVI I DRUGI REGISTRI

Portovima mikrokontrolera se u PICBasicu pristupa pomoću promenljivih definisanih dužinom od jednog bajta.

PORTA = %01010101   'upisuje dati binarni broj na PORTA

 

PINOVI

Pinovima porta može se pristupiti navođenjem naziva porta pa njegovim brojem.

PORTA.0 = 1         'upisuje logičko 1 na pin 0 PORTA

 

 

KOMENTARI

Komentari se u programu pišu iza jednostrukog navodnika i kompajler ih ne analizira.

 

 

LINIJE SA VIŠE NAREDBI

U jednoj linij programskog koda moguće je napisati više naredbi koje se međusobno odvojene sa dve tačke.

W2 = W0 : W0 = W1 : W1 = W2

 

NASTAVAK LINIJE U DRUGOM REDU

Programska linija se može nastaviti u sledećom redu stavljajući na njenom kraju znak _.

Branch B0,[label0, label1,label2,_

label3,label4]2

INCLUDE

U slučajevima kada u programu koristimo kod napisan u nekoj datoteci koristimo ovu direktivu.

Include "test.bas" 'ubaci kod napisan u datoteci test.bas

 

DEFINE

Neke od naredbi PICBasic-a mogu da imaju parameter od kojih zavisi način izvršenja instrukcije, kao što je slučaj frekvencije oscilatora.  Ako se koristi oscilator čija je frekvencija veća od 4 MHz a koristi se instrukcije koje zavise od takta mikrokontrolera kao što je to slučaj kod serijskog prenosa podataka, tada je neophodno definisati frekvenciju oscliatora.

Define osc 8 'Takt oscilatora je 8 MHz

Takođe se ova direktiva koristi za rad sa LCD displejom, I2C komunikacijom, serijskom prenosu itd.

 

DISABLE

Ova direktiva koristi se prilikom obrade prekida. Obično se koristi u podprogramima obrade prekida. Sa njom se zabrane dalji prekidi dok se tekući prekid ne obradi.

 

ENABLE

Suprotno Disable direktivi ova direktiva omogućava prekide.

 

ON INTERAPT

Ovom direktivom se označava labela na koju će program skočiti kada se desi prekid.

On interapt OBRADA 'Rutina obrade prekida pocinje od labele OBRADA

 

RESUME

Ovom direktivom se vrši povrtak u glavni program iz rutine za obradu prekida.

 

http://vojo.milanovic.org
© Copyright, 2004 Milanović Vojo 
All right reserved