اطلاعیه

Collapse
No announcement yet.

کیپد 4*3

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

    کیپد 4*3

    دوستان سلام
    خوبید؟ خوشید؟ خرمید ؟

    من برای یه پروژه ای نیاز به کیپد با صفحه لمسی با mega16 دارم. همه چیز عالیه و خوب کار میکنه ( تا اونجا بگم که هنگام فشار دادن کلیدی کاری کردم که اون کلید یه حالت تو رفتگی پیدا میکنه و خیلی باحال شده :applause: ) ولی یه مشکل کوچیک دارم. چند روش واسه درک کردن عدد گرفته شده از کیپد تست کردم ولی جواب مناسبی نگرفتم ( شاید هم من نتونستم ) :angry:
    حالا خلاصه مسئله اینه:
    من یه متغیر Num دارم که عددی بین 1 تا 12 به ترتیب زیر میتونه داشته باشه !

    1=1
    2=2
    ... الی ...
    9=9
    10=.
    11=0
    12=enter

    ( مثال : num وقتی برابر با 1 میشه که روی صفحه لمسی عدد 1 رو لمس کرده باشم و یا num وقتی 12 میشه که رو صفحه لمسی دکمه enter رو لمس کرده باشم )

    خب حالا می خواهم برنامه ای تو بیسیک داشته باشم که بتونه 3 تا عدد چند رقمی ( شامل ممیز ) بگیره و همزمان که اعداد رو میگیره در قسمت مشخصی از ال سی دی (128*64) بنویسه ! ( دستور lcdat x,y,var )

    مثلا اول عدد 1325 رو بگیره و با زدن enter بره عدد دوم رو بگیره که مثلا 256.36 هست و دوباره با زدن enter بره عدد سوم رو بگیره و همشون (3 تا عدد رو ) تو متغیر جداگانه مثل a,b,c ذخیره کنه!

    من با luukup و کد اسکی و ... یه چیزایی نوشتم ولی کار نکرد
    میدونم خیلی سخت نیست ... ولی کارم گیر کرده
    اگه کمکم کنید ، ممنون میشم

    :nice:

    #2
    پاسخ : کیپد 4*3 با صفحه لمسی

    کسی نیست جواب ما رو بده ... :cry2: :cry2: :sad:

    دیدگاه


      #3
      پاسخ : کیپد 4*3

      اینم برنامه ای که خواسته بودی
      http://www.4shared.com/file/xJqBxUrF/noname10.html
      این برنامه را واسه ی دو رقم اعشار و اعداد چند رقمی نوشتم(خودت می تونی زیادش کنی).
      بعد از زدن ممیز فقط می تونی تا دو رقم اعشار بنویسی و باید برای استفاده ی مجدد مقدار s را در یک متغیر ذخیره کنی و سپس s را صفر کنی
      اگه مشکلی در مورد برنامه داشتی در خدمتم :smile:
      آموزش PIC

      دیدگاه


        #4
        پاسخ : کیپد 4*3

        نوشته اصلی توسط sfarm
        اینم برنامه ای که خواسته بودی
        http://www.4shared.com/file/xJqBxUrF/noname10.html
        این برنامه را واسه ی دو رقم اعشار و اعداد چند رقمی نوشتم(خودت می تونی زیادش کنی).
        بعد از زدن ممیز فقط می تونی تا دو رقم اعشار بنویسی و باید برای استفاده ی مجدد مقدار s را در یک متغیر ذخیره کنی و سپس s را صفر کنی
        اگه مشکلی در مورد برنامه داشتی در خدمتم :smile:
        ممنون !
        ولی یه مشکل دیگه هست ... یعنی چطور بگم من کیپد معمولی به میکرو وصل نکردم که (!) من یه صفحه لمسی وصل کردم و با خوندن خروجی های صفحه لمسی و یه برنامه کوچیک تونستم به میکرو بفهمونم که وقتی روی صفحه لمسی ( که روی ال سی دی تعبیه شده ) وقتی دکمه یک رو لمس میکنم، متغیر num برابر با "1" میشه!

        حالا دیگه کیپد نیست که پورت وردی براش تعیین کنم و با استفاده از دستور Getkbd() کیپد رو بخونم !!!

        ولی فکر کنم بتونم با تغییر کوچیک این مسئله رو هم حل کنم

        اگه حل نشد ، میگم

        دیدگاه


          #5
          پاسخ : کیپد 4*3

          می فهمم چی میگی آخه من خودم صفحه لمسی را یه بار ساختم :nerd:
          آموزش PIC

          دیدگاه


            #6
            پاسخ : کیپد 4*3

            نوشته اصلی توسط sfarm
            می فهمم چی میگی آخه من خودم صفحه لمسی را یه بار ساختم :nerd:
            دوباره سلام

            کار نکرد ! :sad:

            اصلا ممیز رو هم بی خیال شدم
            یه برنامه ای بدید که عدد رو دونه دونه از num بگیره و به رشته اعداد تبدیل کنه ! و با گرفتن مقدار 12 در num کارشو تموم کنه و اعدادی رو که قبل اون گرفته رو در یک متغیر جدید ذخیره کنه !

            مثلا :

            به ترتیب num برابر با 5 و 3 و 8 شد و بعد12 شد حالا بیاد اینا رو توی یه متغیر x اینطوری (538) ذخیره کنه و آماده گرفتن رشته اعداد دوم باشه و باز اونا رو در Y ذخیره کنه و ...

            :nerd:

            دیدگاه


              #7
              پاسخ : کیپد 4*3

              نوشته اصلی توسط تیزرو
              دوباره سلام

              کار نکرد ! :sad:
              اصلا ممیز رو هم بی خیال شدم
              یه برنامه ای بدید که عدد رو دونه دونه از num بگیره و به رشته اعداد تبدیل کنه ! و با گرفتن مقدار 12 در num کارشو تموم کنه و اعدادی رو که قبل اون گرفته رو در یک متغیر جدید ذخیره کنه !
              مثلا :
              به ترتیب num برابر با 5 و 3 و 8 شد و بعد12 شد حالا بیاد اینا رو توی یه متغیر x اینطوری (538) ذخیره کنه و آماده گرفتن رشته اعداد دوم باشه و باز اونا رو در Y ذخیره کنه و ...
              :nerd:
              این مورد تقریباً یک میلیون باری بحث شده ، و راهکارهای بسیار جالبی هم براش پیشنهاد شده
              ولی آخرین بحثی که راجع به اون بود و دوستان راه حل رو پیشنهاد داده بودند ،آ‌استفاده از یه ضرب و تقسیم ساده هست
              یک مثال ساده می زنم . شما هر عددی که از کی پد گرفتی رو داخل یک متغیر دیگه بریز و اون رو ضربدر 10 بکن .
              بعد دفعه بعدی باز عددی که میگیری با اون متغیر جمع کن و باز دوباره ضربدر 10بکن
              هر موقع که خواستی نوشتن عدد تموم بشه ،آ‌مثلا عدد 12 به قول شما ، اون متغیرت رو تقسیم بر 10 بکن و برو باهاش هر کاری می خوای بکن .
              این مثالی که پایین میزنم برای همینه ، x عددیه که از کی پد میگری و y عددیه که می خوای عدد نهایی داخل اون متغیر ریخته بشه

              x=keypad
              y=x+y
              y=y*10
              و اگر کلید 12 زده بشه
              y=y/10
              و حالا این y عددیه که شما دارید

              دیدگاه


                #8
                پاسخ : کیپد 4*3

                نوشته اصلی توسط تیزرو
                دوباره سلام

                کار نکرد ! :sad:

                اصلا ممیز رو هم بی خیال شدم
                یه برنامه ای بدید که عدد رو دونه دونه از num بگیره و به رشته اعداد تبدیل کنه ! و با گرفتن مقدار 12 در num کارشو تموم کنه و اعدادی رو که قبل اون گرفته رو در یک متغیر جدید ذخیره کنه !

                مثلا :

                به ترتیب num برابر با 5 و 3 و 8 شد و بعد12 شد حالا بیاد اینا رو توی یه متغیر x اینطوری (538) ذخیره کنه و آماده گرفتن رشته اعداد دوم باشه و باز اونا رو در Y ذخیره کنه و ...

                :nerd:
                اگه میشه برنامه ای که گفتید کار نکرد را بزارید تا چک کنم.
                آموزش PIC

                دیدگاه

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