16f628 RB5 VE RB6 ucu normal çalışmıyor.

Başlatan i3uz, 29 Mart 2016, 11:14:12

i3uz

Arkadaşlar merhaba,
 7 butonlu zamanlayıcı devresinde diğer uclar normal şekilde kararlı çalışırken RB5 VE RB6ÇIKIŞLARI , A5 ve A6 butonlarına basıldıgında sürekli çıkış veriyor sebebi nedir acaba. ama üç ve dört ledili yapınca çalışıyor. 7li yaptığımda hatalı çalışıyor.


#include <16F628A.h>
#FUSES NOWDT, PUT, INTRC_IO, NOMCLR, NOBROWNOUT, NOLVP
#use delay(clock=4000000)
 
#use fast_io(a)       
#use fast_io(b)
 
int8 sayac=0, led1=0, led2=0, led3=0 ;
 
#int_TIMER0
void timer0_kesmesi() {
if(++sayac == 61) 
 {               
   sayac = 0;
   if(++led1 == 10) // 10 saniye
      {               
      output_low(PIN_B4);
      led1=0;
      }
   if(++led2 == 10) // 10 saniye
      {               
      output_low(PIN_B5);
      led2=0;
      }
   if(++led3 == 10) // 10 saniye
      {               
      output_low(PIN_B6);
      led3=0;
      }
 }
}
     
void main() {
   setup_comparator(NC_NC_NC_NC);
   setup_vref(FALSE);
   set_tris_a(0b11111111);
   set_tris_b(0x00);
   output_b(0b00000000);
   setup_timer_0(RTCC_INTERNAL|RTCC_DIV_64|RTCC_8_bit);
   enable_interrupts(INT_TIMER0); //kesme aktif
   enable_interrupts(GLOBAL);
 
   while(TRUE) //ana döngü
   {
     
   if(!input(PIN_A0)) //buton1
      {
      led1=0;
      output_high(PIN_B4);
      while(!input(PIN_A0)){}
      }               
   if(!input(PIN_A1)) //buton2
      {
      led2=0;
      output_high(PIN_B5);
      while(!input(PIN_A1)){}
      }
    if(!input(PIN_A2)) //buton3
      {
      led3=0;
      output_high(PIN_B6);
      while(!input(PIN_A2)){}
      } 
   }
 
}

Teori gerçek verileri vermez, pratikte yaptıkların doğru verilerdir.
Tanrı Türk'ü korusun
        TA1OME

Hızlı Yanıt

Not: Bu konu bir moderatör tarafından onaylanmadan görüntülenmeyecektir.

Adı:
E-Posta:
Doğrulama:
Lütfen bu kutuyu boş bırakın:
IRFP250 Nedir:
kısayollar: göndermek için alt+s veya önizleme yapmak için alt+p'ye basın