Ana içeriğe git

Haberler

Konu: Button,Led,Logic (317 Kez okunmuş) önceki konu - sonraki konu

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.
Button,Led,Logic
MCU : 16f628a
Osilatör : dahili 4 Mhz

Mevcut kodlar ile sadece butona basıldığında 2 farklı port dan çıkış alıyorum led ve logic olarak.

yapmak istediğim butona bastığım da led ve logic açık kalmalı. tekrar bastığım da kapanmalı. nasıl yapılır ?

mevcut kod
Kod: [Seç]

void main(void) {
CMCON=7;                   
    TRISBbits.TRISB0=0;                     // RB0 Pini Çıkış Olarak Ayarlanıyor
    TRISBbits.TRISB5=0;                     // RB5 Pini Çıkış Olarak Ayarlanıyor
    TRISAbits.TRISA0=1;                     // RA0 Pini Giriş Olarak Ayarlanıyor
    Led,Loc,Button=0;
   
        for(;;)
        {                                                // Program Sonsuz Donguye Sokuluyor
            Led=Loc=(Button=1)?1:0;        // Button'un durumunu Led'e Yükle
        }                                                // Döngü Sonu
}

  • FxDev
  • [*][*]
Ynt: Button,Led,Logic
Yanıt #1
Debounce olmadan bu işler olmaz. Bir çok sorun yaşanır.
Onun için debounce kodlarınızı tanımlamanız gerekmektedir.

Daha sonra basit bir şekilde;

if(buton basılı mı)
{
    LED^=1; LOC=LED;
}

Yapıp kodu bitirirsiniz.