21.08.2013 Views

Mikro Bilgisayarlı Sistem Tasarımı - Fırat Üniversitesi

Mikro Bilgisayarlı Sistem Tasarımı - Fırat Üniversitesi

Mikro Bilgisayarlı Sistem Tasarımı - Fırat Üniversitesi

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

5.6.1.Reset Ve Kesme Durumu<br />

Reset (başlama) vektörü: Enerji uygulandığında (Power-on) mikroişlemcinin içinde veya dışında<br />

olan bir elektronik devre ile yeniden başlatılması olayı reset işlemidir. Bu devre “power-on reset”<br />

adı ile kılıf içerisine yerleştirilmiştir. Çalışmaya başlatılan mikroişlemci, kendi program sayacını<br />

özel bir sayı ile yükler. İşte bu sayı, o mikroişlemci için, reset vektör adresidir. Örnek olarak,<br />

16F877 reset vektör adresi 0000H ‟dır.<br />

Kesme (Interrupt) vektörü: <strong>Mikro</strong>işlemci program belleğindeki programı çalıştırırken, sırası<br />

belirsiz, acilen yapılması gerekli yordamları da çalıştırabilir. Sırası ve ne zaman ortaya çıkacağı<br />

bilinemeyen bu işleri yapmak için mikroişlemci, bir yolla dışarıdan veya kendi içinden<br />

uyarılmalıdır. Gelen uyarıdan mikroişlemcinin bazı birimleri etkilenir. Bu birimlerden biri olan<br />

program sayacına, özel bir sayı yüklenir. Bu sayı, o mikroişlemcinin kesme (interrupt) vektör<br />

adresidir. Örnek olarak, 16F877 için kesme vektörünün adresi 0004H ‟dır. Kesme sırasındaki<br />

uyarıdan etkilenen diğer birim, yığındır. Yığın, program içinde bir altpogram kullanıldığında, bu alt<br />

programdan, asıl program blokuna dönülecek adresi tutar. Kesme de bir altprogram gibi ele alınır.<br />

Kesmeye sapıldığında (kesmenin bir çağırma komutu yoktur, herhangi bir anda devreye girebilir),<br />

kesme bölümünden sonra dönülecek adres PC‟ den yığına yerleştirilir. Daha sonra kesme<br />

yordamının komutları işlenir. Kesmeden çıkış komutu olan RETFIE, altprogramdan çıkış komutu<br />

RETURN gibi çalışır. RETFIE komutu ile, programda dönülecek yerin adresi yığından alınıp, PC‟<br />

ye geri yüklenir. Böylece kesmeden sonra, program bloğu içinde işlemeyi bıraktığı yere döner ve<br />

kalan komutları işlemeye devam eder.<br />

İç içe kullanılan altprogramların en „çok sekiz olabileceğini söylemiştik. Bunlara kesme<br />

bölümleri de dahildir. Kesmeleri dahil etmezseniz, yığın taşmasına neden olursunuz. Yığın taşması<br />

oluştuğunda bizi uyaracak, herhangi bir uyarı-flag yazmacı bulunmamaktadır.<br />

5.7. Durum (Status) Kayıtçısı<br />

STATUS kayıtçısı ALU biriminin, aritmetik işlem sonucundaki durumunu, CPU test<br />

durumlarını ve veri belleğine ait küme (bank) seçme bitlerini tutar. Herhangi bir kayıtçı gibi,<br />

STATUS da bir komuta hedef olabilir. Yani, içeriği okunabilir, değiştirilebilir. Ancak, TOve PD<br />

isimli bitler sadece okunabilir, değiştirilemez.<br />

Eğer, bu kayıtçının içeriği CLRF STATIJS komutuyla, silinmek istenirse; sadece üst üç bit 0<br />

olur. Bu komut sonunda STATUS ‟un içeriği 000d d1dd değerini alır. Burada d:değişmeyen<br />

anlamındadır.<br />

BCF, BSF, SWAPF, MOVWF komutları ile TOve PD bitleri hariç, diğer bitlerin içeriği<br />

değiştirilebilir.<br />

STATUS kayıtçısının Kayıtçı dosyasındaki adresleri: 03H, 83H, 103H, 183H<br />

İbrahim Türkoğlu, <strong>Fırat</strong> <strong>Üniversitesi</strong> - Elektronik ve Bilgisayar Eğitimi Bölümü, Elazığ- 2010. 54

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!