WDT(Watch Dog Timer – Bekçi Köpeği Zamanlayıcısı)

Mikrodenetleyi içinde ayrı bir donanım zamanlayıcıdır. Bu zamanlayıcının kullanım amacı diğer timerlardan biraz farklıdır. Adı üstünde programın bekçiliğini yapmaktadır.  Program bekçiliği nasıl olur? Şöyle ki program içinde yapılacak işlerde aksama durumu olabilir veya program kilitlenebilir veya sapıtabilir. Yani kontrolden çıkar. Böyle durumlarda WDT imdadımıza yetişir. WDT programı resetler (yeniden başlatır) ama status registerinde bu durumu belirtir.

PIC’i sleep (uyku) modundan çıkartmak için de kullanılabilir.

Okumaya devam et

Timer0 Zamanlayıcı Uygulaması

Timer0’ı zamanlayıcı olarak kurmak için sayıcı girişine sistem clock sinyali uygulanır. Bu sinyalin her saykılında ölçeklendirmeye göre belirli bir oranda sayma gerçekleşir. Zamanlayıcı olarak kullanımda kesme kullanılacaktır.

Okumaya devam et

Timer0 Sayıcı Devresi

sayici_ornek

PIC12F ve 16F serilerinde 8-bit, 18F serisinde 16-bitlik bir sayıcı/timerdır. Clock kaynağı sistem clock’u ise timer, harici kaynaksa sayıcı olarak isimlendirilir. Pek çok alanda uygulama imkanı vardır. Örnek vermek gerekirse bisiklet hız ölçer, rüzgar türibini devir ölçer, kronometre vb.

Okumaya devam et

PORTB Change Interrupt (PORTB Değişim Kesmesi)

rbchange_kesme_kapı

PORTB’nin 4,5,6,7 pinlerinde meydana gelen değişiklik kesmesidir. Gerekli kesme ayarları yapıldıktan sonra bu pinlerde oluşabilecek değişiklik  anında mikrodenetleyici ana programı bekletir ve kesme rutinine gider,  kesme alt programındaki program kodlarını işledikten sonra tekrar ana programda kaldığı yerden devam eder. Burada önemli bir hususa dikkatinizi çekmek isterim; hangi pinde kesme istiyorsak sadece onu giriş olarak yapılandırmalıyız. Bir diğer husus kesme hem düşen kenarda hem de yükselen kenarda oluşur. Kesme alt programında girişin “1” veya “0” olma durumuna göre kod yazılabilir.

Okumaya devam et

PIC16F628 Mikrodenetleyicisinde Kesmeler ve RB0/INT Kesmesi

2012-12-19-Dont-Interrupt

Interrupt (Kesme) Nedir?

Bütün bilgisayar ve mikrodenetleyicilerde interrupt(kesme) bulunur.  Kesme (Interrupt)   mikrodenetleyiciler ve işlemcilerde  kullanılan ve gerçekten çok önemli olan bir kavramdır.  Kesmenin ne olduğunu bir örnek ile basitçe açıklayacak olursak; siz işsiz bir elektronik mühendisiniz ve iş arıyorsunuz. Pek çok işyerine CV bıraktınız. Her an aranabilirim diye telefon bekliyorsunuz. Aynı zamanda mesleğiniz ile ilgili çalışmalar yapıyorsunuz. Tam tasarım aşamasında telefon geldi. İş ümidiyle telefonun ikinci kez çalmasına müsaade etmeden telefonu açıyorsunuz ve işinize ara veriyorsunuz. Telefon görüşmesi bitince de kaldığınız yerden devam ediyorsunuz. İşte kesme böyle birşey. Önceliği yüksek işlerin, mikrodenetleyici tarafından ana program akışı kesilerek yapılmasına kesme diyoruz.  Eğer bir kesme kaynağından mikrodenetleyiciye uyarı gelir ise mikrodenetleyici yapmakta olduğu işi bekletir, kesme alt programına gider, o programı icra eder, daha sonra ana programda kaldığı yerden devam eder. Peki biz kesmeleri nerelerde kullanırız? Genellikle çok hızlı yapılması gereken işlemlerde, anlık tepki verilmesi gereken yerlerde kesmeleri kullanırız. Örnek vermek gerekirse; bütün alarm sistemlerinde, dijital dimmerdeki  gibi faz tespitinde, zamanlayıcılarda vb.

Okumaya devam et