اطلاعیه

Collapse
No announcement yet.

استفاده از دوتا پوش باتن

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    استفاده از دوتا پوش باتن

    سلام بچه ها خسته نباشین!!!
    من میخام با استفاده از دوتا پوش باتن حرکتLED رو کنترل کنم.
    مدارمم این طوریه که 5 تا LED دارم و اول شروع برنامه LED سوم روشنه.به محض اینکه یکی از باتن ها رو فشار بدم باید جاش عوض شه(یکی از باتن ها حرکت به چپ یکی هم حرکت به راست).مشکلمم اینه که فقط یکی از باتن ها درست کار میکنه.اگه امکانش هست راهنمایی بکنین مرسی!
    اینم کدی که نوشتم با C تو ATMEL studio
    #include <avr/io.h>
    int main(void)
    {
    int r,l;
    int i=2;
    DDRB =0b11111111;
    DDRD =0b00000000; //Makes all pins of PORTD input
    while(1) //infinite loop
    {
    r=PIND & (1<<PD0) ;
    l=PIND & (1<<PD1) ;
    PORTB=(1<<i);
    if(r==1) //If right switch is pressed
    {
    i=i-1;
    if (i<1)
    i=5;
    PORTB=(1<<i); //Turns ON i LED
    }
    if (l==1)//If left switch is pressed
    {
    i++;
    if (i>5)
    i=1;
    PORTB=(1<<i);
    }

    }
    }

    #2
    پاسخ : استفاده از دوتا پوش باتن

    نوشته اصلی توسط kevinas
    سلام بچه ها خسته نباشین!!!
    من میخام با استفاده از دوتا پوش باتن حرکتLED رو کنترل کنم.
    مدارمم این طوریه که 5 تا LED دارم و اول شروع برنامه LED سوم روشنه.به محض اینکه یکی از باتن ها رو فشار بدم باید جاش عوض شه(یکی از باتن ها حرکت به چپ یکی هم حرکت به راست).مشکلمم اینه که فقط یکی از باتن ها درست کار میکنه.اگه امکانش هست راهنمایی بکنین مرسی!
    اینم کدی که نوشتم با C تو ATMEL studio
    بهتره وضعیت باتن و با تایمر صفر و وقفه اون چک کنید ، مثلا یه وقفه 1 میلی ثانیه درست کنید و هر ده پانزده بار که وقفه اتفاق میافته وضعیت باتن رو بخونید .
    تنها دو روز در سال هست که نمیتونی هیچ کاری بکنیآ‌! یکیآ‌ دیروز و یکیآ‌ فردا . . .

    دیدگاه

    لطفا صبر کنید...
    X