Elektrotekno.com Ana Sayfa || Programlanabilir Cihaz ve Elemanlar || Microchip Pic Serisi


Açıklamalı pic asm örnekleri

Kayıt: 04 Oca 2006
Mesajlar: 130

Offline
eloman
Tarih: 04 01 2006 19:22

Arkadaşlar dosya boyutu küçük olsada ilk defa rapidshare kullandığım için deneme maksadıya oraya attım, umarım herkesin işine yarar.
http://rapidshare.de/files/10388067/pic.zip.html


-------------
Kesme kaynakları
Kesmeler aşağıdaki 4 kaynaktan gelebilir.
1) external kesme ( RB0/INT ucundan gelen sinyal )
2) TER0 sayıcısında oluşan zaman aşımı kesmesi ( sayıcının h’FF’ den h’00’ gelmesi )
3) PORTB 4, 5, 6 ve 7. bitler lojik seviye değişikliğinden
4) EEPROM belleğe yazma işleminin tamamlanmasında meydana gelen kesme ( bahsedilmeyecek )
Harici kesmeler
Harici kesmelerin kullanılabilmeleri için yazılım ve donanım gereklidir. Yazılım aracılığı ile PORTB nin
RB0/INT ucu dışarıdan gelebilecek kesmeyi algılayabilecek şekilde hazırlanır. Bunun için:
- RB0/INT ucu giriş olarak yönlendirilmeli
- INTCON registeri içindeki ilgili bayrak ( INTE ) kullanılarak harici kesme işlemi aktif yapılmalıdır.
Donanım ise RB0 ucundan sinyal girişi yapabilecek elektronik bir devredir. Bu sinyalin kenar tetiklemesi
önemlidir. OPTION registerinin 6. biti bu uçtan girilen sinyalin yükselen mi yoksa düşen kenarında mı kesme
yapılacağına karar verir.
OPTION register INTEDG ( 6. bit ) 0=düşen kenarda kesme
1=yükselen kenarda kesme
kesme alt programının çalışması esnasında gelebilecek yeni kesmeleri engellemek için INTCON registerinin 4.
bit ( INTE bayrağı ) 0 yapılmalıdır.
Eğer harici kesme RB0/INT ucundan sinyal girişiyle meydana gelirse INTCON register içerisindeki INTF
bayrağı 1 olur. INTF kesme alt programı içerisinde tekrar 0 yapılmalıdır. Aksi halde tekrarlanan kesmeler ile
karşılaşılır. Kısaca özetlenirse harici kesme oluştuğunda yapılacak işlemler sırası şöyledir:
- sonraki kesmeleri geçersiz yapmak için INTE bayrağını 0 yap
- kesme alt programını çalıştır
- INTF kesme bayrağını 0 yap
- Yeni kelimeleri geçerli yapmak için INTE bayrağını 1 yap
TMR0 sayıcı kesmesi
İçerisindeki sayının h’FF’ den h’00’ a gelince oluşur.
PORTB lojik seviye ( RB4-RB7 ) değişiklik kesmesi
PORTB nin 4, 5, 6 ve 7. bitlerinde meydana gelen bir değişiklikte INTCON registerinin 0. biti ( RBIF ) 1 olur.
Bu kesme INTCON registerinin 3. biti ( RBIE ) aracılığı ile aktif veya pasif yapılabilir. PORTB nin 0, 1, 2, 3.
bitlerindeki değişiklikler lemse oluşturmaz.
PORTB deki değişikliği algılamak için bu porttaki son değer RB4-RB7 uçlarından okunan veri ile karşılaştırılır.
Eski ve yeni okunan veriler OR lanır. Farklılık varsa RBIF bayrağı ( INTCON registerinin 0. biti ) 1
olur.PORTB kesmesi şöyle silinebilir:
- RBIE biti ( INTCON 3.bit ) silinmek suretiyle
- PORTB yi okuduktan sonra RBIF bitini silmek suretiyle
Kesme alt programlarının düzenlenmesi
Tüm kesme işlemlerinin aktif yapma bayrağı ( GIE )
Bir kesme olayının meydana gelmesi esnasında INTCON registerinin 7. biti 0 olur. Bu işlem yeni bir kesmenin
program akışını bozmaması için otomatik olarak yapılır. Kesme alt programı çalışmasını RETFIE komutu ile
sona erdirip, ana programa dönüldüğü anda sonraki kesmelerin geçerli olabilmesi için tekrara otomatik olarak 1
yapılır.
Kesme olayında meydana gelen olaylar:
- INTCON GIE=1
- Kesme olayı
- INTCON GIE=0
- PC içerisindeki adres STACK registerine kaydedilir
- h’004’ adresine atlar
- kesme olayı başlar alt program çalışır
- kesme bayrağı kontrol edilir
- kesme olayı biter ( RETFIE )
- program akışı ana programa geçer
- INTCON GIE=1
Kesme esnasında W ve STATUS registeri saklamak
Eğer W ve STATUS registerinin içeriği korunmak isteniyorsa gerekli komutlar kesme alt programının içerisinde
yer almalıdır. Kesme olduğunda yapılması gereken işlemler:
- W registeri değişkene yükle
- STATUS registeri değişkene yükle
- Kesme işlemi gerçekleştir
- STATUS geri yükle
- W geri yükle
- Kesme alt programından dön ( RETFIE )
Bu işlemleri yapacak komutlar:
Düzenleyen: admin 04.01.2006, 21:01:



Reklamlar

4 Kullanıcı bu konu için eloman arkadaşımıza teşekkür ettiler

Kayıt: 16 Ağu 2005
Mesajlar: 3931

Offline
admin
Tarih: 04 01 2006 21:04

rapidshare ye ilk uploadınızı başarı ile yapmışsınız Smile

rapidshare daki dosyalar zaman aşımına uğrayıp silindikleri için dosyayı yedek olarak forumada yükledim, isteyen istediği yerden indirebilir.

Paylaşımınız için teşekkürler.
Başa dön
Kayıt: 29 Mar 2006
Mesajlar: 162

Offline
emre_özcan
Tarih: 16 04 2006 18:02

teşekkürler...
Başa dön



Açıklamalı pic asm örnekleri


Benzer Konular
- SAÜ. TEF. Nesneye Yönelik Prog. Giriş (JAVA) Dersi Slayt Sunumları ve Örnekleri.
- topraklama raporları örnekleri
- Siemens PLC uygulama örnekleri tam 200 adet

- wincc örnekleri...

- villa elektrik proje örnekleri
- 8051 de kaydırma metodu ile çarpma ve bölme örnekleri
- Zelio FBD Örnekleri
- Elektrik Kumanda Devreleri Örnekleri
- güç trafolarında statik elektrifikasyon ve arıza örnekleri

- robot yapımı ile ilgili açıklamalı bir site

- Açıklamalı Elektrik kuvvetli akım ve zayıf akım birim fiyat listesi

Sitemize üyelik ve içeriğin indirilmesi tamamen ücretsizdir. Sitemizde paylaşılan tüm dokümanlar (Tezler, makaleler, ders notları, sınav soru cevaplar, projeler) paylaşımcıların bireysel çalışmaları olup telif hakları kendilerine aittir ya da açık bir şekilde kamusal alana yerleştirilmiş dokümanların birer kopyalarıdır. Kişilerin bireysel çalışmalarını sitemizde yüklemesinde, sitemizde paylaşıma teşvik eden puanlama sisteminin de etkisi büyüktür. Bunlara rağmen hala size ait olan ve burada bulunmasına izin vermediğiniz dokümanlar varsa iletişim bölümünden yöneticilere bildirmeniz durumunda derhal silineceklerdir.
Powered by phpBB | Translated by phpBB Turkiye | Ads by Google Adsense | Design by Crazy Bat based
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72