Picde capture compare ?

Başlatan WrtM, 29 Temmuz 2013, 16:42:10

WrtM

Merhaba arkadaşlar piclerde capture compare birimlerini bir türlü anlayamadım , o kadar kaynak okudum hala nasıl çalıştıklarını bilmiyorum. Bu birimlere neden
ihtiyaç duyarız ? (pwm hariç) birde bu birimler ile bir palsin boyunu nasıl ölçeriz ? (frekans metre uygulaması için ) istediğim şey ccs için kodları değil sadece nasıl çalıştığını merak ettim.

fatih6761

Hocam CCP modülü MikroE de anlatılmış:
http://www.mikroe.com/chapters/view/6/
Capture modunda inen, çıkan, 4. çıkan ve 16. çıkan kenarlarda sizin seçiminize göre Timer1 içeriği CCP reg.larına aktarılıyor. Böylece giren işaretin kenarları arasındaki süreyi timer tick cinsinden ölçebiliyorsunuz.
Compare modunda Timer 1 içeriği CCP reg.ı içeriğine eşit olduğunda CCP pininin değeri değişiyor. Nasıl değişeceği ise tabloda belirtilmiş:
CCP1M3   CCP1M2   CCP1M1   CCP1M0
1   0   0   0   Output and CCP1IF bit are set on match
1   0   0   1   Output is cleared and CCP1IF bit is set on match
1   0   1   0   Interrupt request arrives and bit CCP1IF is set on match
1   0   1   1   Bit CCP1IF is set and timers 1 or 2 registers are cleared
Not : Bunlar linkteki dökümandan alıntıdır.

WrtM

Teşekkür ederim hocam da eğer capture birimini kullanırsan timer1 'i feda etmem gerekecek değil mi? Yani captureda pals genişliğini ölçtüğümde timer1 'i başka amaçlar için kullanamayacağım.

fatih6761

Galiba donanımsal olarak öyle...

sadogan

18f serisinde tmr1 bir feda etmenizde bir sakınca yok.
tmr3 ü diğer işlerde kullanabilirsin.