Etepic

Ana Tema => Forum Kuralları, Haberler ve Duyurular => Konuyu başlatan: Analog - 13 Kasım 2023, 23:32:26

Başlık: TIMER1 kesmesinde prescaller değerini nasıl 1:64 olarak ayarlayabilirim
Gönderen: Analog - 13 Kasım 2023, 23:32:26
PIC628A işlemcisini 20Mhz hızında kullanıyorum. Bu işlemcide Timer1 kesmesinde 500 mili saniyelik kesmeler oluşturmak istiyorum. PicMultiCalc programına göre 500 mili saniye kesme oluşturmam için Timer1 kesmesini 1:64 prescaller değeri çıkıyor. İşlemcinin datashettinde 1:8 prescaller değeri var, bunu 1:64 çıkartabilir miyim yardımlarınızı bekliyorum arkadaşlar.
Başlık: Ynt: TIMER1 kesmesinde prescaller değerini nasıl 1:64 olarak ayarlayabilirim
Gönderen: oguztkn - 14 Kasım 2023, 00:39:25
TMR1 prescaller max 1:8 olarak gözüküyor. O zaman 500ms yerine 100ms'lik kesme kur. Sonra kesme içerisinde sayaç değişkeni ata. Bu değişkeni her kesmede 1 arttır ve 5 olduğunda 500ms'lik kesme olmuş gibi işlem yapmayı dene istersen. Direk çözüm değil ama bir arka yoldan gidiş diyelim :)
Başlık: Ynt: TIMER1 kesmesinde prescaller değerini nasıl 1:64 olarak ayarlayabilirim
Gönderen: ete - 14 Kasım 2023, 09:47:28
Çözüm mümkün olan enbüyük bölme oranını (1/8) kullanıp karşılık gelen süreyi ihtiyacınız olan sayıda çalştırmak. Başka yolu yok

Ete
Başlık: Ynt: TIMER1 kesmesinde prescaller değerini nasıl 1:64 olarak ayarlayabilirim
Gönderen: Analog - 14 Kasım 2023, 21:41:40
Tamam hocam, çok teşekkür ederim.
Başlık: Ynt: TIMER1 kesmesinde prescaller değerini nasıl 1:64 olarak ayarlayabilirim
Gönderen: ete - 15 Kasım 2023, 11:48:33
Bazen donanımın gerektirdiği hızda çalışmak daha uygun olur.
Bir sakınca yok ise TMR1 sayacını 500ms lik dilimler halinde çalıştırman mümkün .
Bunun için 4Mhz OSC hızını kullanman , bölme oranını 1/8 alman ve önyükleme değerini 3036 olarak vermen yeterli.

20 Mhzde ise 500 ms için TMR1 sayacını 100ms lik dilimler halinde çalıştırıp 5 kesme saydırman yeterli. Yukarıdaki ayarları kullanacaksın yine.

Ete