Posted by : Unknown
13 Temmuz 2015 Pazartesi
PİC PROGRAMLAMA-11
Capture modunda RC1 ve RC2 pinine gelen sinyale göre
degerlendirilir.Bunlardan herhangi birisine sinyal geldiginde TMR1 kaydecisi
içerigi CCPRxH;CCPRxL içerigine aktarılır ve bir kesme meydana gelir.İkinci bir
yakalama olayı meydana geldiginde o anki TMR1 degeri içerigi tekrardan aktarılır,eski
CCPRxH;CCPRxL nin eski degerleri silinmiş olur.
-Sinyalin her düşen kenarında (ccp_capture_fe)
-Sinyalin her yükselen kenarında (ccp_capture_re)
-Sinyalin her 4 yükselen kenarından sonra (ccp_capture_div_4)
-Sinyalin her 16 yükselen kenarından sonra (ccp_capture_div_16)
Gelelim kod kısmına;
#include <main.h>
int i=0;
#int_ccp1//CCP1 KESMESİ
void yak() {i++;//i degeri birer birer arttırılıyor
output_b(i);//i degişkeni b portuna gönderiliyor
if(i==16)//i degişkeni 16 ya eşit ise
{i=15;//i yi 15 yap
output_b(i);//i degişkenini b portuna gönder
}}
#int_ccp2//CCP' KESMESİ
void sondur(){i--;//i degişkenin bir azalt
output_b(i);//i degişkenini b portuna gönder
if(i==0)//ii degişjenini kontrol et
{i=1;//i ye 1 degerini ata
output_b(i);//i degişkenini b portuna gönder
}}
void main()
{setup_ccp1(ccp_capture_re);//CCP1 kesmesi ayarlaması
setup_ccp2(ccp_capture_re);//CCP2 kesmesi ayarları
enable_interrupts(int_ccp1);//ccp1 kesmesi aktif ettik
enable_interrupts(int_ccp2);//ccp2 kesmesini aktif yaptık
enable_interrupts(global);//aktif yapılan kesmelere izin verdik
set_tris_b(0*00);//b pinlerinin çıkış oldugu ifade edildi
set_tris_c(0xff);//c pinlerinin giriş olacagı ifade edildi
output_b(0*00);//b çıkışımızı sıfırladık
ccp_1_high=0*00;ccp_1_low=0*00;//CCP1 kaydedicimizin içerigini sıfırladık
ccp_2_high=0*00;ccp_2_low=0*00;//CCP2 kaydedicimizin içerigini sıfırladık
while(TRUE)
{
//TODO: User Code
}
}
Benzer Konular :
- Ana Sayfaya Dön »
- ccs c ile pic programlama , pic ile karasimsek devresi , pic ile kontrol , pic ile lcd kontrolü , pic ile led kontrol , pic ile otomasyon , pic nasıl programlanır , pic programlama »
- PIC PROGRAMLAMA DERSLERI 11