Güncel Oyun & Program & Resim & Msn Forumu
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 ...
|
|||||||
| Anlık İletiler | Kayıt ol | Yardım | Üye Listesi | Ajanda | Arama | Bugünki Mesajlar | Forumları Okundu Kabul Et |
|
|
|
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. |
![]() |
| Seçenekler | |
| Stil | |
|
|
| LinkBack |
LinkBack URL |
About LinkBacks |
| Bookmark & Share |
Digg this Thread! |
Add Thread to del.icio.us |
Bookmark in Technorati |
Furl this Thread! |