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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

9.3. Zaman Gecikmesi ve Alt Programlar<br />

Bazı işlemlerin yapılması sırasında belirli bir zaman hiçbir şey yapmadan beklenmesi<br />

gerekir. Zaman geciktirme işlemlerini yazılım döngülerini kullanarak yapabildiğimiz gibi,<br />

donanımın bize sunduğu özel geciktirmeler yapabiliriz. Biz zaman geciktirme döngüsünde, gecikme<br />

zamanını tespit etmek için komutların çevrim süreleri dikkate alınır. RC osilatör kullanılan PIC<br />

devrelerinde bir komutun çevrim süresini hassas olarak hesaplamak kolay değildir. Ancak kristal<br />

veya seramik osilatör kullanılan devrelerde hassas gecikme döngüleri yapabiliriz.<br />

edebilirler.<br />

PIC‟in geciktirilmesi için ilk başta kullanıcılar NOP komutlarını kullanmayı tercih<br />

Örneğin NOP komutu ile 0,1 milisaniyelik bir gecikme yaratmak için ne kadar NOP komutu<br />

gerekir. (Kristal Osilatör 20 Mhz)<br />

PIC16F877 için Bir komutun çevrim süresi = 4×0.05µsn = 0.2 µsn<br />

Aynı gecikme için NOP komut sayısı ise (0.1×10 3 )/(0.2) = 500 adettir.<br />

Bu sayıda NOP komutunun ardarda yazılması belleğin gereksiz biçimde dolmasına yol açar.<br />

Bu yöntem iyi bir programlama tekniği olarak da önerilmez. Bunun yerine daha az sayıda komut<br />

kullanarak, istenilen gecikmeyi sağlayabiliriz.<br />

Örnek 9.8: PIC ile yapılan devrede çalışan ledleri 39 milisaniye aralılarla yakıp söndüren program<br />

ve akış şeması. (PORTD deki RD3…RD0 bağlı olan ledleri)<br />

Başla<br />

Başlangıç tanımları<br />

İlk değerleri çağır<br />

Led yak söndürü<br />

çağır<br />

Gecikmeyi çağır<br />

Son<br />

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

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

Saved successfully!

Ooh no, something went wrong!