اطلاعیه

Collapse
No announcement yet.

ارتباط کی پد 4*4 نمایش بر روی سون سگمنت

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

    ارتباط کی پد 4*4 نمایش بر روی سون سگمنت

    سلام دوستان
    من یک پروژه کی پد 4*4 همراه با نمایش بر روی 7seg می خوام که اعداد 0 تا 9 رو بر روی سون سگمنت نمایش بده زبانش هم اسمبلی باشه برای دانشگاه می خام همراه با فایل پروتیوس .
    با تشکر فراوان
    انجمن LABVIEW
    http://www.eca.ir/forum2/index.php?board=279.0
    اموزش ميكروكنترلرهاي AVR به زبان ساده
    http://www.eca.ir/forum2/index.php/topic,7070.0.html

    #2
    پاسخ : ارتباط کی پد 4*4 نمایش بر روی سون سگمنت

    سلام
    دوست عزیز این سورس اسکن صفحه کلید 4*4 به زبان اسمبلی است :
    فایل های پیوست شده

    دیدگاه


      #3
      پاسخ : ارتباط کی پد 4*4 نمایش بر روی سون سگمنت

      سلام دوست عزیز
      من این پروژه را کامل شبیه سازی شده دارم.ایمیلت را بصورت پیام خصوصی بفرست تا برات ایمیل کنم.راستی کی پد4*3 هست
      هر گاه خداوند تو را به لبه پرتگاه هدايت کرد به خدا اطمينان کن،يا تو را از پشت خواهد گرفت يا به تو پرواز کردن خواهد آموخت.

      دیدگاه


        #4
        پاسخ : ارتباط کی پد 4*4 نمایش بر روی سون سگمنت

        سلام من میخوام توسط 3 سون سگمنت و کیپد اعداد 0تا 180 درجه را SINوCOS محاسبه کنم,اما تا دو رقم اعشار با جدول LOOK UP TABLE مقادیر رو بر روی سون سگمنت قرار بده.میشه کمکم کنید؟خیلی به کمک احتیاج دارم و خیلی خیلی ممنون میشم کمکم کنید؟

        دیدگاه


          #5
          پاسخ : ارتباط کی پد 4*4 نمایش بر روی سون سگمنت

          نوشته اصلی توسط Mary2000 نمایش پست ها
          سلام من میخوام توسط 3 سون سگمنت و کیپد اعداد 0تا 180 درجه را SINوCOS محاسبه کنم,اما تا دو رقم اعشار با جدول LOOK UP TABLE مقادیر رو بر روی سون سگمنت قرار بده.میشه کمکم کنید؟خیلی به کمک احتیاج دارم و خیلی خیلی ممنون میشم کمکم کنید؟
          سلام
          چجور کمکی؟ کجاش موندید دقیقا؟

          دیدگاه


            #6
            پاسخ : ارتباط کی پد 4*4 نمایش بر روی سون سگمنت

            درواقع این یک پروژه درسی هست که باید تحویل بدم.ببینید من میخوام مثل ماشین حساب که اعداد رو به ترتیب اولویت برامون تبدیل به دهگان یا صدگان میکنه در اینجا هم با هربار کلیلک کردن عددقبلی رو داخل سون سگمنت جدیدقرار بده.یعنی اگر ما 3سون سگمنت داشته باشیم و از سمت راست به چپ شماره گذاری کنیم با کلیلک اول عدد در سون سگمنت اولی قرار گیرد و اگر دکمه مثلا تقسیم رو زدیم سینوس رو محاسبه کنه اگرم دکمه ای به غیر از تقسیم فشرده شده بیاد عدد قبلی رو داخل سون سگمنت 2 بریزه و مقدار جدید رو بگذاره داخل سون سگمنت 1 و دوباره بیاد چک کنه اگر کلیدی به جز کلید تقسیم فشار داده شده بیاد عددی که در سون سگمنت دومی هست رو کپی کنه داخل سون سگمنت سومی ومقدار اولی رو بگذاره در دومی و این مقدارجدیدی که وارد کردیم را بگذاره داخل سگمنت اولی و وقتی دکمه تقسیم را میزنم سینوس را از طریق LOOK UP TABLE به من تا دو رقم اعشار برگردونه.
            حالا من در نحوه مقایسه آن موندم که چطور اینکار رو انجام بدم با زبان اسمبلی و چطور میتونم کدی که برای نمایش اعشارهست رو بر روی سگمنت نمایش بدم؟
            خیلی خیلی ممنون میشم در نوشتن کدش به زبان اسمبلی کمکم کنید.

            دیدگاه


              #7
              پاسخ : ارتباط کی پد 4*4 نمایش بر روی سون سگمنت

              نوشته اصلی توسط Mary2000 نمایش پست ها
              درواقع این یک پروژه درسی هست که باید تحویل بدم.ببینید من میخوام مثل ماشین حساب که اعداد رو به ترتیب اولویت برامون تبدیل به دهگان یا صدگان میکنه در اینجا هم با هربار کلیلک کردن عددقبلی رو داخل سون سگمنت جدیدقرار بده.یعنی اگر ما 3سون سگمنت داشته باشیم و از سمت راست به چپ شماره گذاری کنیم با کلیلک اول عدد در سون سگمنت اولی قرار گیرد و اگر دکمه مثلا تقسیم رو زدیم سینوس رو محاسبه کنه اگرم دکمه ای به غیر از تقسیم فشرده شده بیاد عدد قبلی رو داخل سون سگمنت 2 بریزه و مقدار جدید رو بگذاره داخل سون سگمنت 1 و دوباره بیاد چک کنه اگر کلیدی به جز کلید تقسیم فشار داده شده بیاد عددی که در سون سگمنت دومی هست رو کپی کنه داخل سون سگمنت سومی ومقدار اولی رو بگذاره در دومی و این مقدارجدیدی که وارد کردیم را بگذاره داخل سگمنت اولی و وقتی دکمه تقسیم را میزنم سینوس را از طریق LOOK UP TABLE به من تا دو رقم اعشار برگردونه.
              حالا من در نحوه مقایسه آن موندم که چطور اینکار رو انجام بدم با زبان اسمبلی و چطور میتونم کدی که برای نمایش اعشارهست رو بر روی سگمنت نمایش بدم؟
              خیلی خیلی ممنون میشم در نوشتن کدش به زبان اسمبلی کمکم کنید.
              گفتید به اسمبلیه؟ متاسفانه من زیاد تو اسمبلی وارد نیستم و نمیتونم کدی براش بنویسم. تا حدودی میفهمم و روال کار رو میدونم ولی فعلا نمیتونم بنویسم
              به صورت کلی شما باید یک ساب روتین برای اسکن صفحه کلید داشته باشید که باهاش طی زمان، مدام صفحه کلید رو اسکن کنید. برای سون سگمنت هم پیشنهاد میدم از وقفه تایمر استفاده کنید. کافیه یک آرایه (نمیدونم تو اسمبلی اسم خاصی داره یا نه) داشته باشید که مقدار هر لحظه سون سگمنت ها رو در خوردش داشته باشه و روتین وقفه با توجه به اون سون سگمنت رو مقدار دهی و اسکن کنه. حتما باید بدونید که سون سگمنت های چند رقمی نیاز به اسکن شدن دارن!
              برای Lookup Table هم نگران نباشید. لزوما لازم نیست حتما مقادیر اعشاری داشته باشه. کافیه شما فقط سینوس زوایای 0 تا 180 درجه رو از قبل حساب کنید و به ترتیب با 2 رقم اعشار به صورت عدد صحیح داخل جدول ذخیره کنید که راحت تره. موقع نمایش چون میدونیم جدولمون بر اساس دو رقم اعشاره، راحت نقطه اعشار رو روی رقم سوم سون سگمنت میذاریم.
              پیشنهاد میکنم برنامه رو به چند فاز تقسیم کنید. به این صورت که در فاز 1 مثلا عدد یکان بگیرید و داخل متغیر 1 ذخیره کنید و به فاز بعدی برید، توی فاز 2 یکانی که از مرحله قبل گرفتید داخل متغیر 2 کپی کنید و عدد در یافتی بعدی رو در متغیر 1 ذخیره کنید بعد به فاز بعدی برید، توی فاز 3 دقیقا کاری شبیه به مرحله قبل بکنید. توی فاز 4 متغیر های 1، 2 و 3 رو با ضرب و جمع کردن با هم ترکیب میکنید، بعد با قرار دادنش توی Lookup Table سینوسش رو بدست میارید و میذارید توی آرایه ای که گفتم برای سون سگمنت در نظر گرفتید و باز بر میگردید به فاز 1. سون سگمنت هم توی یک برنامه تقریبا مستقل توی روتین وقفه تایمر اسکن میشه و از این بابت نگرانی نداریم. البته این ها ریزه کاری زیاد داره که باید رعایت کنید. این عملیات هایی هم که گفتید نمیدونم اگر فلان کلید زد فلان عملیات انجام بشه هم توی همین قالب قابل پیاده سازیه.

              دیدگاه


                #8
                پاسخ : ارتباط کی پد 4*4 نمایش بر روی سون سگمنت

                ممنون ولی میدونید در واقع من از سون سگمنت های تکی استفاده میکنم برای نمایش اعداد یعنی 3تا سون سگمنت تکی جدا ازهم و سون سگمنتی که استفاده میکنم چند رقمی نیست.

                دلیل: ادغام دو پست برای جلوگیری از اسپم

                الان مثلا 0.63 رو به صورت صحیح وارد میکینیم63 خب؟بعد پورت های 3و0و2 ,وصل سگمنت هامون هستند برای نمایش 3 باید روی پورت3 باشد و6هم روی پورت 0.چطور بیام اینهارو جدا کنم به نظرتون؟
                درمورد روتین وقفه هم من گذاشتم ولی دوباره بعد از وقفه مقدار ها رو یکی میکنه و روی سگمنت به من نمایش میده و این یکی از خطاهایی بود که استادمون هم گفت چاره ی آن هم طبق گفته شما گذاشتن روتین وقفه بود.اما برای من کار نکرد.
                نظرتون چیه در این بابت؟

                دیدگاه


                  #9
                  پاسخ : ارتباط کی پد 4*4 نمایش بر روی سون سگمنت

                  نوشته اصلی توسط Mary2000 نمایش پست ها
                  ممنون ولی میدونید در واقع من از سون سگمنت های تکی استفاده میکنم برای نمایش اعداد یعنی 3تا سون سگمنت تکی جدا ازهم و سون سگمنتی که استفاده میکنم چند رقمی نیست.

                  دلیل: ادغام دو پست برای جلوگیری از اسپم

                  الان مثلا 0.63 رو به صورت صحیح وارد میکینیم63 خب؟بعد پورت های 3و0و2 ,وصل سگمنت هامون هستند برای نمایش 3 باید روی پورت3 باشد و6هم روی پورت 0.چطور بیام اینهارو جدا کنم به نظرتون؟
                  درمورد روتین وقفه هم من گذاشتم ولی دوباره بعد از وقفه مقدار ها رو یکی میکنه و روی سگمنت به من نمایش میده و این یکی از خطاهایی بود که استادمون هم گفت چاره ی آن هم طبق گفته شما گذاشتن روتین وقفه بود.اما برای من کار نکرد.
                  نظرتون چیه در این بابت؟
                  اگر جدا باشه که چه بهتر! دیگه تایمر هم نمیخواد.
                  فرض که سون سگمنتا از یکان به بالا به ترتیب روی پورت های A و B و C باشن. مگر قرار نشد Lookup Table یه چیز اختیاری باشه؟ خوب شما برای به ازای هر زاویه ۳ عدد توی جدول ذخیره میکنید که شامل یکان دهگان و صدگان باشه. اینطوری خیلی راحت سون سگمنتا رو میشه مقدار دهی کرد. کافیه عدد یکان رو به پورت A، دهگان رو به B و صدگانم به پورت C بدید. تازه اگر اعداد تفکیک شده نباشن هم با تقسیم کردن و باقی مانده گرفتن به ۱۰ و ۱۰۰ میشه رقم ها رو از هم جدا کرد. باقی مانده گرفتن به ۱۰ یکان میده، تقسیم به ۱۰ و بعد باقی مانده گرفتن از ۱۰ دهگان رو میده، تقسیم به ۱۰۰ و بعد باقی مانده به ۱۰ گرفتن هم صدگان رو میده.

                  دیدگاه

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