Picproje Elektronik Sitesi

MİKRODENETLEYİCİLER => Atmel => Konuyu başlatan: aforizma - 10 Eylül 2015, 23:47:30

Başlık: Avr programlama prescaler nedir
Gönderen: aforizma - 10 Eylül 2015, 23:47:30
Arkadaşlar herkese merhabalar ben aranıza yeni katıldım. Hemen gireyim mevzuya bu prescaler hesabının içinden bir türlü çıkamadım nedir ne değildir oturmadı kafamda anlatabilecek olan varmı formul de karşımda ama ne nedir hala anlayamadım ve saniyeyi yakalamam için gereken hesabı bir türlü yapamadım...
Başlık: Ynt: Avr programlama prescaler nedir
Gönderen: Kabil ATICI - 11 Eylül 2015, 10:49:46
Lojik devreleri biliyorsan (ki işin temelini oluşturur), bildiğimizi bölücülerin aynısıdır. Sadece bölme oranı değiştirilir.

İşlemcinin saat frekansının belirlenen (datasheet'lerde belirtildiği oranda) böler.

Örneğin siz 4 ile bölecek şekilde ayarlarsanız, sistem saatiniz 4 MHz ise
bölücü sistem saatini 4'e  bölerek 1MHz sinyal üretir.

1 saniye yakalama olayında ise , bu sizin hangi tür timer hizmeti kullanacağınıza göre değişir.
diyelim ki yukarıdaki gibi bir durumda;
-Overflov (taşma) kullanacaksanız, 16 bit timer size tek başına yeterli olmaz.(Nedenini sen bul)
buradaki mantık timer'a öyle değer verirsin ki senin saymak istediğin değer kadar daha saysın ve taşma oluşsun! (aynı zamanda kesme Tabii)

Timer kapasitesi= timer ilk değeri+saymak istediğimiz değer

-Compare (değer karşılaştırma)
Burada doğrudan saymak istediğin değeri Compare registerlerine uygularsın , timer sayar ve o değere geldiğinde bir kesme üretir ve sen bu kesmeyi kullanırsın.

1 saniye için...
Timer'da sayılacak değer=Sistem saat frekansı/ön bölücü değeri


tabii ki yukarıda bahsi geçen konularda ilgili register ayarlarının yapıldığı varsayılmaktadır...
Başlık: Ynt: Avr programlama prescaler nedir
Gönderen: mehmet - 11 Eylül 2015, 12:56:04
Örneğin;
http://berik.net/0501kesmeler.php
Başlık: Ynt: Avr programlama prescaler nedir
Gönderen: aforizma - 13 Eylül 2015, 12:49:58
Çok teşekkür ederim :) Çok faydalı oldu benim için...