|
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