kesme yaparak doğru saniyeyi nasıl yakalıcam

tersoll

Üye
Katılım
25 Nis 2010
Mesajlar
142
Puanları
1
Yaş
39
#include "C:\Users\server\Desktop\aaaaa\main.h"
#int_TIMER0
int i=0;
void TIMER0_isr(void)
{
set_timer0(60);
i++;
if (i==50){
output_high(pin_b0);
}

}


void main()
{
output_b(0x00);
setup_timer_0(RTCC_INTERNAL | RTCC_DIV_256); // Timer0 ayarlar? yap?l?yor
set_timer0(60); // TMR0 deg(eri belirleniyor
enable_interrupts(INT_RTCC);
enable_interrupts(INT_TIMER0);
enable_interrupts(GLOBAL);

// TODO: USER CODE!!

}





her 50ms de 20 kesme nasıl yapıcam 1sn tutturmak için
 
her kesme meydana geldiğinde bir sayacı artırırsın sayaç 20 olunca istediğini yaparsın.
 
bir örnek verebilirmisiniz formu geziyorum kaç saattir bulamadım
 
bu konuyu bilmiyorum o kadar baktım hiçbirşey anlamadım yapmak istediğim sadece 16f84a ile saniyeler aralığında röle çekip bırakıcam ve devreyı kurdum çalışıyor ama saniyeleride denk getirdim mi benden mutlusu yok :)
 
şu gönderdiğim programı derleyip gönderemezmisiniz rica etsem
 
yapmışsın zaten yukarıdaki örnekde. timer0 60 yüklemişsin kesme süresi =1usx256x(256-60)=0.05sn yapar sen sayacı 50 kez saydırmışsın bu durumda zaman=50x0.05=2.5sn eder sayacını 1sn yapmak için 20 yapmalısın. if(i==50) satırını if(i==20) olarak değiştirmelisin.
 
tm da ısıs de deniyorum lamba yanıp sönmüyor ama çıkış vermiyor
 
buraya yaptığıma sevindim şimdi bir ledi yakmam gerekiyo b0 ı yaktırıyorum ama yanmıyor buraya kadar geldim yardımcı olun lütfen
 

Forum istatistikleri

Konular
128,188
Mesajlar
915,703
Kullanıcılar
449,956
Son üye
CharmanDear

Yeni konular

Geri
Üst