SAİ (S@i) Pic serisi 16f84 ve 16f877 nin programlanmasi amacıyla yazılan bir derleyicidir. Komutlarini mikroislemciler için gerekli olan temel komutlar oluşturur. Bunlari ayirmak gerekirse. 1- Atama işlemleri ve Değişken tanımlama gibi komutlardan oluşmaktadir. SAI gelistirilmekte olan bir derleyici. Digerlerinden farkli olan yani turkçe komutlarının olması, Pic basic turlerinde veya diger bilgisayar programlarında kullanılan IF, FOR, NEXT RETURN GOTO gibi komutlar yerine, EGER, DÖNGÜ, SONRA, GERIGIT, GIT gibi terimler kullanıldı. Programlama işlemi esnasindı içice 10 adet dongu veya eger donguleri oluşturulabiliyor. Herkesin programlamaya basladigi zaman yaptigi flip flop lambalar. veya test islemleri için kullandığı, yanıp sönen led lamba vardır. Sai de bunu yapmak için /ORNEK FLASOR PROGRAM CHIP "P16F84" BASLA: PORT B = 1 SON yeterli olacaktır. Eger bir sarta bagli olarak lambanin 3 defa yanip sondukten sonra 3 saniye sonuk olarak beklemesini istiyorsaniz. o zaman EGER komutuyla programiniza sart yerlestirebilirsiniz. Bunun için sayici bir değisken tanimlamanızda gerekecektir. Bunu kullanarak trafik isiklari na ait bir prograam ve devre gelistirebilirsiniz. /ORNEK FLASOR PROGRAM CHIP "P16F84" SETET PORT B = ‘ ‘00000000’ BASLA: PORT B = 1 SAYAC := SAYAC + 1 EGER SAYAC = 3 OLURSA SON olacaktır. saide mantık diger programlama dillerinden farksiz. ##SANIYE Bir kutuphane eger kendiniz bir komut yazdiysaniz. Bunu kutuphaneye atip istediginiz zaman kullanabilirsiniz. Bu komutu calistirmak için ise < Komutun adini yazmaniz yeterli. Eger dongu kullanmak istiyorsanız DONGU komutuyla bir islemi birden fazla gerceklestiribelirsiniz. Mesela bir lambanin sadece 20 defa yanip sonmesini istiyorsaniz. DONGU SAYAC = 20 PORT B := 1 SONRA yazmak yeterli olaaktir. Sainin bir avantajida yeterli gelmedigi durumlarda, asm kodlari eklemenize imkan tanimasidiri. Kendi asm kodlarinizi komut haline donusturup buradada kullanabilirsiniz. Bunun için asm kodlarinin başina * yaznaniz yeterli olacaktir. SAI Için Geliştirilen Komutlar SAI Için Geliştirilmekte olan Komutlar > Grafik Ekran LCD omutları ve 24C64 ve 24C32 Serisi epromlara okuma ve yazma işlemleri …. Özel istek Komutları SAI (Seyit Ahmet INAN) PIC16F84, PIC16F877 Microchiplerinin daha kolay programlanması amacıyla gerçekleştirilen bir derleyicidir. Bu derleyiciyi kullanarak, geliştirmiş olduğunuz cihazları kontrol edebilecek, devreler geliştirebileceksiniz. ve bilgisayar ile bağlantısını sağlayacaksınız. Ayrıca dış asm ve kendi komutunuzu kendinizin oluşturabilecegi bir modulde bulunmakta. Bu derleyici ile uyumlu çalışan, SAIBORD işlerinizi kolaylaştıracaktır. Bu derleyicide komutlar Türkçedir. Örnek; /KULLANILAN CHIP TANIMI /KULLANILAN DEGISKEN TANIMLARI /PORTLARIN KURULMASI /INTERRUPT KUR INTKUR DENETLE BASLA: /0 KANALDAN SICAKLIK DEGERINI OKU
GIT BASLA DENETLE: Su anda geliştirilen mevcut komutlar; CHIP (KT) Ayrıntılar yakında..!! |
|||||
![]() |
|||||
ATAMA KOMUTLARI
:=
=
ARİTMETİK OPERATÖRLER
+
–
++
—
BİT OPERATÖRLERİ
<<
>>
<+>
MANTIKSAL KOMUTLAR
EGER … OLURSA … EGERSON
DONGÜ KOMUTLARI
DONGU … SONRA
PORT KOMUTLARI
SETET
PIN[A…E][0…7]
PORT [A…E]
KÜTÜPHANE OLUŞTURMA KOMUTLARI
## ADC
## LCD
## ÖZEL KÜTÜPHANE
ALT PROGRAM KOMUTLARI
GIT
MODUL … GERIGIT MODUL YERİNE < KULLINILABİLİR
DİĞER KOMUTLAR
SAYFA
ASM ASM KOMUTLARI
*ASM KOMUTLARI
<ETİKET
SAI PBD iki adet flash eprom programlayabilir. Bunlar
PIC 16F84
PIC 16F877
CHIP "P16F84"
CHIP "P16F877"
Portların giriş veya Çıkış olarak ayarlamak için
SETET komutu kullanılır. Giriş Çıkış degeri olarak sayı verilir. veya
binary olarak ‘H……L" Şeklinde ‘00010111’ olarakda verilebilir.
0->Çıkış
1->Giriş
SETET PORTB = 0
SETET PORTB = 255
SETET PORTA = 0
SETET PORTA = ‘00011111"
Programda kullanılan değişkenlerin ve türlerinin tanımlanması.
DTIP SICAKLIK = 30
DTIP HIZ = 20
DTIP SAYAC1 = 0
DTIP SAYAC2 = 60
Bank seçimi için kullanılır.
Bank no 1 sayfa 1
Bank no 0 sayfa 0
SAYFA 0
SAYFA 1
Program içerisine ASM Kodları ekleme.
ASM NOP
ASM movlw test, ‘h30’
PBelirtilen portun pinini on of yapar
0 off
1 on
PINA0 = 1
PINA1 = 0
PINB1 = 0
PINC1 = 0
Belirtilen portun pinin 1 veya 0 olduğunu bulur
1 Buton a basılı yani 0
0 Butona basili değil yani 1
BUTONA = PINB2
BUTONB = PINB3
BUTONC = PINB4
START = PINB5
Belirtilen portu okuyup istenen değiştene aktarır
Port okumak için set edilmelidir. Giriş için 1
SETET PORTC = 255
TEST = PORT C
OKUMA = PORT A
Şartlı komutlar yazmak için kullanılır
Şart olarak =, <, > kullanılır.
EGER BUTONA = 1 OLURSA
PORT D = 12
EGERSON
EGER SINIR > 11 OLURSA
SINIR := 1
EGERSON
EGER SINIR < 0 OLURSA
SINIR := 1
EGERSON
Port D ye bağlı olan LCD ekrana bilgi göndermek için
Kullanılmadan önce ## LCD Kütüphanesi tanımlanmalıdır.
## LCD
LCD> ‘MERHABA’
LCD> ‘SICAKLIK=’
Değişkenlere bilgi aktarmak için kullanılr
SICAKLIK := 65
ADC_LOW := 12
Toplama ve çıkarmak işlemleri için kullanılır.
A := 5
B := 7
C := A + B
C := A – B
C := C – 1
C := C + 7
Program içerisinde alt programları tanımlamak için kullanılır.
Genel kullanım
Etiket Adı:
…
…Komutlar
…
GERIGIT
SANIYE:
DONGU SAYAC1 = 100
BEKLE (10)
SONRA SAYAC1
GERIGIT
Program içerisinde döngüler oluşturmak amacıyla kullanılır.
DONGU ADET = [X= 0…255]
…KOMUTLAR
SONRA ADET
DONGU LCDSAYAC1 = 3
PORT D = 56
MODUL ENABLE
SONRA LCDSAYAC1
Değişkenin değerini 1 artırır veya eksiltir.
DEĞİŞKEN ++
DEĞİŞKEN — SAI PBD Hakkında daha ayrıntılı bilgi ve beta sürümü yakında…!!
|
SAI-PBD PIC BASIC DERLEYICI
Posted in Uncategorized.