CCP1 Pininde Oluşan Düşen ve Yükselen Kenarlar

Başlatan oongit, 16 Şubat 2011, 08:59:01

oongit

Merhaba Arkadaşlar...

16F877A'nın CCP1 pininde 250 Hz.'lik bir PWM oluşturdum. Şimdi de; bu 250 Hz.'lik frekansın, her düşen kenarında (yani her "0" verdiğinde) başka bir pini tetiklemek istiyorum. Timer0,1 ya da 2 kesmeleriyle mi, ya da daha farklı yöntemlerle mi? Bunu nasıl yapabilirim?

Şimdiden teşekkür ediyorum...

Not: Şu anda bulunduğum PC'de Proteus ve CCS C olmadığı için kod ve resim ekleyemiyorum.

eseneren

Seçim yapmak için durum hakkında bilgi sahibi olmak zorunda değilsin, sonucuna hazır olmak için durum hakkında kaygılanırsın.  http://bit.ly/gixfTk

oongit

4 MHz.'de evet... Periyodu da 250µs. ON, 3750 µs OFF...

vebsel

pwm interrupt yokmu atmel de var ama pic te nasıl kullanılıyor bilmiyorum atmelde  timer in taşmasında yada durum değiştirmede interrupt üretiyor pic te de muhakkak vardır

pcb

Pwm çıkışını transistörlerle yükselterek fet i sürebilirsin.

18F877 datasheet 57. sayfada, PWM ile TMR2 paylaştıkları frekans aynı ve aynı zamanda interrupt olabilir yazıyor tabloda. buradan yola çıkarak her 1 artan sayıda kesme yaptırırsan buda pwm başlangıç veya bitişine yani yükselen veya düşen kenara denk gelir. bence yükselen kenardan kesme yaptırıp Pulse genişliği + okumak istediğin kaçıncı mikrosaniye ise delay yaparak o anki noktayı adc ye okutman.

Genel olarak böyle, başka yöntemlerle de yapılabilir.