قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

walid el masry
:: مهندس ::
تاريخ التسجيل: Nov 2006
المشاركات: 42
نشاط [ walid el masry ]
قوة السمعة:0
قديم 10-12-2009, 08:05 PM المشاركة 1   
افتراضي استفسار عن interfacing keypad to microcontroller Twitter FaceBook Google+



بعد التحيه
الاخوه الاعضاء,ارغب في ربط لوحه مفاتيح 4x4 مع الميكروكنترولر فاود ان اعرف ما هي فكره الربط خصوصا اني حاولت اكتر من مره و لكن يحدث حمل زائد علي الكنترولر اثناء عمل محاكات علي البروتس

اعلانات

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,334
نشاط [ ناصراحمد2 ]
قوة السمعة:98
قديم 10-12-2009, 10:20 PM المشاركة 2   
افتراضي


بعد التحيه
الاخوه الاعضاء,ارغب في ربط لوحه مفاتيح 4x4 مع الميكروكنترولر فاود ان اعرف ما هي فكره الربط خصوصا اني حاولت اكتر من مره و لكن يحدث حمل زائد علي الكنترولر اثناء عمل محاكات علي البروتس
السلام عليكم ورحمة الله وبركاتة

كيف حالك اخى وليد.


اتمنى ان يفيدك هذا الموضوع

http://www.qariya.com/vb/showthread.php?t=56084


اما بالنسبة لكيفية عمل الكيباد

فهى تعتبر مقاربة لعمل ال led matrix

انما بالعكس

فعند اتصال مخرجين داخل الميكرو
تضىء ال led هذا فى عمل الماتركس

اما الكى باد

فهى عكس بمعنى
ان كل زر بها يعتبر سويتش بوتن

وعند كل ضغط على زر معين
يتم الاتصال بين مخرجين من مخارج الميكرو

وبناء على هذا الاتصال



يتم وضع الامر الذى تريدة



___________________________

اتمنى ان اكون قدرت افهم سؤالك




___________________________

معلومة اضافية لعلها تفيد اى باحث

وهى كيفية عمل الليد ماتركس

او القانون الاساسى لعمل الماتركس هو :


هو بالظبط مثل تحديد مدينة على الكرة الارضية

وهى بتحديد خط العرض المطلوب
مع خط الطول المطلوب

وهكذا يكون عمل ال led matrix

هذا هو اقرب مثال


التعديل الأخير تم بواسطة : ناصراحمد2 بتاريخ 10-12-2009 الساعة 10:25 PM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

walid el masry
:: مهندس ::
تاريخ التسجيل: Nov 2006
المشاركات: 42
نشاط [ walid el masry ]
قوة السمعة:0
قديم 10-12-2009, 10:34 PM المشاركة 3   
افتراضي


اخي ناصر , انا الحمد لله بكامل الصحه و العافيه الحمد لله و اتمني لك كذلك و لكل الاعضاء الكرام

بالنسبه للمشروع الذي ارفقته فللعلم انا لا استخدم السي في البرمجه بالرغم ان اعلم القدر الكافي منها للبرمجه في اي وقت و كذلك سوف اقوم بتتبع الكود لاصل للجزء الذي اريده لكن ما اريده هنا فعلا هو الالجورثم او الفلوتشارت المتبعه للانترفيس فقط لا غير و انا سوف اترجمها بالاسمبلي حيث اني حاولت ان اطبق الخطوات المنطقيه في الربط و لكن اعتقد انه فاتني شيء فكانت النتيجه الاوفر لود علي الكنترولر علي اي حال انا اتبعت في تجربي علي موقع

http://www.8051projects.net/keypad-interfacing/

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

اخيرا سوف اتفحص الكود و احاول ان اصل للفكره و اذا امكنك توفير علي الوقت و ووضع يدك علي الجزئية التي فاتتني فجزاك الله كل خير و اسف علي الاطاله


الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 725
نشاط [ ahmad_s_f ]
قوة السمعة:80
قديم 10-12-2009, 10:53 PM المشاركة 4   
افتراضي


الكايباد keypad ما هي إلى مجموعة من السويتشات متصلة ببعض على بشكل معين (صفوف وأعمدة ) أو ما يطلق عليه اسم مصفوفة أو matrix

وهذه بعض أشكالها








وهذه إحدى طرق توصيل السويتشات


وهذه طريقة أخرى

الكيباد تتكون من مجموعة من السويتشات وأي سويتش موجود في صف معين وفي عمود معين . وكل صف موصل بطرف معين من الميكروكنترولر وكذلك كل عمود .

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

إذن باستخدام جمل If العادية الخاصة بالسويتشات نستطيع التعامل مع الكيباد , وفي بعض لغات البرمجة توجد مكتبات جاهزة تسهل استخدام الكيباد .

وقد قمت بشرح المكتبة الموجودة في لغة مايكروسي الخاصة بالكيباد في مشروع
التحكم في 47 ريلاي .. وإليك الرابط الذي يحتوي على الشرح والمشروع كاملا .

http://www.qariya.com/vb/showthread.php?t=41812

وفقنا الله وإياكم لما يحب ويرضى ورزقنا العلم النافع والعمل الصالح .


التعديل الأخير تم بواسطة : ahmad_s_f بتاريخ 10-12-2009 الساعة 11:01 PM السبب: لإضافة صورة توضح طريقة أخرى لتوصيل الكيباد

الصورة الرمزية Abdulla873
Abdulla873
:: مهندس متميز ::
تاريخ التسجيل: Sep 2009
الدولة: Baghdad, Iraq
المشاركات: 504
نشاط [ Abdulla873 ]
قوة السمعة:0
قديم 11-12-2009, 04:22 PM المشاركة 5   
افتراضي


اخي العزيز...
يمكنك زيارة موقعي الشخصي ,
https://sites.google.com/site/abdull...and-keypad-int ستجد به مثال على استخدام 4x3 keypad مع
ال 7-segment لقد وضعت كود الدائر في الموقع ايضا , لذا يمكنك ان تستفاد منة,
بالنسبة لل4x4 keypad هو نفس الفكرة مجرد تغير بسيط في البرنامج , واذا احتجت
اي شيء يمكنك الاتصال بي, خالص التحية

م. عبدالله


التعديل الأخير تم بواسطة : Abdulla873 بتاريخ 11-12-2009 الساعة 04:59 PM

walid el masry
:: مهندس ::
تاريخ التسجيل: Nov 2006
المشاركات: 42
نشاط [ walid el masry ]
قوة السمعة:0
قديم 13-12-2009, 06:30 PM المشاركة 6   
افتراضي


الله يكرم اصلكم لتعاونكم و تفاعلكم و اعتذر عن غيابي لفتره الامتحانات التي امر بها الان و اعدكم بالرد في القريب العاجل ان شاء الله


walid el masry
:: مهندس ::
تاريخ التسجيل: Nov 2006
المشاركات: 42
نشاط [ walid el masry ]
قوة السمعة:0
قديم 15-12-2009, 11:45 AM المشاركة 7   
افتراضي


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

كود:

كود:
 PROCESSOR 16F877A
 INCLUDE  <P16F877A.INC>
 __CONFIG _XT_OSC & _PWRTE_ON & _WDT_OFF & _CP_OFF & _LVP_OFF
  ;******************************************;
 ;   INITIALIZATION       ;
 ;******************************************;
  CBLOCK H'20'
 KEY
 ENDC
  ORG  H'00'
 GOTO INTI
 ORG  H'04'
INTI
 BANKSEL TRISB
 CLRF TRISB
 MOVLW B'00000111'
 MOVWF TRISD
 BANKSEL PORTB
 CLRF PORTB
 CLRF PORTD
 GOTO START
 ;*****************************************;
 ;   MAIN        ;
 ;*****************************************;
 ROW
 INCF KEY
 BTFSS PORTD,0
 GOTO FOUND
  INCF KEY
 BTFSS PORTD,1
 GOTO FOUND
  INCF KEY
 BTFSS PORTD,2
 GOTO FOUND
 GOTO NEWROW
 ;***********************************************;
;  SELECT NEW ROW       ;
;***********************************************;
 NEWROW
 BSF  PORTD,3
 RLF  PORTD
 BTFSC STATUS,0
 GOTO ROW
 GOTO SCAN
 ;**********************************************;
;   FOUND          ;
;**********************************************;
 FOUND
 RETURN
 ;***********************************************;
;    CHECK SWITCHS      ;
;***********************************************;
 SCAN
 CLRF KEY
 BSF  STATUS,0  ; SET THE CARRY FLAG
 BCF  PORTD,4   ; SELECT THE FIRST ROW
 GOTO ROW
 ;*********************************************;
;   NO. DISPLAY        ;
;*********************************************;
 NUMBER 
 ADDWF PCL,1
 NOP
 RETLW B'00000001'
 RETLW B'00000010'
 RETLW B'00000011'
 RETLW B'00000100'
 RETLW B'00000101'
 RETLW B'00000110'
 RETLW B'00000111'
 RETLW B'00001000'
 RETLW B'00001001'
 RETLW B'00001010'
 RETLW B'00000000'
 RETLW B'00001010'
 
 ;*************************************************;
;    SHOW         ;
;*************************************************;
 SHOW
 MOVFW KEY 
 CALL NUMBER
 MOVWF PORTB
 RETURN
 
 START 
 MOVLW B'11111111'
 MOVWF PORTD
 CALL SCAN
 CALL SHOW
 GOTO START
  END






walid el masry
:: مهندس ::
تاريخ التسجيل: Nov 2006
المشاركات: 42
نشاط [ walid el masry ]
قوة السمعة:0
قديم 15-12-2009, 11:48 AM المشاركة 8   
افتراضي


ما لا افهمه هنا هو متي يقوم الكنترولر باستشعار وجود ضغط علي الزر هل عندنا يدخلي اليه جهد 1 او جهد 0 و كذك ما فائدة الداله Found حيث انها لا تنفذ شيء

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 10:24 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025