TCCR1A: çoğunlukla portun pwm özelliğini ayarlamak için kullanılır. 0 yapılırsa pwm etkin olmaz.
TCCR1B: clock kaynağı ve prescaler değeri için ayarlanır örneğin TCCR1B = 0x04 yapılırsa 1/256 olur ve 16Mhz lik kristal varsa her timer vuruşu 16,000,000/256 frekansta olur ve 16ns periyotta olur.
TCNT1: Timer vuruş sayısını buraya kaydeder ve her vurduğunda buradaki sayı bir artar. örneğin bir ses sinyali gönderilip bu register 0 yapılırsa ve sinyal bir yere çarpıp geri döndüğünde bu registerdaki değer okunup ses hızıyla çarpılırsa mesafe bulunur. Genellikle bu iş için kullanılır.
OCR1: Bu registerdaki değer kullanıcı tarafından yazılırsa TCNT1 içindeki değer bu değere ulaşınca eğer TIMSK1 registerindeki OCIE1A/B biti 1 yapıldıysa
TIFR1 registerindaki OCF1A/B biti 1 olur ve kullanıcı bu biti kullanarak kesme üretir. Tüm timer kesmeleri bu register üzerinden verilir.
TIMSK: Yukarıda bahsettiğim gibi timer kesmesinin nasıl olacağına karar verir TOE1 biti aktifse timer1 overflow olunca yani register 16 bit olduğuna göre 65565 kere timer vuruşundan sora kesme verir veya OCIE1A/B biti aktifse yukarıda yazdığım gibi OCR1B registerinde tutulan değere ulaşınca kesme verir.
ICR1: eğer TCCR1B içinden ICNC1 ICES1 bitleri aktif olursa port pini üzerindeki değişikliklere göre kesme üretir. örneğin yükselen kenar olarak ICES1 ayarlanırsa pin üzerindeki voltaj bir değere ulaştığı anda TIFR1 içindeki ICF1 biti 1 olur ve TCNT değeri otomatik olarak kaydedilir. Bu özellik ise dışarıdan gelen bir sinyalin periyodunu ölçmek için kullanılabilir.
İnşallah bu soruyu ödev filan olduğu için değil gerçekten işine yaracağı için sordun. Türkçe kaynak yok dedin diye belki ileride birileri aratırsa işine yarar diye cevap yazdım. Benim kanaatime göre datasheet okuyacak kadar ingilzcesi olmayan bu işi bıraksın yada oturup ingilizce öğrensin.
Belki birilerinin işine yarar diye bir video bırakıyorum maalesef bu videoda ingilizce bilgi veriyor ama en azından timer1 kullanılarak 1 saniyelik bir kesme nasıl verilir onu öğrenebilirsin.