اطلاعیه

Collapse
No announcement yet.

راهنمایی برای ایجاد منو در AVR

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

    راهنمایی برای ایجاد منو در AVR

    دوستان برای انجام یک پروژه نیاز به ایجاد یک منو دارم. به این صورت که پس از فشردن کلید منو عبارت زیر روی lcd نمایش داده بشه:
    1)option 1
    2)option 2
    3)option 3
    4)option 4
    و پس از فشردن یکی از دکمه های 1، 2، 3 یا 4 وارد یکی از منو های نوشته شده نمایش داده بشه. به عنوان مثال ما فرض میکنیم کاربر کلید 1 رو فشار داده و زیر منوی option 1به صورت زیر برای اون نمایش داده شده:

    1)sub 1
    2)sub 2
    3)sub 3
    4)sub 4

    و دوباره به همین ترتیب خود زیر منوهای sub هم توسط یکی از کلید های 1، 2، 3 یا 4 باز بشن و شامل گزینه های دیگری از منو باشن. مشکل اینجاست، هنگامیکه کاربر کلید یک رو به عنوان مثال فشار میده برنامه صبر نمیکنه تا اگه کاربر دوباره کلید 1 رو فشار داد وارد زیر منوی sub بشه و به صورت متوالی از صفحه ی اول منو وارد زیر منوی 1 sub میشه. لطفا من رو راهنمایی کنید و یه شبه کد نمونه به من معرفی کنید که بشه باهاش این مشکل رو حل کرد.

    #2
    پاسخ : راهنمایی برای ایجاد منو در AVR

    اگر با دستور if کار میکنید مثلا به شکل زیر
    if portx,y = 1 then goto option X
    باید اون رو به شکل زیر اصلاح کنید
    if portx,y = 1 then
    back:
    if portx,y = 1 goto back
    goto option x
    endif
    حالا اگه کلیدی زده بشه در if دوم میمونه تا دست رو از کلید بردارید تا به اون لیبل بره

    دیدگاه


      #3
      پاسخ : راهنمایی برای ایجاد منو در AVR

      همون طور که دوستمون گفت بعد از اینکه مقدار کلید خوانده شد یه while بزار که شرط اون فشرده شدن کلید باشه
      اینطوری تا وقتی کلید نگه داشتی داخل حلقه باقی میمونه
      بعدشم یه تاخیر 200 میلی ثانیه بزاری بهتره
      [glow=red,2,300]تاپيک هاي ايجاد شده[/glow]

      دیدگاه


        #4
        پاسخ : راهنمایی برای ایجاد منو در AVR

        نوشته اصلی توسط ADMlN
        همون طور که دوستمون گفت بعد از اینکه مقدار کلید خوانده شد یه while بزار که شرط اون فشرده شدن کلید باشه
        اینطوری تا وقتی کلید نگه داشتی داخل حلقه باقی میمونه
        بعدشم یه تاخیر 200 میلی ثانیه بزاری بهتره
        دوست عزیزم ممنون از پاسخت ولی من نمیخوام تا زمانی که کلید فشار داده میشه وارد منوی دوم نشه. من میخوام اگه کاربر یک بار کلید 1 رو فشار داد و وارد زیر منوی دوم شد و دستشو از روی دکمه ی 1 برداشت،( توجه کنید که الان روی ال سی دی مختویات منوی option 1 داره نشون داده میشه) حالا اگه دوباره 1 رو فشار داد وارد زیر منوی sub 1 بشه. این برنامه رو دارم در کدویژن مینویسم.

        دیدگاه


          #5
          پاسخ : راهنمایی برای ایجاد منو در AVR

          نوشته اصلی توسط ali_invention
          دوست عزیزم ممنون از پاسخت ولی من نمیخوام تا زمانی که کلید فشار داده میشه وارد منوی دوم نشه. من میخوام اگه کاربر یک بار کلید 1 رو فشار داد و وارد زیر منوی دوم شد و دستشو از روی دکمه ی 1 برداشت،( توجه کنید که الان روی ال سی دی مختویات منوی option 1 داره نشون داده میشه) حالا اگه دوباره 1 رو فشار داد وارد زیر منوی sub 1 بشه. این برنامه رو دارم در کدویژن مینویسم.
          خب یا دستور while اول روتین منوی sub بزار
          یا بهتره از یه متغییر استفاده کنی که وضعیت کلید داخلش ثبت بشه
          یعنی اگه کلیدی فشرده شد 1 بشه و اگه کلیدی فشرده نشد 0
          بنظرم PIC تو این پروژه بهتر کار میکنه
          اگه 4 تا کلید داری وقفه تغییر پورت B دقیقا همون چیزی هست که بهش نیاز داری
          [glow=red,2,300]تاپيک هاي ايجاد شده[/glow]

          دیدگاه

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