Yorumlayıcı

  Piksayar projesi ile ilgilenenler için piksayardaki yorumlayıcı hakkında açıklamalar ....
Programlama dosyaları temel olarak iki şekilde çalıştırılmaktadır. Derleyiciler ve yorumlayıcılar. Derleyiciler daha hızlıdır,  fakat derleme yazılımı gerektirir. Bu da bellekte çok fazla yer kaplamaktadır. Ancak piksayarın belleğinin hepsi 32kb tır. Bu yüzden piksayarda programları çalıştırmak için yorumlayıcıyı seçtik.
Yorumlayıcı satır satır komutları okuyup komutları uygular. Basic python yorumlayıcılı dillerdir. Yorumlayıcının en büyük üstünlüğü Başka ortamlara kolaylıkla taşınabilmesidir.
Piksayar için yazmış olduğum yorumlayıcı 18f2550 nin ram bellek alanındaki komutları sırasıyla okur ve işler.
KOMUTLAR
komutlar 3 harf ten oluşur.
sur         ; bu komuttan sonraki komutlar sürekli içindedir.   sur
deg        ; değişken oluşturur.                                   deg abc
oku        ; değişkeni okur .                                        oku abc 
dey        ; değişkene değer yükler                             dey abc 100
car         ; iki değişkeni çarpar.                                 car abc def
crm        ; çıkarma işlemini yapar                            crm abc def
tpl          ; toplama işlemini yapar                            tpl abc def
ebs         ; değişkeninin değerini ekrana yazar.        ebs abc
eyz         ; yazıyı ekrana yazar                                 eyz piksayar
egr         ; eğer komutunu işler.                                egr abc 100 b/e/k (büyükse/eşitse/küçükse)
esn         ; eğer son.                                                    esn 3  3. eğer son
git          ; adrese git.                                                  git son
art          ; değişkeni bir artırır                                  art abc
azl         ; değişkeni bir azaltır                                   azl abc
ano         ; analog değeri okur                                    ano abc 1  (pin 1 i analog oku abc ye yaz)
bkl         ; bekleme komutu                                        bkl 100
pin        ; pini yakma / söndürme                              pin 051  (5 nolu pin 1(yak))
tkr         ; tekrar eder                                                  tkr 010   (10 kez tekrarlar)
tks         ; tekrar sonu
sil          ; lcdyi temizler.
tst          ; pinin 1 mi 0 mı olduğunu test eder            tst 021       (2 nolu pin 1 mi)
tss         ;test sonu
gtr        ;seri porttan  1 bayt alır. değişkene yazar      gtr abc
gnd          ; seri porta 1 bayt değişken   gönderir.       gnd abc
doa        ;  dosya al. seri porttan 512 bayt dosya alır.    doa
dov        ; dosya ver seri porta 512 bayt rami gönderir.  dov
ser1       ; servoyu çalıştırır ser2 ser3 ser4      ser1 180(pin1 deki servoyu 180 derece döndürür)
msf        ; hcsr04 bağlı ise mesafe ölçer.                  msf abc

Yorumlayıcımızın tanıdığı komutlar bunlar. Şimdi üstteki komutlarla neler yapabileceğimize bakalım.
PORTA nın 2. pinin bağlı ledi 10 kez yakıp södürme kodu.
tkr 010           ; 10 kez tekrarlanacak
pin 021           ; pin2 1 yap
bkl 100           ; 100 ms bekle
pin 020            ; pin2 yi 0 yap
bkl 100           ; 100 ms bekle
tks                 ; tekrar sonu


3 nolu pinin değerini analog okuyup ekrana basan program

deg abc      ; abc değişkeni oluşturuldu
sur             ; sürekli döngüye girildi
ano abc 3  ; pin3 ün değerini analog okudu, abc ye yazdı
ebs abc      ; ekrana abc değerini bastı.
bkl 100      ; yeniden okumadan önce 100 ms bekletildi

4 nolu pinin durumunu test edip  1 se efg değişkeninin değerini bir artıran sıfırsa bir azaltan ve efg değişkenini ekrana basan program.

deg efg       ; efg değişkeni oluşturuldu
sur              ; sürekli döngüye girildi
tst 04 1       ; pin4 1 mi test etti
art  efg       ; 1 se efg yi bir artırdı
tss               ; test son
tst 04 0       ; pin4 0 mi test etti
azl  efg       ; 0 sa efg yi bir azalttı
tss               ; test son
ebs efg       ; ekrana efg değerini bastı
bkl 200      ; 200 ms bekledi

Bu örneklerden görüldüğü üzere elimizdeki komutlarla epey işlem yapabiliriz. bunları sd karta kaydedersek . ne zaman hangisini istersek yükleyip çalıştırabiliriz. 

Böylelikle PIC içindeki sabit bir programı uygulayıp duran değil bizim istediğimiz programı çalıştırır. Ve bu işlemler için bir bilgisayara gerek olmaz.