Adım Adım PIC Öğreniyorum 12
Yazı dizimizin bu bölümünde döngü gecikmelerinde geçen zamanın hesaplanmasını ve diğer komutları öğreniyoruz.
Bu yazımızda döngü gecikmelerinde geçen zamanın hesaplanmasını ve diğer komutları öğreneceğiz. Tek döngü ile yeteri kadar gecikme yapılamadığı için, en az iki döngü yapmak gerekmektedir. Bir çift döngüde geçen zamanı bulalım.
TOPLAM 196.608 Saykıl 4 Mhz frekans için bu 196.6 milisaniye yani 0.196 saniye yaklaşık 0.2 saniye eder.
Toplam 50.070.529 mikrosaniye ve yaklaşık 50 saniye yaklaşık 1 dakika eder.
Demekki 3'lü döngü ile yeteri kadar zaman elde edebiliriz. Eğer 4'lü bir döngü düzenlersek o zaman saatlerce sürecek bir zaman gecikmesi elde etmek mümkün olur.
Şimdi de bir tablo çizerek dörtlü bir döngü halinde ne olabileceğini görelim.
Sonuç olarak 12.767 sn'lik bir gecikme elde edilir. Bu da 212 dakika ve yaklaşık 3.5 saatlik bir gecikme olur. Bu yaklaşık 255 X50 saniye demektir, burada ilk 255 yerine decimal 100 girerseniz 100X50 saniye yani 5000 saniye elde edersiniz bu da 83 dakika eder. 1 girilirse 50 sn,10 girilirse 8.3 dakika elde edilir. İlk 255 sayısı yerine 1 den 255'e kadar değişen rakamlar girildiğinde 4 lü bir döngü için 50 sn'den 3.5 saate kadar uzanan bir zaman gecikmesi elde edilir.
5 li bir döngü halinde ise bu zaman bir ay (900 saat) civarındadır.
Bu teorik çalışmayı deneyelim.
Size iki adet ASM ve HEX file veriyorum.bunlardan 3 lü döngüyü denediğinizde 50 sn 4 lü döngüyü denediğinizde 2.5 dakika LED yandığını göreceksiniz.4'lü döngü programının ASM file'ında 3 yerine 5 koyarsanız 4 dakika 10 saniye gecikme görürsünüz. Bir deneyin bakalım.
2'li döngüde 255 X = 196.608 mikrosaniye X =771 mikrosaniye
3'lü döngüde 255 X = 50 saniye X= 0.196 saniye
4'lü döngüde 255 X = 12.768 saniye X= 50 saniye eder.
Bu ne demektir: Düzenlenen döngüde ilk değer olarak D '255' ile gösterilen kısma 1 ile 255 arasında değişen bir sayı girdiğimizde her bir sayı için buradaki X değeri ile çarparak gecikme süresini bulabiliriz.
Örnek:
2 li döngüde ilk değeri D'125' girersek 125X 771 =96,375 milisaniye elde ederiz
3 lü döngüde ilk değer D'150' girersek 150X0.196 = 29.4 saniye elde ederiz
4 lü döngüde ilk değer olarak D'80' girersek 80X50 = 1 saat 6 dakika 6 sn vs. elde ederiz
5 li bir döngüde ne olur bunu da siz bulunuz.