|
TÜRKÇE SAI PBASIC V.01

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
2- Aritmetik işlemler (Toplama, çıkarma, çarpma ve bolme)
3- Mantıksal işlemler (şarta bağlı komutlar)
4- Port işlemleri Pic serisi için A B C D E portlarinin I/O işlemlerini gerçekleştirmek
5- Çevre birimlerin kontrolü LCD, Segment, vs. gibi
6- Seri iletişim ve bilgisayar kontrolü
7- Bit seviyesindeki işlemler. Bitlerin sağa sola kaymasi, vb.
8- Yaziciya bilgi gonderme ve print alma. vs.
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"
SETET PORT B = ' '00000000'
##SANIYE
BASLA:
PORT B = 1
<SANIYE
PORT B = 0
<SANIYE
GIT BASLA
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"
DTIP SAYAC = 0
SETET PORT B = ' '00000000'
##SANIYE
BASLA:
PORT B = 1
<SANIYE
PORT B = 0
<SANIYE
GIT BASLA
SAYAC := SAYAC + 1
EGER SAYAC = 3 OLURSA
<SANIYE
<SANIYE
<SANIYE
SAYAC := 0
EGERSON
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
<SANIYE
PORT B := 0
<SANIYE
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
> Port Giriş/Çıkış Komutları
> Hitachi 44780 LCD Ekrana Yazdırma ve kontrol Komutları
> PIC16F877 İçin EEPROM okuma/Yazma Komutları
> Mantık Komutları (EGER)
> Temel Aritmetik işlemler Toplama Çıkarma vs.
> RS232 iletişim
> ADC Kanallarında bilgi alma ve LCD Ekrana Gönderme
> Bit seviyesinde işlem Komutları
SAI Için Geliştirilmekte olan Komutlar
___________________________________________________
> Grafik Ekran LCD
> RS232 Ve RS485 iletişim
> I2C Komutları ve 24C64 ve 24C32 Serisi epromlara okuma ve yazma işlemleri
> PWM
> Step Motor Kontrol Komutları
> Led Displey lerin Sürülmesi 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
CHIP "P16F877"
/ ADC KOMUTLARINI KULLAN
## ADC
/ LCD KOMUTLARINI KULLAN
## LDC
/KULLANILAN DEGISKEN TANIMLARI
DTIP SICAKLIK = 0
DTIP FAN = 1
DTIP ISITICI = 2
/PORTLARIN KURULMASI
/PORTA TÜM UÇLAR ÇIKIŞ
SETET PORT C = 0
/PORTB TÜM UÇLAR GİRİŞ
SETET PORT B = 255
/INTERRUPT KUR
INTKUR DENETLE
BASLA:
/0 KANALDAN SICAKLIK DEGERINI OKU
SICAKLIK = ADC ( 0 )
EGER SICAKLIK = 30 OLURSA
PORT C = FAN
EGERSON
EGER SICAKLIK = 10 OLURSA
PORT C = ISITICI
EGERSON
GIT BASLA
DENETLE:
LCD = SICAKLIK
GERIGIT
Su anda geliştirilen mevcut komutlar;
CHIP (KT)
SAYFA (KT)
DTIP (KT)
SAILOGO (KT)
SON (KT)
SETET (KT)
PORTYAZ (KT)
PORTOKU (KT)
AKTAR (KT)
EGER (KT)
EGERSON (KT)
ACIKLAMA (KT)
ALTPROG (KT)
ALTPROGP (KT)
DON (KT)
GIT (KT)
TOPLA (KT)
TOPLA1 (KT)
CIKARMA (KT)
CIKARMA1 (KT)
DONGU (KT)
SONRA (KT)
HIGH (KT)
LOW (KT)
BSAG (KT)
BSOL (KT)
BTRS (KT)
BSWP (KT)
TABLO (KT)
TABLOVERI (KT)
KESME (KT)
TMRKUR (KT)
INTKUR (KT)
INTSON (KT)
DELAYMS (KT)
DELAYMSPRG (KT)
ADC (KT)
KUTUPHANE (KT)
ADCPRG (KT)
ASMEKLE (KT)
Ayrıntılar yakında..!!
|