Netindir

Net-İndir

Güncel Oyun & Program & Resim & Msn Forumu


Pic Programlama Ders - 5

Elektronik Bölümü icinde Pic Programlama Ders - 5 konusu , DERS - 5 AKIS DIYAGRAMLARI : Pic Assembler ile bir program yazmadan evvel, pic’in hangi adimlarla programi isleyecegini planlamamiz gerekmektedir.Bu planlama islemi akis diyagramlari ile yapilir.Akis diyagrami islenecek komutlarin sirasidir.Uzun ...

Geri git   Netindir >
..:: Eğitim & Kültür & Güncel Köşe ::..
> Elektrik-Elektronik > Elektronik Bölümü

Anlık İletiler Kayıt ol Yardım Üye Listesi Ajanda Arama Bugünki Mesajlar Forumları Okundu Kabul Et

Cevapla

 

LinkBack Seçenekler Stil
  #1 (permalink)  
Alt 05-30-2007
.... --- --. --. . -

Arrow Pic Programlama Ders - 5

DERS - 5
AKIS DIYAGRAMLARI :

Pic Assembler ile bir program yazmadan evvel, pic’in hangi adimlarla programi isleyecegini planlamamiz gerekmektedir.Bu planlama islemi akis diyagramlari ile yapilir.Akis diyagrami islenecek komutlarin sirasidir.Uzun ve karmasik programlarda, akis diyagramlari, hangi seviyeden programin ayrilacagini ve hangi komutlari yerine getirecegini, sonra tekrar nereye dönecegini göstermesi nedeni ile faydalidir. Akis diyagramlarinin kendine has sembolleri de vardir.
Bir program yazilirken 3 blok halinde yazilir.Bu bloklar:

1-) Etiket
2-) Komut ( Equate)
3-) Adres

bloklaridir.

ETIKET : Etiketler iki tiptir. Birinci tipi adres atanan etiketlerdir, ikinci tipi ise adres atanmayan etiketlerdir.Tüm etiketler birinci blok ‘a yazilir. Adres atanan etiketler EQUATE komutu ile kullanilir veya INC. Dosyasi sayesinde tanimlanirlar. Bu etiketler sayesinde tanimlanan registerler, program içinde tekrar tanimlamaya gerek kalmadan kullanilir

PORTB EQU 0X06
STATUS EQU 0X03

BuradaPORTB ve STATUS Etikettir. EQU komutu ile tanimlanan bu registerler,daha sonra kullanildiginda, hangi adreste oldugu otomatik olarak pic tarafindan bilinir. Bir diger etiket çesidi ise adres atanmayan etiketlerdir. Adres atanmayan etiketler, pic ‘in çalismasi sirasinda dönecegi program seviyesini göstermekte kullanilir. Bu etiketler programci tarafindan yaratilirlar.

BASLA
START
DÖNGÜ

Gibi etiketler bu tip etiketlerdendir. Bir kisim adres atanan etiket de, programci tarafindan yaratilir.

SAYAC

Etiketigibi etiketler bu çesit etikettir. Adres atananbu etiketlerRAM alanina yazilir.Bu etiketleri INC. Dosyasi içine ilaveederek Equate tanimlarini yapmadan INC. dosyasi ile de kulanilabiliriz.

ETIKET KURALLARI :


1-)Etiketler birinci sütüna yazilir.
2-)Etiketler de ingilizce harf karakterleri kullanilir.
3-)Assembly komutundan etiket olmaz
4-)Etiket en fazla31 karakter olabilir.
5-)Etiket ile prograk içinde kullanimi ayni karakter özellikleri göstermelidir.
6-)Etiket Harf veyaalt çizgi ile baslar.
7-)Etiket içinde alt çizgi,rakam,soru isareti bulunabilir.


ETIKET KOMUT ADRES STATUS EQU H’03’ TRISB EQU H’86’ SAYAC1 EQU H’0D’ START CLRF PORTB BSF STATUS,5 GOTO START

Burada start etiketiprogramci tarafindan yaratilmistir ve bir adresi yoktur, bu etikete adres Assembler tarafindan atanir ve bunu biz bilemeyiz.

Bir program yazilirkenküçük veya büyük harf seçimi programciya kalmistir. Kullanilan karakterler etiket ve adres kisminda ayni olduktan sonra problem çikmaz. Etiket te PORTB yazip adres kisminda Portb yazamayiz. Bu anlatilanlar EQU komutu kullanildiginda ve register tanimlarinin programci tarafindan yapildiginda geçerlidir. Eger INC. Dosyasi kullanilacaksa dosya içi karakterler ile programcinin yazi karakterleri ayni olmalidir. Yani INC. dosyasi içinde bir etiket büyük harf ile yazili ise,programci program içinde bu etiket kullanmak gerektiginde büyük harf kullanmalidir.

BINARY ve HEXADECIMAL SAYILAR :


Bilgisayar sistemlerinde sik kullanilan ikili (binary ) ve 16 li (hexadecimal ) sayi sistemlerine de kisaca göz atalim:

0 ve 1 kullanarak sayilari ifade etmek mümkün müdür ? Günlük hayatta en çok kullanilan 10 tabanina göre aritmetiktir. Burada 10 sembol ile sayilar olusturulur bunlar :
1 2 3 4 5 6 7 8 9 0 sembolleridir.Bu semboller ile ifade edilen bir çoklugu yalnizca iki sembolle veya 16 sembollü bir sistemle de ifade edebiliriz.Iki sembol söz konusu ise Binary 16 sembol söz konusu ise Hexadecimalaritmetik ten bahsedilir. Binary sistemin sembolleri
0 1
Hexadecimal sistem sembolleri ise:

0 1 2 3 4 5 6 7 8 9 A B C D E F dir.

10 lu sistemdeki bir sayiyi binary sayi sisteminde yazmak için, bize kolaylik saglayan su tabloyu göz önünde tutalim.

2^0 =1
2^1 =2
2^2 =4
2^3 =8
2^4 =16
2^5 =32
2^6 =64
2^7 =128
2^8 =256

10 lu sistemdeki bir sayiyi binary 'e çevirirken, busayiyi olusturan ,ikinin katlari seklinde yazilabilen sayilari büyükten küçüge dogru toplariz, burada ikinin her üs sayisi kullanilmalidir.Bir üs seklinde ifade edilemiyorsa 0X seklinde yazilir.Örnek :

255 sayisini iki tabanina göre yazalim.

128 + 64 + 32 + 16 + 8 + 4 +2 +1 sayilarinin toplami olarak yazilir bu da:

1X2^7+1X2^6+1X2^5+1X2^4+1X2^3+1X2^2+1X2^1+1X2^0ola rak yazilabilir.

Burada dikkat edilmesi gereken nokta kimizi olarak gösterilen2 nin tüm üs lerinin sira ile kullanilma zorunlugudur, bu siralama büyükten küçüge dogru olacaktir.Çarpim dan evvel olan katsayilar ikili sistemde yalniz 0 veya 1 olabilir,burada hepsi birdir.Sonuç olarak da 255 sayisinin binary karsiligi,bastaki katsayilar yanyana konarak bulunur.

11111111 ( 8 tane 1 dir ).

ÖRNEK 2 :

129 sayisini ayni sekilde yazalim :

128 + 1 dir
Burada 128 den baslayarak ikinin üs 'sü seklinde tüm üsleri kullanarak129 sayisini elde edelim.

1X2^7 +0X2^6+0X2^5+0X2^4+0X2^3+0X2^2+0X2^1+1X2^0

.
.
.
Binary karsiligi" 10000001"olarakbulunur.Bu sekilde 8 bit ile 256 ya kadar olan sayilari binary olarak yazabiliriz bunun yetmedigi hallerde 12 bitle 2^12 =4096 veya 16 bitle 2^16=65536 ya kadar sayilari ifade edebiliriz.


HEXADECIMAL SISTEM :

16Sembol setinden olusan bir sistemdir.Elemanlari:

0 1 2 3 4 5 6 7 8 9 A B C D E F dir.

Burada decimal 10 sayisina A karsilik olarak gelmektedir, F de 15'e karsilik olur.0 ile birlikte 16 sembol içeren bu sayi sistemi hexadecimal sayi sistemidir,bu simgeler 12 li sayi sisteminde X=10 ve Sigma=11 dir.

Bir sayinin Hexadecimal karsiligini bulmak için, binary de yaptigimiz islemi yapariz.

16^0=1
16^1=16
16^2=256
16^3=4096
16^4=65536
16^5=1.048.576

Binary sistemde 8 basamakli 255 sayisini, hexadecimal sistemde iki basamak ile elde ederiz.

256 sayisi hexadecimal olarak

1X16^2+0X16^1+0X16^0 demektir"100 "olarak yazilir.

255 sayisi için

15X16^1+15X16^0 burada 15. karakter F oldugu için " 255 "decimal " FF "Hexadecimal
olur.

EQUATES : EQU komutu program yaziminin basinda INC. dosyasi kullanmadigimizda registerler adreslerinin tanimi için kullanilir.EQU komutu ile register'in bir sabitten olusan adresi tanimlanir veya bizim yarattigimiz bir file register için bir adres atanmasinda kullanilir.
Bir sabit veya bir isim Equ komutu ile tanimlanabilir.

MAX EQU3; 3 rakami nin adi MAX olsun,-bit yönlendirmeli komutla kullanildiginda bu sabit 3.bit'e karsilik olur-.

FLAGSEQUH'09'; h'09' da flgs diye bir file register olsun

BSFFLAGS,MAX; flags registerinin 3.bitini 1 yap

SABITLER
: Bir register adresini tanimlamada kullanilan bir haxadecimal sayidir.En çok MOVLW komutu ile kullanilir ve bir sabiti Write registere yazar.Sabitlerle kullanilan komutlar ileride verilecektir.Desimal sayilar da sabit olarak kullanilir.

ORG :
Program baslangiç adresini göstermek için veya interrup alt program baslangicini göstermek için kullanilir.

END : Program komutlarinin sona erdigini Assembler'e gösterir,olmazsa derlemede hata mesaji verilir.

SAYILAR :

Hexadecimal sayilar birkaç sekilde yazilabilir

0X06
6
06
06h
h'06'

Biz program yazarken H'FF' seklindeki ifadeyi kullanacagiz.

Binary sayilar B ile ifade edilirler B '11111111' tarzinda yazilirlar.

Decimal sayilar D ile ifade edilirler D'255' seklinde yazilirlar.

Alıntı ile Cevapla

Powered by vBulletin® Version 3.6.12
Copyright ©2000 - 2009, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0 ©2009, Crawlability, Inc.
Güncel Forum, Güncel Net, Güncel Mekan, Net-indir.com | Bedava program, oyun, msn, resim indirme sitesi, BestForumTR.net, MsnTR.Org, Güncel Forum Sitesi
Gizlilik Bildirimi