مسح رمز ورموز الأحرف. حول مسألة تقييم إشارات بيمين الرقمية. لوحات المفاتيح. إعداد رد الفعل في وحدة التحكم

  1. يوجد شريط بحث أعلى نافذة Google Play. وهذا هو بالضبط ما سوف نستخدمه. نقوم بتنشيط وكتابة اسم تطبيقنا. ليس من الضروري إدخاله على طول الطريق. بمجرد ظهور الكائن المشار إليه في لقطة الشاشة في نتائج البحث، ما عليك سوى النقر عليه.
  1. سيتم إعادة توجيهنا إلى الصفحة الرئيسية للبرنامج. يوجد زر أخضر كبير مكتوب عليه "تثبيت". انقر فوقه.
  1. نحن في انتظار انتهاء تنزيل التطبيق. نظرًا لأن وزنه يقل قليلاً عن 5 ميغابايت، فلن تستغرق العملية الكثير من الوقت.
  1. مستعد. بعد اكتمال التثبيت التلقائي يمكننا تشغيل البرنامج مباشرة من هنا.
  1. سيظهر أيضًا اختصار التشغيل على الشاشة الرئيسية (إذا تم تنشيطه في الإعدادات).

في هذه المرحلة، يكون تثبيت البرنامج قد اكتمل، ويمكننا الانتقال إلى نظرة عامة حول العمل معه.

في لقطة الشاشة أدناه يمكنك رؤية واجهة البرنامج. هنا يتم تقسيمها إلى 3 علامات تبويب رئيسية. يوجد أيضًا رمز إعدادات مصنوع على شكل ترس. يوجد في علامة التبويب "SCAN" الرئيسية 4 أدوات رئيسية:

  • مسح الرمز الشريطى. هذا ماسح ضوئي QR يعمل من خلال الكاميرا؛
  • الدخول اليدوي. وظيفة إدخال بيانات الكود يدويًا؛
  • فك التشفير من الملف. فك التشفير من ملف. من هنا يمكنك فتح رمز QR الذي تم تنزيله مسبقًا وقراءته؛
  • فك التشفير من URL. المسح عن طريق الرابط.

يوجد في الأسفل العديد من الأزرار التي لا توفر وظائف مفيدة. لا يجب أن تنتبه لهم.

دعونا نلقي نظرة على إعدادات البرنامج. هناك الكثير منهم هنا. ستكون هناك لقطات شاشة لمناطق التكوين المختلفة على شاشتك، ولكننا سنعرض ببساطة بعض النقاط الأكثر إثارة للاهتمام.

على سبيل المثال، في الشاشة الأولى يمكنك تمكين أو تعطيل صوت البرنامج. ويمكن فعل الشيء نفسه مع استجابة الاهتزاز. يمكنك ضبط وضع التشغيل عندما يبدأ تشغيل البرنامج فورًا من الماسح الضوئي، متجاوزًا القائمة الرئيسية. ميزة أخرى مهمة هي النسخ التلقائي للبيانات إلى الحافظة.

بمجرد أن نرغب في بدء المسح وتشغيل الماسح الضوئي نفسه، سيطلب البرنامج الوصول إلى موارد النظام الضرورية. وبطبيعة الحال، لا بد من حلها. انقر فوق الزر المحدد في لقطة الشاشة.

بعد ذلك، نقوم بوضع إطار الماسح الضوئي بحيث يقع الشريط الأفقي مباشرة على QR. حاول ألا تصافح يديك وفي نفس الوقت راقب تركيزك. بدون الحدة العادية، لن ينجح المسح.

لتمكين QR BARCODE SCANNER من العمل في ظروف الإضاءة المنخفضة، توجد إضاءة خلفية.

بمجرد التعرف على الرمز، سترى المعلومات الموضحة في لقطة الشاشة أدناه.

بالإضافة إلى مسح QRs ضوئيًا، يمكنك أيضًا إنشاؤها هنا. للقيام بذلك، انتقل إلى علامة التبويب الثالثة. لقد وضعنا علامة عليه في لقطة الشاشة. تعرض القائمة كافة أنواع البيانات التي يمكن تشفيرها. يتم دعم ما يلي:

  • دليل الهاتف الاتصال؛
  • رقم التليفون؛
  • عنوان URL؛
  • بريد إلكتروني؛
  • طلب؛
  • موقع؛
  • أي نص؛
  • إشارة مرجعية؛
  • حدث التقويم.

كل شيء يبدو مثل هذا:

بمجرد تحديد نوع البيانات وتحديده، كل ما علينا فعله هو النقر فوق الزر "تشفير". في هذه الحالة، قمنا بتشفير الرابط.

دعونا نحاول تشفير النص التعسفي أيضًا. للقيام بذلك، حدد العنصر المطلوب.

أدخل العبارة في الحقل المخصص ثم اضغط على زر "تشفير".

النتيجة تبدو رائعة. دعونا أيضا تغيير لونه. انقر فوق الزر المخصص لذلك.

حدد الظل المطلوب من اللوحة.

ونحن معجبون بـ QR المستلم.

دعنا ننتقل إلى البرنامج التالي، والذي يحتوي أيضًا على وظائف رائعة.

QR الروبوت رمز الماسح الضوئي

تطبيق آخر يمكن العثور عليه على Google Play. كما يمكنك تحميله من رابط مباشر على موقع جوجل. في الوقت الحالي، سوف ننظر إلى البرنامج نفسه.

هذا هو ما يبدو عليه اختصار تشغيل QR Droid Code Scanner - انقر عليه.

هذا التطبيق، على عكس التطبيق السابق، مصنوع باللغة الروسية، وبمجرد أن يبدأ، سنحتاج إلى النقر على الزر الذي يقول: "ابدأ".

الماسح الضوئي مرئي على الفور، ولكن أولا دعونا نلقي نظرة على إعداداته. اضغط على الزر الموجود في الزاوية اليمنى العليا.

في القائمة الرئيسية، تظهر 6 مربعات أزرار تعيد توجيه المستخدم إلى القسم المطلوب. ها هم:

لذلك، من أجل استخدام الماسح الضوئي، تحتاج إلى تنشيطه في القائمة الرئيسية، وبالإشارة إلى رمز الاستجابة السريعة، اضغط على زر "قراءة".

هنا يمكنك تحديد شاشة البداية وتعيين عنوان النسخ الاحتياطي وتكوين لغة واجهة البرنامج.

بعد ذلك يمكننا تثبيت آلية المسح. يتم استخدام إحدى الخوارزميات الخاصة: Zapper أو ZXing. يمكنك أدناه تمكين علامة التقاطع أو تعطيلها، وإعداد إجراء تلقائي بعد المسح، وتمكين عرض تلميحات الأدوات أو نسخ الرابط إلى الحافظة.

في هذا القسم، يمكنك تكوين الصوت وتشغيل الاهتزاز وإيقافه. تم أيضًا تكوين عملية تسجيل الإجراءات في السجل والتفاعل مع ساعات Android Wear الذكية.

بعد ذلك سنكون قادرين على تصدير أو استيراد النسخة الاحتياطية أو تحديد التاريخ.

السماح بإرسال بيانات مجهولة المصدر (من الأفضل تعطيلها)، أو تنشيط التحقق من رابط الأمان الذي تم استلامه أثناء المسح، أو تكوين المسح المجمع. تتوفر أدناه ميزات مثل التكبير/التصغير أو التمييز.

لكن إعداداتنا لا تنتهي عند هذا الحد. بالإضافة إلى الوظائف المذكورة أعلاه، لدينا ما يلي:

  • ضبط اتجاه الشاشة؛
  • العمل مع الكاميرا الأمامية.
  • تحليل الارتباط؛
  • عرض المتاجر.
  • وظيفة الانزلاق الموسعة؛
  • حظر بعض الأحرف الخاصة؛
  • تفعيل معاينة الويب.
  • البحث عن الصور المحفوظة.

تحتوي شاشة الإعدادات الأخيرة على ميزات مثيرة للاهتمام مثل تحديد الحد الأقصى لعدد المواضع، وتكوين ملفات CSV المخصصة، وهز الساعة الذكية، وحفظ المواضع المكررة.

بالإضافة إلى الإعدادات، يوجد في قائمة QR Droid Code Scanner عنصر يسمى "المزيد". دعونا نفكر في وظيفتها.

إليك الاحتمالات التالية:

دعونا نلقي نظرة على التطبيق الأخير، ولكن ليس أقل وظيفية، في قائمتنا.

NeoReader QR وماسح الباركود

هذا البرنامج كغيره يمكنك تحميله وتثبيته عبر جوجل بلاي أو عبر رابط مباشر. عندما يتم ذلك، يمكنك البدء مباشرة في العمل معه.

في المرة الأولى التي نطلق فيها الخدمة، سنحتاج إلى تلبية طلب الوصول. انقر فوق "السماح".

ثم ستظهر نافذة الإعدادات. هنا يمكنك اختيار اللغة وتحديد بلدك وجنسك وعمرك. يتيح لك مربعا الاختيار أدناه تمكين أو تعطيل وصول البرنامج إلى البيانات الجغرافية.

يمكنك بالفعل بدء المسح. قم بتوجيه الكاميرا نحو رمز الاستجابة السريعة وسوف يتعرف NeoReader QR & Barcode Scanner على محتواه تلقائيًا.

نعتقد أن هذه البرامج الثلاثة كافية تمامًا لأي شخص. اختر الخيار الأكثر ملاءمة لك واستخدمه وفقًا لتقديرك. سنتحدث عن بعض مميزات الأجهزة الصينية.

الوظيفة القياسية

تحتوي بعض الهواتف الذكية والأجهزة اللوحية (حسب العلامة التجارية) على وظيفة مسح رمز الاستجابة السريعة بشكل قياسي، ويمكن القيام بكل شيء بدون تطبيق. لن نقوم بإدراجهم جميعًا، بل سنتطرق فقط إلى الطراز من Xiaomi.

دعونا نلخص ذلك

ونتيجة لذلك، تعلمنا كيفية مسح رمز الاستجابة السريعة ضوئيًا على نظام Android بطرق مختلفة. نأمل أن تكون المقالة مفيدة لك. إذا كان لا يزال لديك أسئلة، اطرحها في التعليقات. سنحاول مساعدة الجميع.

حتى لو لم يحدث ذلك، سيخبرك أحد مستخدمي الموقع بالتأكيد بكيفية الخروج من الموقف وسيقدم لك نصائح عملية. كل ما عليك فعله هو إعادته إلى الحياة.

تعليمات الفيديو

ما دفعني للعمل على جهاز من هذا النوع هو أن أغلب أجهزة Gamemort سهلة التكرار لم تكن تسمح بتنفيذ عدد كافي من أزرار التحكم. تم تصميم منفذ ألعاب الكمبيوتر في الأصل لأربعة أزرار كحد أقصى. جميع أنواع الامتدادات أيضًا لا تتمتع بالمرونة المطلوبة. على سبيل المثال، يتيح لك ملحق CH Flightstick Pro، الشائع بين مستخدمي DIY، تنفيذ ما يصل إلى 14 زرًا، لكن لا يمكنك استخدام أي زرين في نفس الوقت - حول الطيران على مثل هذه الأجهزة في الألعاب التي يتعين عليك فيها "تحويل "الرأس" - في نفس الطيور يمكنك أن تنسى. تستخدم بعض الملحقات واجهة رقمية بحتة - يتم نقل البيانات حول الأزرار المضغوطة وانحراف المقبض عبر خطوط منفذ الألعاب الرقمية، والتي كانت تهدف في الأصل إلى نقل البيانات حول الأزرار الأربعة "القياسية". حتى أنني أعتبر مثل هذه الامتدادات زائدة عن الحاجة إلى حد ما. كما أن تحويل البيانات التناظرية إلى رقمية يؤدي إلى تعقيد تصميم عصا التحكم. بالإضافة إلى ذلك، لا تريد كل لعبة أن تفهم نوع الوحش "المرتبط" بها. ولوحة المفاتيح - ها هي، بكل مجدها المكون من 102 مفتاحًا! بالإضافة إلى ذلك، أضاف المشتركون في RU.GAME.FLIGHT الزيت على النار، حيث يسألون من وقت لآخر "كيف يمكنني ترويض لوحة المفاتيح وعبورها بالفرح؟" ويغادر بلا شيء.

باختصار، مهمة الجهاز هي "الجلوس" على الناقل بين لوحة المفاتيح والكمبيوتر ومحاكاة ضغطات المفاتيح على لوحة المفاتيح وفقًا للأزرار التي يتم الضغط عليها في الجهاز.

لذلك جلست لتطويره. قبل ذلك، كانت لدي خبرة في العمل مع العديد من المعالجات الدقيقة ووحدات التحكم الدقيقة. بشكل عام - الأصابع من الأذن إلى الأذن. واعتقدت بسذاجة أنني الآن سأتولى الأرصفة وأقوم بـ RTFM وفي غضون أسبوع سأكون على حصان أبيض. كانت المشكلة برمتها هي أنني لم أتمكن من العثور على وثائق حول بروتوكول نقل البيانات بين لوحة المفاتيح ووحدة التحكم سواء على الإنترنت أو في مؤتمرات Fido ذات الصلة. اضطررت إلى أخذ راسم الذبذبات وقضاء عدة أسابيع في تفكيك الأدوات المؤقتة ومحاولة تكرارها. ولذلك، فإن معظم المعلومات الواردة أدناه هي نتيجة لاستنتاجاتي وغير موثقة. إذا كنت مخطئًا بشأن شيء ما، سأكون سعيدًا لسماع تعليقاتك على راشبيلفي المملكة المتحدةنقطة شبكة.

المبادئ الأساسية لنقل البيانات

ينطبق كل ما يلي على لوحات المفاتيح PS/2 وAT، والتي تختلف فقط في تصميم الموصل (يمكن توصيله عبر محول).

يتم تبادل البيانات في اتجاهين بين لوحة المفاتيح ووحدة التحكم الموجودة على اللوحة الأم للكمبيوتر (يشار إليها فيما يلي ببساطة باسم "وحدة التحكم"). ترسل وحدة التحكم أوامر مختلفة (على سبيل المثال، تغيير حالة مصابيح LED أو سرعة التكرار التلقائي). تنقل لوحة المفاتيح رموز المسح للمفاتيح التي تم الضغط عليها (رمز المسح هو رمز للمفتاح، ويجب عدم الخلط بينه وبين رموز ASCII).

رموز المسح

مفتاح رمز المسح مفتاح رمز المسح مفتاح رمز المسح مفتاح رمز المسح
1 16 2 1E 3 26 4 25
5 2E 6 36 7 3D 8 3E
9 46 0 45 - 4E + 55
مسافة للخلف 66 فاتورة غير مدفوعة 0 د س 15 دبليو
ه 24 ر 2D ت ي 35
ش أنا 43 يا 44 ص 4 د
[ 54 ] 5 ب يدخل 5 أ السيطرة (L) 14
أ 1C س 1 ب د 23 F 2 ب
ز 34 ح 33 ج 3 ب ك 42
ل 4 ب ; " 52 ` 0E
التحول (L) 12 \ 61 ز 1 أ X 22
ج 21 الخامس 2 أ ب 32 ن 31
م 3 أ , 41 . 49 / 4 ا
التحول (ص) 59 البديل (ل) 11 فضاء 29 Caps lock 58
خروج 76 F1 05 F2 06 F3 04
F4 0 درجة مئوية F5 03 F6 F7 83
F8 F9 01 F10 09 F11 78
F12 07 قفل التمرير 7E * قفل الأرقام 77
7 8 75 9 7 د - 7 ب
4 6 ب 5 73 6 74 + 5 أ
1 69 2 72 3 7 أ 0 70
. 71 آلر(ص) E0-11 السيطرة (ص) E0-14 شاشة الطباعة E0-12-E0-7C
إدراج E0-70 يمسح E0-71 غادر E0-6B بيت E0-6C
نهاية E0-69 أعلى E0-75 تحت E0-72 صفحة لأعلى E0-7D
اسفل الصفحة E0-7A يمين E0-74 يدخل E0-5A / E0-4A

ملحوظة: تحتوي لوحة المفاتيح AT في الواقع على ثلاث مجموعات مختلفة من رموز المسح الضوئي. لقد أعطيت فقط القيم للمجموعة رقم 2 - القيمة الافتراضية.

عندما تضغط على أحد المفاتيح، تقوم لوحة المفاتيح بإرسال رمز المسح الخاص بهذا المفتاح إلى وحدة التحكم. عند الإصدار، قم أولاً بالبادئة 0F0h، ثم رمز المسح الضوئي للمفتاح الذي تم إصداره.

يتم إرسال مجموعات المفاتيح مع Shift وAlt وCtrl كسلسلة من رمزي المسح. من وجهة نظر وحدة التحكم، لا تختلف هذه المفاتيح عن أي مفاتيح أخرى. بنفس الطريقة، لا يختلف وضعا Num Lock وCaps Lock على مستوى الأجهزة - بل يختلفان على مستوى البرنامج حسب البرنامج الذي يخدم مقاطعة لوحة المفاتيح.

أود أن أناقش بإيجاز تنفيذ وضع التكرار التلقائي. كقاعدة عامة، يتم تعيين وظائف التكرار التلقائي إلى لوحة المفاتيح نفسها - بعد وقت معين، إذا لم يتم تحرير المفتاح، ترسل لوحة المفاتيح رمز المسح الضوئي نفسه تمامًا. إذا قمت بالضغط على مفتاح آخر في هذا الوقت، فسوف "ينتقل" رمز مسح ضوئي آخر إلى وحدة التحكم وسيتم اعتبار أنه تم الضغط على مفتاح واحد فقط. في الألعاب، يتم حل هذه المشكلة ببساطة - يعتبر المفتاح مضغوطا حتى وصول رمز المسح المقابل مع البادئة 0F0h. لذلك، لم أقم بتنفيذ وظائف التكرار التلقائي من حيث المبدأ.

بالإضافة إلى رموز المسح المذكورة أعلاه، يمكن للوحة المفاتيح إرجاع بعض أوامر الخدمة. لكن هذه الأوامر، وكذلك الأوامر الصادرة عن وحدة التحكم، ليس لها أي قيمة عملية في هذه الحالة. ولذلك، لن أتطرق إليهم.

وصف بروتوكول التبادل

يتم تبادل البيانات بين لوحة المفاتيح ووحدة التحكم بشكل غير متزامن باستخدام بروتوكول تسلسلي. جوهر النقل غير المتزامن هو أن البيانات يتم نقلها فقط عندما يكون هناك شيء يمكن نقله - يتم الضغط على/تحرير مفتاح على لوحة المفاتيح ويجب إصدار رمز المسح المقابل أو تحتاج وحدة التحكم إلى إصدار أمر إلى لوحة المفاتيح.

هناك خطين لتبادل البيانات - KBData وKBSync. عند إرسال رموز المسح، تقوم لوحة المفاتيح بتعيين البت التالي من البيانات على خط KBData وتؤكد الإرسال عن طريق نقل الإشارة من "1" إلى "0" على خط KBSync. عند تلقي البيانات من وحدة التحكم، تقرأ لوحة المفاتيح بت البيانات من خط KBData وتؤكد الاستقبال عن طريق نقل الإشارة على خط KBSync من "1" إلى "0". يمكن لوحدة التحكم الإشارة إلى عدم استعدادها لإرسال/استقبال البيانات بمستوى منخفض على خط KBSync. وفي بقية الأوقات، عندما لا تكون هناك بيانات للإرسال، يكون لدى كلا الخطين مستوى إشارة مرتفع. يبلغ معدل تكرار النبض لخط KBSync حوالي 10-25 كيلو هرتز.

يتم إرسال البيانات بالترتيب التالي: بتة بداية واحدة - "0"، وثمانية بتات بيانات، وبتة تكافؤ (مجموع كل البتات +1)، وبتة توقف واحدة - "1". بعد تلقي كل بايت من البيانات، تقوم وحدة التحكم بتعيين خط KBSync على مستوى منخفض، مما يشير إلى أنها مشغولة بمعالجة البيانات المستلمة وليست جاهزة لاستقبال البيانات التالية. ويمكن اعتبار هذا تأكيدا للقبول. تؤكد لوحة المفاتيح كل بايت من الأمر المستلم عن طريق إصدار الكود 0FAh. في حالة حدوث خطأ أثناء الإرسال، قد تطلب وحدة التحكم تكرار إرسال البايت الأخير عن طريق إصدار الأمر 0FEh. تتصرف لوحة المفاتيح بشكل مختلف - فهي ببساطة تتجاهل الأخطاء. لا أرى أي شيء قاتل في هذا - إذا كان نظامك يتعطل بشكل متكرر، فلا مكان له على سطح المكتب.

على الأرجح، كانت تفسيراتي مربكة للغاية، لذلك سأحاول توضيحها باستخدام مخططات زمنية متعددة.

عرض عام لنقل البيانات من لوحة المفاتيح (S1 - بت البداية؛ S2 - بت التوقف؛ D0-D7 - البيانات؛ P - بت التكافؤ؛ W - معالجة البيانات المستلمة)

مثال على نقل البايت لمدة 74 ساعة - المفتاح "6" الموجود على لوحة الأرقام. في هذا المثال، عندما تبدأ عملية النقل بواسطة لوحة المفاتيح، تشير وحدة التحكم إلى أنها غير جاهزة لتلقي البيانات وتنتظر لوحة المفاتيح حتى يصبح خط KBSync مجانيًا

تنفيذ الأجهزة

الآن سأنتقل مباشرة إلى وصف تنفيذ الجهاز في الأجهزة.

يتم توصيل الجهاز بفاصل إشارات KBSync وKBData ويمرر الإشارات من/إلى لوحة المفاتيح من خلال نفسه، ويستقصي حالة الأزرار الأربعة ويصدر رموز المسح المقابلة، وبالتالي محاكاة تشغيل لوحة المفاتيح.

يعتمد الجهاز على متحكم دقيق أحادي الشريحة AT89C2051. ينتمي متحكم AT89C2051 من Atmel إلى عائلة MCS-51 (نظيره المحلي هو MK-51). والفرق الرئيسي بين AT89C2051 وi8051 هو انخفاض استهلاك الطاقة، وتقليل عدد خطوط الإدخال/الإخراج إلى 15، وعدم القدرة على استخدام الذاكرة الخارجية. يمكن العثور على مزيد من المعلومات حول AT89C2051 وi8051 على www.atmel.com وwww.intel.com. بدلاً من AT89C2051، يمكنك استخدام AT89C51 أو i8051 (KR1816BE51) أو i8031 (KR1816BE31) مع ROM خارجي. لكن الخيارين الأخيرين، نظرًا لاستهلاكهما المتزايد للطاقة، يمكن أن يؤديا إلى انفجار فتيل وحدة تحكم لوحة المفاتيح.

في وحدات التحكم الدقيقة Atmel، بعد التعيين الرئيسي، تتم الإشارة إلى الحد الأقصى لتردد مولد الساعة بالميغاهيرتز. أنصحك بتثبيت متحكم مصمم لتردد 24 ميجا هرتز وكوارتز بتردد أعلى - 16-20 ميجا هرتز.

رسم تخطيطى. (R1-R4 - 47K؛ R5 - 10K؛ C1، C2 - 18pF؛ C3 - 1 فائق التوهج؛ D1 - AT89C2051؛ BQ1 - كوارتز 12-24 ميجا هرتز)

يتم استخدام السطر P1.4 كإخراج تمكين استقصاء الزر. يعد هذا أساسًا للتوسعات المستقبلية - سيتم استخدام الأسطر P1.4-P1.7 لإصدار عنوان الخط لاستقصاء الأزرار المضغوطة (ما يصل إلى 16 سطرًا يتكون كل منها من 4 أزرار). "0" على السطر P1.0-P1.3 يعني أنه تم الضغط على الزر المقابل.

يقوم العنصران C3 وR5 بتنفيذ دائرة تولد إشارة إعادة ضبط عند تطبيق الطاقة.

يتم توفير خطوط بيانات KBD من لوحة المفاتيح ووحدة التحكم إلى المدخلات P3.2 (INT0) وP3.3 (INT1). وبالتالي، فإن محاولة بدء نقل البيانات من لوحة المفاتيح أو وحدة التحكم تؤدي إلى حدوث مقاطعة مقابلة. إن الإجراءات الروتينية لخدمة هذه المقاطعات تبث ببساطة إشارات تتوافق مع نقل بايت واحد عبر وحدة التحكم الدقيقة. عندما لا يكون وحدة التحكم الدقيقة مشغولة بإرسال البيانات، يتم استقصاء الخطوط P1.0-P1.4، وتتم معالجة البيانات المستلمة وإصدار رموز المسح المقابلة إلى وحدة التحكم. يعطي هذا الإصدار الأولوية للبيانات المنقولة بواسطة الجهاز نفسه. ولذلك، يمكن في بعض الأحيان فقدان بيانات لوحة المفاتيح.

في ختام هذا القسم، سأقدم دبوسًا لموصلات لوحة المفاتيح AT وPS/2.

إشارة -KBReset هي إشارة اختيارية. قد تستخدم بعض وحدات التحكم هذا لإعادة ضبط لوحة المفاتيح.

نص البرامج الثابتة

أقدم النص المصدر للبرنامج الثابت لوحدة التحكم الدقيقة AT89C2051 على أمل أن يتمكن القارئ الفضولي من تصحيحي أو تكييف البرنامج للعمل مع نوع آخر من وحدات التحكم الدقيقة.

Org 0 sjmp start org 3 jmp from_keyboard ; INT0 org 13h jmp to_keyboard ; INT1 ابدأ الحركة a,#5 ; تحديد نوع المقاطعة mov tcon,a ; INT0 وINT1 في المقدمة - mov a,#0 ; الانتقال من "1" إلى "0" mov ip,a mov a,#85h mov ie,a mov a,#0ffh ; يتم تخزين آخر mov 6,a في العنوان 06h؛ الكود المعالج clr p1.4؛ تمكين حلقة الاستقصاء mov a,p1 ; تتم قراءة حالة الأزرار anl a,#15؛ - البتات الأربعة الأقل أهمية للمنفذ P1؛ د0 - أعلى؛ د1 - صحيح؛ D2 - أسفل؛ D3 - اليسار mov dptr,#hat_table ; قراءة البيانات حول أربعة أزرار movc a,@a+dptr ; ووسعت إلى ثمانية اتجاهات؛ د0 - أعلى؛ د1 - صحيح؛ D2 - أسفل؛ د3 - يسار؛ D4 - إلى اليمين؛ D5 - من اليمين إلى الأسفل؛ D6 - من اليسار إلى الأسفل؛ D7 - الحركة اليسرى لأعلى r2,a ; حفظ البيانات mov r0,a xrl a,6 ; إذا كانت البيانات الجديدة لا تختلف عن حلقة JZ؛ تم استلامه في الدورة السابقة - كرر الاستطلاع mov r1,#8 ; حلقة لثمانية بتات، حلقة 3 jnb acc.7، حلقة 2؛ "1" - كان هناك تغيير في دفع acc mov a,r1 mov dptr,#key_table-1 ; قم باستخراج رمز المسح المقابل movc a,@a+dptr Push acc mov a,r0 ; تسجيل R0 - علامة الضغط/التحرير rlc a ؛ تمت محاكاة المفتاح mov r0,a ؛ "1" - تم إصدار "المفتاح" pop acc mov acc.7,c ; إذا كان D7=1 - سيسبق رمز المسح 0f0h acall send_key ؛ إصدار رمز المسح الضوئي pop ac sjmp حلقة 2a حلقة 2 دفع ac mov a,r0 rlc a mov r0,a pop acc حلقة 2a rl a djnz 1,loop3 mov 6,r2 sjmp حلقة send_key mov ie,#80h ; تعطيل المقاطعات acall send2comp ; إرسال رمز المسح الضوئي mov ie,#85h ; تم تمكين المقاطعات ret send2comp jnb acc.7,send ؛ إذا لزم الأمر، 0f0h دفع acc mov a,#0f0h acall إرسال pop ac clr acc.7 mov b,#200 l9 nop djnz b,l9 إرسال Push 1 Push 0 clr p3.3 ; P3.3 - KBData mov b,#6 ; إصدار بت البداية l10 nop djnz b,l10 clr p3.5 mov b,#15 l2 nop djnz b,l2 setb p3.5 mov b,#6 l3 nop djnz b,l3 mov r0,#8 ; إخراج ثماني بتات بيانات وعد التكافؤ mov r1,#1 byte_loop xrl 1h,a rrc a mov p3.3,c mov b,#6 l6 nop djnz b,l6 clr p3.5 mov b,#15 l4 nop djnz b, l4 setb p3.5 mov b,#6 l5 nop djnz b,l5 djnz r0,byte_loop mov a,r1 mov c,acc.0 mov p3.3,c ; بت تكافؤ الإخراج mov b,#6 l8 nop djnz b,l8 clr p3.5 mov b,#15 l12 nop djnz b,l12 setb p3.5 mov b,#6 l13 nop djnz b,l13 setb p3.3 ; بت توقف الإخراج mov b,#6 l7 nop djnz b,l7 clr p3.5 mov b,#15 l11 nop djnz b,l11 setb p3.5 mov b,#200 l14 nop djnz b,l14 setb p3.5 pop 0 البوب ​​1 متقاعد from_keyboard ; نقل بايت واحد إلى وحدة التحكم mov ie,#80h Push psw Push acc Push b mov b,#2 in6 jnb p3. 4,in8 djnz b,in6 sjmp in7 in8 mov b,#10 in1 mov a,p3 rl a orl a,#11010111b mov p3,a jnb p3.4,in1 in2 mov a,p3 rl a orl a,#11010111b mov p3,a jb p3.4,in2 djnz b,in1 in3 mov a,p3 rl a orl a,#11010111b mov p3,a jnb p3.4,in3 mov p3,#0ffh in4 jb p3.5,in4 in5 jnb p3 .3,in7 clr p3.4 jnb p3.5,in5 in7 mov p3,#0ffh pop b pop acc pop psw mov tcon,#5 mov ie,#85h reti to_keyboard ; نقل بايت واحد إلى لوحة المفاتيح mov ie,#80h Push psw Push ac Push b mov b,#5 out61 jb p3.5,out7 djnz b,out61 setb p3.4 setb p3.2 out62 jnb p3.5,out62 out6 mov c ,p3.4 mov p3.5,c mov c,p3.3 mov p3.2,c jb p3.4,out6 out8 mov b,#10 out1 mov c,p3.4 mov p3.5,c mov c , p3.3 mov p3.2,c jnb p3.4,out1 out2 mov c,p3.4 mov p3.5,c mov c,p3.3 mov p3.2,c jb p3.4,out2 djnz b, out1 out3 mov c,p3.4 mov p3.5,c mov c,p3.2 mov p3.3,c jnb p3.2,out3 out7 mov p3,#0ffh pop b pop acc pop psw mov tcon,#5 mov على سبيل المثال، #85h reti hat_table؛ جدول لتوسيع البيانات المقروءة من المنفذ P1؛ الفهرس الموجود في الجدول عبارة عن رمز ثنائي مكون من أربعة بتات؛ البيانات - حالة المفاتيح الثمانية التي تمت محاكاتها؛ "0" - تم الضغط على المفتاح db 0ffh؛ left+right+up+down=مجموعة محظورة db 0ffh ; left+right+down=مجموعة محظورة db 0ffh ; left+up+down=مجموعة محظورة db 0bfh ; left+down=left-down db 0ffh ; left+right+up=مجموعة محظورة db 0ffh ; يسار + يمين = مجموعة محظورة db 07fh ; left+up=left-up db 0f7h ; اليسار ديسيبل 0ffh ; right+up+down=مجموعة محظورة db 0dfh ; down+right=down-right db 0ffh ; up+down=مجموعة محظورة db 0fbh ; أسفل ديسيبل 0efh ; right+up=right-up db 0fdh ; الحق ديسيبل 0feh ; يصل ديسيبل 0ffh ; لم يتم الضغط على أي أزرار key_table ; جدول كود المسح الضوئي 75 ساعة؛ لوحة رقمية 8 ديسيبل 74 ساعة؛ لوحة رقمية 6 ديسيبل 72 ساعة؛ لوحة رقمية 2 ديسيبل 6bh؛ لوحة رقمية 4 ديسيبل 7dh؛ لوحة رقمية 9 ديسيبل 7ah ؛ لوحة رقمية 3 ديسيبل 69 ساعة؛ لوحة رقمية 1 ديسيبل 6 قنوات؛ اللوحة الرقمية 7

ستجد في أرشيف Tools.zip برنامجين: a51.exe - مجمع، Hex2bin - محول الملفات السداسية، التي يتم الحصول عليها عند إخراج المجمع، إلى تنسيق ثنائي مناسب لتحديث ذاكرة القراءة فقط لوحدة التحكم الدقيقة باستخدام مبرمج .

التجميع واستكشاف الأخطاء وإصلاحها

يمكنك تجميع الجهاز وفقًا للمخطط أعلاه على اللوح أو اللوح المحفور في المنزل أو المصنع صناعيًا. يجب وضع مقبس تحت الميكروكونترولر. من الأفضل ترك مساحة على اللوحة لـ 2-3 حزم DIP ذات 16 سنًا - سيتم إضافتها في الإصدارات اللاحقة.

بعد ذلك، بعد إجراء التغييرات المطلوبة، يتم تجميع النص المصدر للبرنامج الصغير باستخدام برنامج a51.exe. لتحديث البرنامج الثابت باستخدام المبرمج، يتم تحويل الملف السداسي الناتج إلى صورة ثنائية بواسطة برنامج hex2bin.exe.

بعد تجميع الجهاز بالكامل، نقوم بتوصيله بلوحة المفاتيح والكمبيوتر. ثلاثة... اثنان... واحد... هيا بنا!.. الجهاز الذي تم تجميعه بشكل صحيح من مكونات جيدة معروفة يجب أن يعمل على الفور. إذا لم يكن الأمر كذلك، فتحقق من التثبيت الصحيح ووجود الطاقة على وحدة التحكم الدقيقة. باستخدام راسم الذبذبات، تحقق مما إذا كان مولد الساعة قد بدأ وما إذا كانت النبضة عالية المستوى تصل إلى مدخل RST عند تشغيل الطاقة. عند الضغط على المفاتيح الموجودة على لوحة المفاتيح، يجب أن تتكرر النبضات على الخطين P3.3 وP3.5، مع بعض التأخير، النبضات على الخطين P3.2 وP3.4، على التوالي. عندما تضغط/تحرر أزرار الجهاز، يجب أن تظهر النبضات أيضًا على الخطين P3.3 وP3.5. إذا لم يساعد هذا، اكتب لي ( راشبيلفي ميناءنقطة رو) تقرير الأخطاء، مع الإشارة إلى طراز ونوع (AT، PS/2) للوحة المفاتيح واللوحة الأم/البطاقات المتعددة ووحدة التحكم الدقيقة المستخدمة وتردد مرنان الكوارتز المستخدم. حاولت اختبار الجهاز بأقصى عدد متاح لي من اللوحات الأم ولوحات المفاتيح - ولم يتم تحديد أي مشاكل. في حالتي، تم استخدام الكوارتز 14.2 ميغاهيرتز.

الأخطاء المعروفة

يحتوي الإصدار الحالي من البرنامج الثابت على العيوب التالية:

  • لا يتم تعقب رموز المسح مزدوجة البايت. يؤدي هذا إلى حقيقة أنه في بعض الأحيان، عند استخدام الكوخ ولوحة المفاتيح في نفس الوقت، فإن مفاتيح لوحة المفاتيح "تتجمد" عند الضغط عليها أو يُنظر إليها بشكل غير صحيح؛
  • في بعض الأحيان يتم نقل البيانات بشكل غير صحيح من وحدة التحكم إلى لوحة المفاتيح. يمكن التعبير عن ذلك، على سبيل المثال، في حقيقة أن مصابيح LED لا تغير حالتها عند الضغط على مفاتيح Num Lock وCaps Lock وScroll Lock؛
  • قعقعة الاتصالات من أزرار الكوخ. حتى الآن لم يكن هذا قاتلاً بالنسبة لي في الألعاب.

خطط مستقبلية

فيما يلي قائمة قصيرة بما أود تنفيذه في الإصدارات المستقبلية:

  • إصلاحات طفيفة - معالجة أكثر دقة للإشارات؛ تتبع رموز المسح مزدوجة البايت؛
  • اتصال مصفوفة 16x4 - دعم ما يصل إلى 64 زرًا أو كوخين وما يصل إلى 56 زرًا؛
  • يدعم ما يصل إلى 16 تخطيطًا مختلفًا لرمز المسح المخزن في ذاكرة القراءة فقط (ROM) لوحدة التحكم الدقيقة؛
  • توصيل شريحة NVRAM مع إمكانية حفظ وإعادة برمجة ما يصل إلى 32 تخطيطًا لرمز المسح الضوئي "أثناء التنقل".

خاتمة

حاولت تقديم جميع البيانات اللازمة لفهم مبدأ تشغيل جهازي. لا يدعي هذا الوصف أنه دقيق تقنيًا بنسبة 100%. إذا كنت مخطئًا بشأن شيء ما، من فضلك أخبرني بنسختك للأحداث. إذا كان بإمكانك إجراء تحسينات وإضافات على دائرتي و/أو البرامج الثابتة، وإذا كانت لديك أفكار لمزيد من التطوير للدائرة، فيرجى إبلاغي بذلك أيضًا. بالإضافة إلى ذلك، أنا في انتظار معلومات من الحرفيين الذين تمكنوا من تكرار هذا الجهاز أو تكييفه مع أنواع أخرى من وحدات التحكم الدقيقة.

فلاديمير "راسب" كليموس (راشبيلفي المملكة المتحدةنقطة شبكة)

على الأرجح على هاتفك بالفعل مثبتة بشكل افتراضيالماسح الضوئي لرمز الاستجابة السريعة، يمكنك استخدامه بسهولة لمسح رمز الاستجابة السريعة الأول الخاص بك. هذا من السهل جدا القيام به. فقط اتبع تعليماتنا.

1. افتح قارئ رمز الاستجابة السريعة على هاتفك.

2. ضع جهازك فوق رمز الاستجابة السريعة بحيث يكون مرئيًا بوضوح على شاشة هاتفك الذكي.

إذا كنت تحمل هاتفك الذكي بشكل صحيح فوق رمز الاستجابة السريعة، فسيحدث ما يلي:

  • يقوم الهاتف تلقائيًا بمسح الرمز.
  • في بعض التطبيقات، يتعين عليك النقر على الصورة لمسح الرمز ضوئيًا، بدلاً من النقر على زر كما تفعل لالتقاط صورة على هاتفك الذكي.

3. اضغط على الزر المشار إليه، إذا لزم الأمر.

ممتاز! يقرأ هاتفك الذكي الرمز ويتبع الرابط المحدد، وهو ما لا يحدث دائمًا على الفور. في معظم الأجهزة، قد يستغرق هذا بضع ثوانٍ.

ستبدأ في رؤية رموز QR في كل مكان. يتم استخدامها للتدريس والإعلام والشرح وأشياء أخرى كثيرة. العثور عليها ومسحها ضوئيًا! رموز QR ستوفر عليك الكثير من الوقت والجهد.

كيفية مسح رموز QR على أندرويد

سنخبرك الآن بكيفية استخدام تطبيق مسح رمز QR على نظام Android.

باختصار:
1. افتح متجر اللعب .
2. البحث قارئ رمز الاستجابة السريعة .
3. اختر قارئ رمز الاستجابة السريعة(عبر المسح).
4. انقر فوق " ثَبَّتَ".
5. افتح البرنامج قراءة رمز الاستجابة السريعة.
7. قم بتوجيه الكاميرا نحو رمز الاستجابة السريعة.
8. انقر فوق " نعم".

الخطوة 1. افتح متجر بلاي على نظام أندرويد.هذا رمز في أحد التطبيقات أو على الشاشة الرئيسية.

الخطوة 2. أدخل قارئ رمز الاستجابة السريعة في محرك البحث.ستظهر قائمة بالتطبيقات لقراءة رمز الاستجابة السريعة.

  • تشرح هذه المقالة كيفية استخدام QR Code Reader، ولكن يمكنك اختيار التطبيق الذي تفضله. فقط تأكد من قراءة التطبيق قبل التنزيل.
  • يجب أن تكون الخطوات هي نفسها بالنسبة لجميع تطبيقات قراءة رمز الاستجابة السريعة.

الخطوه 3.انقر فوق QR Code Reader الذي تم تطويره بواسطة Scan.اسم المطور مدرج أسفل كل تطبيق. قد يتعين عليك التمرير لأسفل للعثور على التطبيق الذي تم إنشاؤه بواسطة Scan.

الخطوة 4.انقر فوق تثبيت.ستظهر نافذة منبثقة تطلب منك منح الإذن للوصول إلى المعلومات الموجودة على جهاز Android الخاص بك.

الخطوة 5.انقر فوق قبول.سيتم الآن تثبيت QR Code Reader على جهاز Android الخاص بك.

    • عند تنزيل التطبيق، سيتغير زر "تثبيت" إلى "فتح" وسيكون لديك رمز جديد في التطبيق.

الخطوة 6.افتح قارئ رمز الاستجابة السريعة.هذا الرمز يشبه رمز الاستجابة السريعة في التطبيق. سيؤدي هذا إلى فتح تطبيق يشبه شاشة الكاميرا القياسية.

الخطوة 7قم بمحاذاة رمز الاستجابة السريعة في إطار الكاميرا.يشبه إلى حد ما طريقة التقاط الصور، باستثناء أنك لا تحتاج إلى الضغط على أي أزرار. عندما يقرأ ماسح الباركود الرمز، ستظهر نافذة منبثقة مع عنوان URL الموجود في الرمز.


الخطوة 8انقر على "موافق" لفتح الموقع.يؤدي هذا إلى تشغيل متصفح الويب الافتراضي الخاص بك والانتقال إلى عنوان URL في رمز الاستجابة السريعة.

جهاز الكمبيوتر النموذجي التالي، والذي يبدو بسيطًا، ولكنه يسبب أحيانًا مشكلة للباحث، هو لوحة المفاتيح.

بشكل عام الجهاز بسيط . لا سيما الطرازات القديمة المتصلة بمنفذ PS/2. كما تظهر العديد من البيانات التجريبية، تقوم شريحة التحكم بلوحة المفاتيح بمسح ضغطات المفاتيح وتنقلها في رمز تسلسلي إلى المنفذ. تردد الساعة لهذا الإرسال هو مضاعف (في الغالبية العظمى من الحالات) يبلغ 6.3 أو 10 كيلو هرتز. على الرغم من أن المؤلف صادف نسختين في السنوات الأخيرة، كان تردد الساعة حوالي 20 كيلو هرتز.

جميع لوحات المفاتيح، عند الضغط مع الاستمرار على أي مفتاح، تبدأ (بعد توقف مؤقت) في تكرار إرسال رمز المفتاح "إلى ما لا نهاية". في الوضع العادي، يؤدي هذا عادةً إلى تجاوز سعة المخزن المؤقت لوحدة التحكم وتعطله في غضون ثوانٍ قليلة. تظهر إشارة صوتية من "مكبر صوت" النظام - "صرير". جوهر وضع الاختبار (الأكثر قبولًا عمومًا) هو حظر أمر تجاوز سعة المخزن المؤقت، والذي يسمح، عند الضغط على المفتاح، بضمان النقل اللانهائي للحرف المحدد عبر كابل "لوحة المفاتيح".

كما هو الحال دائمًا، من أجل الحساب اللاحق الصحيح للنتيجة، من الضروري إنشاء تناوب مستمر للنبضات في حزمة التعليمات البرمجية. بالنسبة لرموز لوحة المفاتيح، يمكن أن يكون هناك مجموعتان من هذه المجموعات:

10101010 (55) مفتاح "+؛ = "

01010101 (AA) في الجداول القياسية - لا ينطبق

ويرد الجدول العام لرموز المسح في الجدول 14.1

الجدول 14.1- رموز مسح لوحة المفاتيح

مفتاح

رمز المسح

مفتاح

رمز المسح

مفتاح

رمز المسح

مفتاح

رمز المسح

وبالتالي، عند تنفيذ وضع الاختبار، وعلى سبيل المثال، وضع وزن على المفتاح "+"، سيكون هناك تسلسل لا نهائي من حزم النبض في كابل لوحة المفاتيح. في هذه الحالة، ستكون فترة تكرار النبضة في الحزمة (أي تردد الساعة) 6.10 أو 20 كيلو هرتز، وسيكون تردد تكرار الحزمة أقل بكثير. يظهر تنسيق البيانات في الشكل 14.1

لتبادل البيانات في كابل لوحة المفاتيح، هناك سطرين - KBData وKBSync. عند إرسال رموز المسح، تقوم لوحة المفاتيح بتعيين البت التالي من البيانات على خط KBData وتؤكد الإرسال عن طريق نقل الإشارة من "1" إلى "0" على خط KBSync.

يمكن لوحدة التحكم الإشارة إلى عدم استعدادها لإرسال/استقبال البيانات بمستوى منخفض على خط KBSync. وفي بقية الأوقات، عندما لا تكون هناك بيانات للإرسال، يكون لدى كلا الخطين مستوى إشارة مرتفع.



على النحو التالي مما سبق، في طيف PEMIN لكابل لوحة المفاتيح، ينبغي للمرء أن يتوقع مكونات تردد بتردد ساعة يبلغ 1/76.04·10 -6 = 13.15 كيلو هرتز. علاوة على ذلك، ونظرًا لوجود إشارتين منزاحتين في الطور بفترات مختلفة (لكن متعددة!)، فإن مكونات التردد الزوجية والفردية ستختلف في السعة.

كما هو متوقع، فإن PEMIN لخط البيانات المتزامن غير مفيد من حيث المبدأ. لكن التمييز بين PEMIN وآخر ليس بالأمر السهل على الإطلاق. هناك كابل واحد فقط، الإشارات متزامنة...

الطريقة الوحيدة تقريبًا هي تحديد رمز المسح الضوئي مع الحد الأدنى من عدد "1s" المنطقي في الحزمة. هذه هي المفاتيح "F3" وF9 (03 و01 بالرمز السداسي). لم يتم استخدام الرمز "00".

يظهر أدناه مخطط ذبذبات رمز المسح الضوئي "F3".


بدقة "من حيث الطاقة"، إذا قمت بقياس جميع مكونات تردد PEMIN بالرمز "=" وعلى سبيل المثال، الرمز "F9"، فإن الفرق في قراءات جهاز الاستقبال لكل مكون من مكونات التردد هو المعلومات الحقيقية جزء من طاقة PEMIN. علاوة على ذلك، هذا هو الحد الأقصى. يكون العمل معقدًا ومملًا للغاية إذا لم يكن من الممكن تكليفه بـ "آلة أوتوماتيكية". لا يمكن التعرف بسهولة على مكونات PEMIN نفسها لمثل هذه الترددات المنخفضة. وكذلك "لرصد" الاختلافات...



في ممارسة SI، في الغالبية العظمى من الحالات، يقومون ببساطة بقياس مستويات PEMIN (دون طرح أي شيء) وحساب معلمة الأمان. هذا ممكن "مع تحفظ"، لكن الأخصائي ملزم بمعرفة الوضع الحقيقي.

في نهاية المراجعة - "pinout" لموصلات لوحة المفاتيح AT و PS/2.


تبدو "الصور" الموجودة على جهاز الاستقبال بعيدة كل البعد عن كونها "كلاسيكية"، إلا أنها يمكن التعرف عليها تمامًا. هنا أمثلة



يُظهر الطيف بوضوح زيادة في سعة المكونات مع انخفاض التردد.

هناك أيضًا ميزات قياسات "العصا" في منطقة التردد هذه (من عشرات الكيلو هرتز وما بعدها). الحقيقة هي أن لوحة المفاتيح في موضعها المعتاد لا تقع بعيدًا عن وحدة النظام. وفي الجزء العلوي من SB يوجد مصدر طاقة تبديل - أقوى مصدر PEMIN لكل من المكونات "E" و"H". في "ضوء" مثل هذه الأضواء المسرحية، فإن رؤية "الضوء" الخافت للوحة المفاتيح يعد فنًا خاصًا! ولذلك، أقترح التقنية التالية. حرك لوحة المفاتيح بعيدًا عن SB قدر الإمكان. أفضل - على موسع PS/2. حوالي 2-2.5 متر.

ضع الهوائي بحيث يكون موجهًا نحو أقل قدر ممكن من القمر الصناعي (الإشارة، مع عرض نطاق مستقبلي أكبر من 10 كيلو هرتز، هي طيف مستمر). وبالقرب من الهوائي الثابت الموجه، ابدأ في لف لوحة المفاتيح والكابل الخاص بها (وليس العكس!). ثم سيكون لديك فرصة أفضل بكثير لاكتشاف إشارات PEMIN من لوحة المفاتيح ورؤية مكونات PEMIN على شاشة المحلل بأم عينيك.

يتم تطبيق كل ما سبق على لوحة المفاتيح ذات واجهة PS/2. ولكن الآن يتم استبدالها على نطاق واسع بلوحات المفاتيح ذات واجهة USB.

بشكل عام، تمت مناقشة هذه الواجهة بشيء من التفصيل مع الطابعات. ومع ذلك، قد يكون من المفيد إعطاء بعض "التسمية المستهدفة" فيما يتعلق بلوحة المفاتيح.

دعونا نتذكر بناء الحزم لواجهة USB، مع الأخذ في الاعتبار أن لوحة المفاتيح متصلة بشكل صارم بسرعة منخفضة (أي في الواقع عبر واجهة USB 1.0).

الحد الأقصى لحجم حمولة البيانات للأجهزة منخفضة السرعة هو 8 بايت. أي أن هذا هو بالضبط ما يتطلبه رمز فحص لوحة المفاتيح.

تبين أن رؤية الإشارة (أي البيانات) على خط USB ليست مهمة سهلة. ومع ذلك، هذا ما تم الكشف عنه بدقة في كابل نموذج "لوحة المفاتيح" USB النموذجي GENIUS KB-06XE، وتحديدًا في خط "data +" (السلك) (الشكل 14.10)


يتغير كل من مخططي الذبذبات هذان مع دورية غير محددة (فوضوية)، ولا تعتمد "صور" الإشارات على مفتاح لوحة المفاتيح الذي تم الضغط عليه (أو لم يتم الضغط عليه). ولم يكن من الممكن تحديد أي تغييرات أخرى في الجزء "المتغير" من الحزمة (الإطار).

يتم تثبيت تردد هذه الحزم بشكل صارم (الشكل 14.11)، وتكون مدة كل منها (مرئية على مخططات الذبذبات) حوالي 34 ± 1 μs.


تتبع الحزم كل 4 مللي ثانية. ومع ذلك، تجدر الإشارة إلى أن نهاية كل حزمة "تتوتر" طوال الوقت، و"الارتعاش" الكلاسيكي ملحوظ. ولذلك، فإن الصورة الطيفية ضبابية إلى حد ما ولا تصبح واضحة إلا مع متوسط ​​طويل بما فيه الكفاية.


وبالإضافة إلى ذلك، ينبغي أن يؤخذ في الاعتبار أنه بسبب فترات تكرار النبض المختلفة ومددها المختلفة، فإن الطيف له طابع خليط من الطيف المستمر والخط. ومع ذلك، فإن الطابع الفصي للطيف، الطبيعي لتسلسل لا نهائي من الرزم والمتعدد في "فصوصه" لمتوسط ​​مدة الرزمة، يتم الحفاظ عليه بوضوح شديد. يتم تسهيل "أصفار" الوظيفة فقط عن طريق الارتعاش وفترة التكرار غير المتغيرة للنبضات الفردية. ومع ذلك، فإن الصورة نفسها نموذجية تماما. مع دقة تردد أدق، يبدأ الطيف في التحول إلى "خطوط" يحددها معدل تكرار الحزمة (250 هرتز) (الشكل 14.13) وبالتالي، مع أبسط عرض لمخططات الذبذبات وغير متزامن مع الإرسال الحقيقي لرمز المسح، فشل تحديد وتصور أجزاء الإطار (الحزمة) المسؤولة عن نقل البيانات. ومع ذلك، يمكن القول أن PEMIN لكابل لوحة المفاتيح سيظل هذا وليس غيره. من الواضح ما هي الترددات التي يجب البحث عنها، ومن الواضح أنها ستكون ذات طبيعة مستمرة (على أي حال، مع دقة تردد جهاز الاستقبال أكثر من 0.3 كيلو هرتز). ومن الواضح ما هي القيمة التي يجب استبدالها كقيمة ساعة في العمليات الحسابية (كان الحد الأدنى لفترة النبضات في الحزمة في التجربة هو 1.322 ميكروثانية). يعد قياس ذلك، في أي نظام SI، باستخدام راسم الذبذبات بعرض نطاق ترددي يبلغ 200 ميجاهرتز على الأقل مهمة تافهة. وضع الاختبار، في الواقع، هو أي واحد، يمكنك الضغط على أي مفاتيح، أو لا يمكنك الضغط على أي شيء. يتم نقل الحزم عبر الواجهة على أي حال. وكتقدير أولي، فإننا نعتبرها معلوماتية (حتى يثبت العكس).

تم الحصول على مخططات الذبذبات والأطياف المعطاة باستخدام راسم الذبذبات AKIP-4108/2 المتصل بنفس الكمبيوتر الذي تم إجراء القياسات عليه (تجدر الإشارة إلى أن هذا تكرار وظيفي للغاية لتطوير شركة PICO Technology من قبلنا. لا أسوأ من الصينيين :)).

من الواضح أن الطيف يتجاوز بكثير 1 ميجاهرتز (لم يعد راسم الذبذبات يسمح بذلك، ولم يكن هناك أي معنى في توصيل المحلل). يتم تحديد الباقي بواسطة الكابل، كهوائي عشوائي، ودرجة درعه.

بالنسبة للأوضاع الأخرى لواجهة USB، تحتاج إلى راسم ذبذبات بنطاق ترددي يصل إلى عدة جيجاهرتز.

إن كيفية حساب الطيف المستمر بالضبط، وفي الوقت نفسه، البقاء ضمن إطار نظام NMD الحالي، هي محادثة منفصلة وليست للمناقشة المفتوحة، للأسف... ومع ذلك، في المنشورات اللاحقة سيتعين علينا العودة إليها، هناك ليس هناك مكان للذهاب. سأحاول "البقاء ضمن الحدود"...

يعتمد رقم المفتاح الذي يرسله معالج لوحة المفاتيح بشكل فريد على تخطيط مصفوفة لوحة المفاتيح، ولكن ليس على التسميات المطبوعة على سطح المفاتيح. ويسمى هذا الرقم رمز المسح الضوئي. تؤكد كلمة المسح الضوئي ("المسح الضوئي") على حقيقة أن كمبيوتر لوحة المفاتيح يقوم بمسح لوحة المفاتيح للعثور على المفتاح المضغوط.

تم الضغط على رمز Ascii للمفتاح

عادةً، لا يحتاج البرنامج إلى الرقم التسلسلي للمفتاح المضغوط، بل يحتاج إلى الرمز المطابق للتسمية الموجودة على هذا المفتاح (رمز ASCII).

لا يرتبط رمز ASCII مباشرة برمز المسح، حيث يمكن أن يحتوي نفس المفتاح على قيم رمز ASCII متعددة اعتمادًا على حالة المفاتيح الأخرى. على سبيل المثال، يتم أيضًا استخدام المفتاح المسمى "1" لإدخال الحرف "!" (إذا تم الضغط عليه مع المفتاح ).

لذلك، يتم تنفيذ جميع رموز المسح الضوئي لتحويلات ASCII في البرنامج. عادةً، في نظام التشغيل MS-DOS، يتم تنفيذ هذه التحويلات بواسطة وحدات BIOS. لاستخدام الأحرف السيريلية، يتم توسيع هذه الوحدات باستخدام برامج تشغيل لوحة المفاتيح، وكلاهما مضمن في الإصدارات المترجمة من MS-DOS ويتم إنشاؤهما كبرامج منفصلة.

وضع التكرار التلقائي

إذا قمت بالضغط مع الاستمرار على أحد المفاتيح، فستدخل لوحة المفاتيح في وضع التكرار التلقائي. في هذه الحالة، يتم إرسال رمز المفتاح المضغوط تلقائيًا إلى الكمبيوتر بعد فترة زمنية معينة، تسمى فترة التكرار التلقائي. يعمل وضع التكرار التلقائي على تسهيل إدخال عدد كبير من الأحرف المتطابقة من لوحة المفاتيح.

وتجدر الإشارة إلى أن لوحة المفاتيح تحتوي على مخزن داخلي سعة 16 بايت تتواصل من خلاله مع الكمبيوتر.

أنواع لوحات المفاتيح

حتى وقت قريب، كانت هناك ثلاثة أنواع مختلفة من لوحات المفاتيح. هذه هي لوحة مفاتيح IBM PC/XT، ولوحة مفاتيح IBM PC/AT ذات 84 مفتاحًا، ولوحة مفاتيح IBMPC/AT ذات 101 مفتاحًا (ممتدة). تحتوي بعض لوحات المفاتيح على مفتاح وضع التشغيل (XT/AT) الموجود على الغطاء السفلي. يجب تثبيته في الموضع الصحيح.

بعد انتشار نظام التشغيل Microsoft Windows على نطاق واسع، تم إنشاء نوع جديد من لوحة المفاتيح خصيصًا له. تمت إضافة زرين إلى لوحة مفاتيح IBMPC/AT التقليدية، الأول منهما يكرر الاتصال بقائمة "ابدأ"، ويتم إجراؤه باستخدام زر الماوس الأيسر، والثاني، استدعاء نفس القائمة باستخدام زر الماوس الأيمن.

منافذ لوحة المفاتيح

يعتمد الغرض من المنافذ المخصصة للاستخدام مع لوحة المفاتيح على نوع الكمبيوتر.

كمبيوتر آي بي إم بي سي/إكس تي

للعمل مع لوحة مفاتيح IBM PC/XT، يتم استخدام المنافذ ذات العناوين 60h و61h.

المنفذ 60h للقراءة فقط. وبعد اكتمال هذه العملية، فإنه يحتوي على رمز المسح الخاص بآخر مفتاح تم الضغط عليه.

المنفذ 61h متاح للقراءة والكتابة. فهو لا يتحكم في لوحة المفاتيح فحسب، بل يتحكم أيضًا في أجهزة الكمبيوتر الأخرى، على سبيل المثال، مكبر الصوت المدمج. إذا تمت كتابة القيمة 1 على الجزء الأكثر أهمية من المنفذ 61h، فسيتم قفل لوحة المفاتيح؛ وإذا كانت القيمة 0، فسيتم إلغاء قفل لوحة المفاتيح.

نظرًا لأن المنفذ 61h يتحكم في أكثر من مجرد لوحة المفاتيح، فعند تغيير محتويات البت الأكثر أهمية، يجب عليك حفظ حالة البتات المتبقية في هذا المنفذ. للقيام بذلك، يمكنك أولاً قراءة محتويات المنفذ في السجل، وتغيير حالة البت الأكثر أهمية، ثم كتابة القيمة الجديدة إلى المنفذ.