اطلاعیه

Collapse
No announcement yet.

یه مشکل کوچولو با Button!!

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

    یه مشکل کوچولو با Button!!

    با عرض سلام
    من تازه کار با AVR رو شروع کردم.
    حالا میخوام یه کلید به میکرو وصل کنم که تا وقتی فشرده نشده یه حلقه اجرا بشه و وقتی که کلید فشرده شد حلقه خاتمه پیدا کنه، توی محیط پرتیوس از یه Button استفاده کردم و یه سرش رو به 5V+ وصل کردم و توی برنامه اون پین رو در ابتدا صفر کردم و بعد شرط خروج از حلقه رو یک شدن اون پین قرار دادم ولی درست کار نمیکنه. اینجا کدم رو قرار میدم لطفا راهنمایی کنید:

    Reset Portc.0
    ...
    Do
    ...
    Loop Until Portc.0 = 0

    #2
    پاسخ : یه مشکل کوچولو با Button!!

    کلا بهتره کلید ها رو به زمین وصل کنی و از کد زیر استفاده کن(کلید به زمین وصل باشه):
    ddra.4=0:porta.4=1
    do
    ...
    if pina.4=0 then goto lable
    loop
    که لیبل قسمتی از برنامه است که باید به آن نقطه پرش شود

    دیدگاه


      #3
      پاسخ : یه مشکل کوچولو با Button!!

      سلام
      دوست عزیز برنامه جناب پروا درست است ولی در عمل یک چیز به نام دیبانس را در نظر نگرفتند و...
      شما وقتی کلید را می زنید امکان دارد دست شما چند دفعه بخوره البته در اینجا شاید مشکلی پیش نیاره ولی فرض کنید کلید شما به عنوان یک کلید افزایشی عمل می کند و شما یک بار کلید را فشار میدهید ولی انگار چند بار کلید را زدید . برای جلوگیری از این می تونید به شرط را به صورت زیر بنویسید:
      if pind.0=0 then
      waitms 150
      if pind.0=0 then goto label
      end if

      دیدگاه

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