![]() |
#1
|
||||
|
||||
![]()
السلام عليكم
اقدم لكم لوحة المفاتيح كمدخلات : Keypad Input • لوحة المفاتيح هي ببساطة مصفوفة أو مجموعة من المفاتيح الضاغطة push buttons متصلة في شكل صفوف وأعمدة بحيث يمكن اختبار إغلاق كل مفتاح بالحد الأدنى من الوصلات كما فى الشكل . ![]() • يوجد 12 مفتاح بلوحة مفاتيح الهاتف (0–9, #, ) مرتبة في مصفوفة 3x4 . تسمى الاعمدة 1 و 2 و 3 وتسمى الصفوف Aو B و C و D . • وإذا افترضنا أن جميع الصفوف والأعمدة في البداية جهدها مرتفع high يمكن اكتشاف الضغط على المفتاح عن طريق جعل صف تلو الاخر فى حالة الجهد المنخفض والتحقق من وجود الصفر لكل عمود . • في الدائرة المبينة بالشكل التالى يتم توصيل اطراف لوحة المفاتيح السبعة الى المنفذ D . • الخانات Bits 4–7 يتم اعدادها كمخارج بينما الخانات bits 0–2 يتم إعدادها كمداخل . • يتم سحب أطراف المداخل الى اعلا (جعلها بالمنطق 1 ) . وايضا يتم جعل الحالة الابتدائية للمخارج فى الحالة المرتفعة (1 ) . • فاذا جعلنا خرج الصف A هو صفر لا يوجد تأثير على المداخل ما لم يتم الضغط على مفتاح فى الصف A . • وبتكرار هذا الاختبار على الصفوف واحد تلو الاخر يمكن التعرف على المفتاح المضغوط وتحديدة من خانة صفه وخانة عموده . طريقة مسح لوحة المفاتيح : الطريقة البسيطة لتنفيذ ذلك هى عمل تزايد increment فى سجل إختيارى كعداد للمفاتيح المختبرة بعد اختبار كل مفتاح وعندما يتم الكشف عن مفتاح مضغوط تنهى عملية مسح لوحة المفاتيح مع الاحتفاظ برقم المفتاح الحالى فى العداد . وهذه الطريقة صالحة لان ارقام لوحة المفاتيح مرتبة (فيما عدا الصفر) فى صفوف واعمدة كما يلى : [Row A = 1, 2, 3 Row B = 4, 5, 6 Row C = 7, 8, 9 Row D = *, 0, # باتباع هذا النظام يمثل رمز النجمة (*) بالعدد 10 (0Ah) والصفر(0) بالعدد 11(0Bh) والرمز (#) (hash هاش او شباك ) بالعدد 12 (0C) . ![]() القادم ان شاء الله برنامج مسح لوحة المفاتيح وبيان المفتاح المضغوط على وحدة عرض سباعية القطع : |
#2
|
||||
|
||||
![]()
السلام عليكم
نتابع برنامج مسح لوحة المفاتيح وبيان المفتاح المضغوط على وحدة عرض سباعية القطع : • البرنامج التالى يبين خطوات عملية قراءة لوحة المفاتيح باجراء تزايد فى عداد المفاتيح وإنهاء روتين المسح عند اكتشاف الزر المضغوط وتخزينه . • اذا لم يكن هناك مفتاح مضغوط تتكرر عملية المسح . • يقوم البرنامج بعرض الرقم على وحدة عرض 7-segment مع اختيار رمز يتعارف عليه ليمثل النجمة ( * ) واخر يمثل hash (#) . ![]() ![]() ![]() ![]() ![]() نتيجة التنفيذ على برنامج بروتيس ![]() والى لقاء قريب ان شاء الله |
#3
|
||||
|
||||
![]()
السلام عليكم
نتابع مرفق طيه الملفات الكاملة ( الاسمبلى والهكس والبروتيس ) http://dbaasco.com/up4/dldWgV60566.zip.html والى لقاء قريب ان شاء الله |
#4
|
|||
|
|||
![]()
الله لا يحرمنا من عطائك
|
#5
|
|||
|
|||
![]()
مشكور كتير على المجهود والشرح المختصر والكافي
بنتظار مزيد من اعمالك هنا بالمنتدى |
#6
|
|||
|
|||
![]()
شكرا على جهودكم
هناك جزء غير واضح بالنسبة لي يرجى شرح طريقة التعرف على رقم الصف ورقم العمود عند عرض الرقم على الشاشة ( الخطورة الخامسة) |
#7
|
|||
|
|||
![]()
شكراً لكم على الموضع
|
#8
|
|||
|
|||
![]()
بارك الله فيك شرح ولا اروع اخي
|
#9
|
|||
|
|||
![]()
شكرا لك
|
#10
|
|||
|
|||
![]()
شكرا لك
|
![]() |
مواقع النشر (المفضلة) |
الكلمات الدلالية (Tags) |
input, keypad, كمدخلات, لوحة, المفاتيح |
أدوات الموضوع | |
انواع عرض الموضوع | |
|
|