آشنايي با نرم افزارPICBasic 
زبان اسمبلي :37 دستورالعمل
زبان سطح بالا
BASIC 
C 
و... 
آشنايي با دستورات 
(نامگذاري خطوط برنامه)Line Labels 
[here:Serout ,N2400,["Hello world!",13,10 Goto here 
(متغيرها) Variables 
{Label VAR Size{.Modifiers 
dog var byte 
cat var bit 
w0 var word 
(اسم مستعار)Aliases 
fido var dog 
b0 var w0.byte0 
Arrays(آرايه) 
[Label VAR Size[Number of elements 
[sharks var byte[10 
Maximum number of elements Size 256 Bit *96 Byte *48 Word 
Constants(مقادير ثابت) 
Label CON Constant expression 
mice con 3 
Symbols(نشانه) 
SYMBOL lion = cat 
Numeric Constants(ثابتهاي عددي) 
100 
%100 
$100 
Pins 
PORTB.1 = 1 
8-15 0-7 No. PIC micro Pins GPIO* GPIO* 8-pin PORTA* PORTB 18-pin PORTC PORTB 28-pin(except 14 C000) PORTD PORTC 28-pin(14C000) PORTC PORTB 40-pin 
INCLUDE 
با استفاده از اين دستور مي توان از فايلهاي منبع که نوشته شده است در برنامه استفاده کرد 
DEFINE 
بعضي از موارد نظير پينهاي مربوط به ارتباط با LCD از طريق دستورهاي BASIC از پيش مشخص هستند که اين موارد با دستورDEFINE تعيين مي شوند 
DEFINE LCD_DREG PORTA 'LCD data port 
دستورالعملهاي رياضي 
W1 = W0 * 1000 
W1 = W0 / 1000 
B0 = B0 << 3 
W1 = W0 >> 1 
COS & SIN 
B0 = SQR W1 
عملگرهاي مقايسه 
Description Comparison operator Equal = or = = Not Equal <> or ! = Less than < Greater than > Less than or Equal < = Greater than or equal > = 
عملگرهاي منطقي 
Description Logical operator logical and And or && logical or OR or II logical exclusive or Xor or ^ ^ logical nand Not And logical nor Not Or logical Nxor Not Xor 
BUTTON 
Pin,Down,Delay,Rate,BVar,Action,Label 
Pin 
شماره پيني كه سويچ به آن وصل است Down 
وضعيت پين وقتي سويچ فشار داده مي شود Delay 
عددي بين 0 و 256 كه تعداد سيكل تكرار را قبل از خواندن مجدد چك مي كند 
BUTTON 
Rate 
نرخ تكرار 
BVar متغيري به صورت بايت كه براي شمارش مورد نياز است 
Action مقدار 0 يا 1 و نمايشگر حالت سويچ براي عملكردن است 
Lable مكاني از نرم افزار كه در صورت فشردن دكمه بايد اجرا شود 
COUNT 
COUNT Pin,Period,Var 
اين دستور تعداد پالسهاي رخ داده شده در pin را در مدت زمان period كه بر حسب ميلي ثانيه مي باشد در متغيرvar ذخيره مي كند 
END 
اين دستور اجراي برنامه را متوقف مي كند 
FOR..NEXT 
{FOR Count = Start TO End {STEP {-} Inc 
{Body} 
{NEXT {Count 
مثال
FOR i = 1 TO 10 
Toggle PORB.1 
Pause 500 
NEXT i 
GOSUB 
GOSUB Label 
اين دستور باعث اجراي يك زير برنامه مي شود كه lable مشخص مي كند البته مكان فعلي ذخيره مي شود و بعد از پايان اجراي زيربرنامه با دستور return عمل بازگشت صورت مي گيرد 
GOTO 
GOTO Label 
اين دستور اجراي برنامه را از جايي كه lableمشخص مي كند پي مي گيرد
HIGH & low 
HIGH Pin 
رويPin مشخص شده مقدار 1 ديجيتال بارگذاري مي كند 
LOW Pin 
رويPin مشخص شده مقدار 0 ديجيتال بارگذاري مي كند 
IF..THEN 
IF Comp {AND/OR Comp...} THEN Label 
IF Comp {AND/OR Comp...} THEN 
...Statement 
ELSE 
...Statement 
ENDIF 
If Pin0 = 0 Then pushed 
If B0 >= 40 Then old 
If (B0 = 10) AND (B1 = 20) Then loop 
If B0 <> 10 Then 
B0 = B0 + 1 
B1 = B1 - 1 
Endif 
IF … THEN… ELSE 
If B0 = 20 Then 
led = 1 
Else 
led = 0 
Endif 
INPUT &OUTPUT 
INPUT Pin 
OUTPUT Pin 
پين مشخص شده را بصورت ورودي يا خروجي تعريف مي كند 
LCDOUT 
{...LCDOUT Item{,Item 
"LCDOUT $FE, 1, "Hello 
hello نمايش كلمه 
LCDOUT 
PAUSE & PAUSEUS 
PAUSE Period 
در اجراي برنامه وقفه اي به مدت زمان مشخص شده درPeriod كه بر حسب ميلي ثانيه مي باشد ايجاد مي كند 
PAUSEUS 
در اجراي برنامه وقفه اي به مدت زمان مشخص شده درPeriod كه بر حسب ميكرو ثانيه مي باشد ايجاد مي كند 
POT 
POT Pin,Scale,Var 
اين دستور براي اندازه گيري مقدار پتانسيومتر متصل به پين مشخص شده به كار مي رود 
مقدار scale براي تنظيم rc مورد نياز بكار مي رود
اين عدد بايد براي rc كوچك مقداربالا(256) و براي rc بزرگ مقدار پايين داشته باشد 
SERIN&SEROUT 
...SERIN Pin,Mode,{Timeout,Label,}{[Qual...],}{Item 
[{...SEROUT Pin,Mode,[Item{,Item 
حالتهاي کاري ارسال سريال 
State Baude Rate Mode No. Mode True 2400 0 T2400 1200 1 T1200 9600 2 T9600 300 3 T300 Inverted 2400 4 N2400 1200 5 N1200 9600 6 N9600 300 7 N300
SERIN&SEROUT 
SERIN 1,N2400,[“A”],B0 
[SEROUT 0,N2400,[#B0,10 
WHILE..WEND 
WHILE Condition 
...Statement 
WEND 
i = 1 
WHILE i <= 10 
Serout 0,N2400,[”No:”,#i,13,10] i = i +1 
WEND 
مدار برنامه ريز 
برنامه LED چشمک زن 
COUNTER VAR BYTE 
BEGIN
COUNTER =0
PORTB=0
HOME
BUTTON 9,0,255,1,COUNTER,1,START
GOTO HOME
START
WHILE PORTA.1=0
lOW PORtB.4
high poRtB.5
lOW poRtB.6
high poRtB.7
pause 2000
high PORtB.4
low PORtB.5
high PORtB.6
low PORtB.7
pause 2000
WEND
goto BEGIN
END