اطلاعیه

Collapse
No announcement yet.

کمک در مورد اتصال کیبرد کامپوتر ب avr

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

    کمک در مورد اتصال کیبرد کامپوتر ب avr

    سلام دوستان
    من برنامه ی bascom اتصال کیبرد به avr رو نوشتم .عملی ام جواب گرفتم ولی مشکلم اینه که میخام بدونم که این جدول keydata که دوستان در آوردن یا تو کتاب مهندس کاه ام هست از کجا بدست اومده , کدها چجوری نوشته میشن ؟؟؟؟ :question:
    این اعدادو که میگن کد اسکی ء چجوری و بر چه اساسی اینجوری و پشت سر هم نوشته میشن ؟؟؟؟
    []Keydata:
    'normal keys lower case
    Data 0 , 159 , 0 , 152 , 143 , 141 , 142 , 164 , 0 , 154 , 158 , 153 , 144 , 9 , 0 , 0
    Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
    Data 0 , 99 , 120 , 100 , 101 , 52 , 51 , 0 , 0 , 32 , 118 , 102 , 116 , 114 , 53 , 0
    Data 0 , 110 , 98 , 104 , 103 , 121 , 54 , 0 , 0 , 0 , 109 , 106 , 117 , 55 , 56 , 0
    Data 0 , 0 , 107 , 105 , 111 , 48 , 57 , 0 , 0 , 46 , 47 , 108 , 59 , 112 , 45 , 0
    Data 0 , 0 , 39 , 0 , 91 , 61 , 0 , 0 , 0 , 0 , 13 , 93 , 0 , 0 , 0 , 0
    Data 0 , 0 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 0 , 0 , 134 , 28 , 0 , 0 , 0
    Data 0 , 44 , 31 , 0 , 135 , 30 , 10 , 0 , 163 , 0 , 0 , 0 , 0 , 0 , 0 , 0


    'shifted keys UPPER case
    Data 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    Data 0 , 0 , 0 , 0 , 0 , 81 , 33 , 0 , 0 , 0 , 90 , 83 , 65 , 87 , 64 , 0
    Data 0 , 67 , 88 , 68 , 69 , 36 , 35 , 0 , 0 , 32 , 86 , 70 , 84 , 82 , 37 , 0
    Data 0 , 78 , 66 , 72 , 71 , 89 , 94 , 0 , 0 , 0 , 77 , 74 , 85 , 38 , 42 , 0
    Data 0 , 60 , 75 , 73 , 79 , 41 , 40 , 0 , 0 , 62 , 63 , 76 , 58 , 80 , 95 , 0
    Data 0 , 0 , 34 , 0 , 123 , 43 , 0 , 0 , 0 , 0 , 13 , 125 , 0 , 166 , 0 , 0
    Data 0 , 0 , 0 , 0 , 0 , 0 , 8 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0
    Data 0 , 44 , 0 , 0 , 0 , 0 , 10 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0 , 0

    #2
    پاسخ : اتصال کیبرد کامپوتر ب avr

    کیبورد کامپیوتر هام دارای یک میکرو کنترولره که موقع فشار یک کلید کد مربوط به اون رو میفرسته به پورت. این کدها و کاراکتری که میفرسته استاندارد شدن و بدست آوردنی نیستن! مهم اینه که بالاخره کیبورد وقتی کلیدی فشار داده میشه کدی معادل فشار دادن اون کلید رو میفرسته. یعنی شما از کاراکتری که بدست میاد میتونی بفهمی که کدوم کلید فشار داده شده که فکر می کنم این کد ها رو IBM استاندارد کرد.به ویکی مرجعه کنی بد نیست
    http://en.wikipedia.org/wiki/Keyboard_%28computing%29

    دیدگاه


      #3
      پاسخ : اتصال کیبرد کامپوتر ب avr

      ممنونم که وقت گذاشتید
      اینهایی رو که گفتیدو متوجه شدم ولی بازم یه مشکل دیگه دارم اینکه بر چه اساسی مثلا نوشتن
      Data 0 , 159 , 0 , 152 , 143 , 141 , 142 , 164 , 0 , 154 , 158 , 153 , 144 , 9 , 0 , 0
      Data 0 , 0 , 0 , 0 , 0 , 113 , 49 , 0 , 0 , 0 , 122 , 115 , 97 , 119 , 50 , 0
      حالا اگه جای این اعداد عوض بشه چه اتفاقی میافته بر چه اساسو چه ترتیبی اینارو نوشتن ؟؟؟؟؟؟

      دیدگاه


        #4
        پاسخ : کمک در مورد اتصال کیبرد کامپوتر ب avr

        کسی نبود ؟؟؟؟؟؟؟ :angry: :angry: :angry: :sad:

        دیدگاه


          #5
          پاسخ : کمک در مورد اتصال کیبرد کامپوتر ب avr

          :question: :question:

          دیدگاه


            #6
            پاسخ : کمک در مورد اتصال کیبرد کامپوتر ب avr

            هر کاراکتری در صفحه کیبورد دارای کدی هست به نام اسکن کد که وقتی کلیدی را فشار می دهید (مثلا کد اسکن حرف A کد 1chexاست) این عدد به کامپیوتر (در حالت کلی Host) ارسال می کند. این کدها با کدهای اسکی فرق دارد .( مثلا کد اسکی حرف a برابر 61hex یا 97 است) راحت ترین کار برای اینکه کد اسکن را به کد اسکی تبدیل کنیم استفاده از جدول است.
            اساس جدول بدین صورت است که در مکان مورد نظر که آدرسش برابر کد اسکن است کد اسکی معادل را قرار می دهند.
            مثلا همین کاراکتر a در مکان 1chex از جدول مقدار کد اسکی آن را یعنی 97 یا 61hex قرار می دهند. (معادل کد اسکی بقیه کلیدها را با xx نشون دادم)
            []Keydata:
            Data xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx
            Data ,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,xx,97,xx,xx,xx
            همانطور که می بینید 28 تمین (1chex) عنصر جدول عدد 97 که معادل کد اسکی کاراکتر a است قرار داده شده است (جدول از اندیس صفر شروع می شود)
            در شکل زیر کد اسکن هر کلید با رنگ قرمز نشان داده شده است

            اما چرا دو تا جدول ؟
            بخاطر اینکه ما چیزی به نام کد اسکن حرف بزرگ یا کوچک نداریم. و برای حرف بزرگ یا کوچک یک کد اسکن ثابت بیشتر نداریم.
            حتی چیزی به نام Shift یا Alt که ما می شناسیم در کیبوردها وجود ندارد. و حتی با زدن CapsLock یا Numlock بصورت خودکار چراغها توسط کیبورد خاموش یا روشن نمی شوند.
            برای اینکه تشخیص بدهیم که از کدام جدول استفاده کنیم یا می توانیم شیف را برای میکرو تعریف کنیم و یا فقط به زدن کلید Capslock بسنده کنیم و زمانی که زده شد بین جدولها سویچ کند (مثلا یک عدد ثابتی را به جدول اضافه یا کم کند برای جدولی که گفتید 128 کم یا زیاد کند یا راه های دیگر) و چراغ مربوط به Caplock را نیز عکس کند یعنی روشن بود خاموش ،خاموش بود روشن کند با توجه به مقداری که قرار است اضافه یا کم شود)
            اگر مطالب کاملتر درباره نحوه کارکرد کیبوردهای PC می خواهید بدانید پیشنهاد می کنم
            مقاله ای که در آدرس زیر قرار داده ام را مطالعه کنید
            http://www.telec.blogfa.com/post-33.aspx
            هیچ کس و هیچ چیز نمی تونه مانع رسیدنت به آرزوهات بشه مگر خودت

            دیدگاه


              #7
              پاسخ : کمک در مورد اتصال کیبرد کامپوتر ب avr

              ممنون به خاطر توضیحاتتون
              خیلی کمکم کرد :job: :applause:

              دیدگاه

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