ya arkadaşlar biraz sahip olduğum bilgiye gore asm. ile yazılan komutlarda call komutu ile alt program cagırma komutu ile kesema alt programının kullanımı arasındaki fark sanırıım birisi donanımsal değişiklik ile (buton gibi) birisi ise yazılımsal olarak yapılması ve kontrolunun dısardan mumkun olmaması ya ama anlamadığım timer kullanımı arkadaşlar ben kesme alt programının içine donguler oluşturarak timer gibi bi program yazabilrim bole ise eger timerin farkı ya da gerekliliği nedir.. şimdiden teşekürler
PIC bir interrupt durumunda program akisini keser ve ilgili alt yordami calistirir, normal program isleyisinde alt yordamin cagrilmasi icin program akisinda uygun harici etkenin olusmasi ve sirasinin gelmesi gereklidir. ornegin program akisindan bagimsiz olarak saniyede bir pic in birseyler yapmasini isteyebilirsiniz. ya da bir butona bastiginda pic in yaptigi isi bitirmesini beklemeden birseyler yapmasini, interruptlar bu gibi durumlarda kullanilir. Eger ingilizce konusunda sorunun yok ise.
bu linkten interruptlar ile ilgili yaziyi okuyabilirsin.
yok interrup ları anladığımı düşünüyorum da ya sorun olan nokta biraz timer lar sanki gerksizmiş gibi geliyor ya da işlevini başka kodlar yardmı ile yapıyorum sanki o yüzden gereksiz gib geldii mi acabaa..??
Daha karmaşık uygulamalarda kullandığın işlemcinin işlem gücünü boşa harcamadan zamanı bilmek isteyeceğin durumlar olacak. Oralarda timerı kullanman şart olacak.
Biraz detaya inersek, şu an zamanı gecikme döngüleri ile yapıyorsun. Gecikme döngüleri de zaman harcamak için boş yere sayıyorlar. Örneğin röleyi aç 5 sn sonra kapa. burada gecikme kullanmanda bi sakınca yok.
Ama daha karmaşık işler yaptığını düşün. böyle boşa harcıyacak işlem gücün olmadığında 8 bitlik bir timer 0-100 arasında sayması için 155 yükleyip, Timer Kesmesini açıp sen ana programda işlemlerine devam edip beklediğin zaman geldiğinde sana Kesme vasıtasıyla haber verecektir.
Pek açıklayıcı olmadığını düşünüp şu son örneği vermek istiyorum. Gecikme rutinini, çalar saati olmayan bi adam olarak düşün, oturduğu yerde saniyeleri sayarak, hiç bir iş yapmadan sayıp bekleyen adam. Timer ise çalar saat gibi kurarsın kendi işine bakarsın ve gereken zaman geldiğinde çalar (kesme üretir) ve sana haber verir.
Onun için işlemcinin yapması gereken görevler arttığında veya izlemesi gereken olaylar arttığında boş yere sayacak 5 saniye olmayacak ve Timer kullanacaksın. Timerlar onun için değerlidir. Bazı işlemcilerde 1 den fazla vardır. Bazen çok fazla timer'a ihtiyaç duyduğu durumlarda sayan donanım timerını takip eden ayrı bir yazılım ile yüzlerce yazılım timerı da üretilir.