Mikro Bilgisayarlı Sistem Tasarımı - Fırat Üniversitesi
Mikro Bilgisayarlı Sistem Tasarımı - Fırat Üniversitesi
Mikro Bilgisayarlı Sistem Tasarımı - Fırat Üniversitesi
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