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

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

الصورة الرمزية remon romany
remon romany
:: عضو نشط ::
تاريخ التسجيل: Feb 2011
المشاركات: 897
نشاط [ remon romany ]
قوة السمعة:0
قديم 21-09-2013, 12:34 AM المشاركة 1   
افتراضي كيفية ربط الكيبورد مع الميكروكنترولر Twitter FaceBook Google+



لو سمحتو اريد كيفية ربط الكيبورد مع الميكروكنترولر
انا عاوز الفكرة وانا ممكن احاول اكتب الكود
يعنى انا عاوز اعرف ازاى بيتم نقل البيانات من الكيبورد الى الميكروكنترولر
باستخدام اربع اطراف بس ؟؟
ارجو المساعدة وشكرا

اعلانات

sskk77
:: مهندس متميز ::
تاريخ التسجيل: Jan 2005
المشاركات: 714
نشاط [ sskk77 ]
قوة السمعة:0
قديم 21-09-2013, 03:26 PM المشاركة 2   
افتراضي


أخي العزيز الكيبورد والماوس كلاهما يعملان بنفس البروتكول
الاربعة اسلاك هذه اثنان منها تغذية
اما الطرفان الباقيان فهما خاصين بالبيانات
احدهما اسمه DATA
والثاني CLOCK
انظر الرابط فيه شرح
http://www.computer-engineering.org/ps2protocol/

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية remon romany
remon romany
:: عضو نشط ::
تاريخ التسجيل: Feb 2011
المشاركات: 897
نشاط [ remon romany ]
قوة السمعة:0
قديم 21-09-2013, 06:26 PM المشاركة 3   
افتراضي


أخي العزيز الكيبورد والماوس كلاهما يعملان بنفس البروتكول
الاربعة اسلاك هذه اثنان منها تغذية
اما الطرفان الباقيان فهما خاصين بالبيانات
احدهما اسمه DATA
والثاني CLOCK
انظر الرابط فيه شرح
http://www.computer-engineering.org/ps2protocol/
الف شكر لردك وتعبك معى
ولكن المشكلة ان الشرح كلة انجليزى وانا مش فاهم اوى
فلو سمحت لو عندك شرح مبسط عربى او اى موقع عربى يكون افضل
وشكرا مره اخرى


sskk77
:: مهندس متميز ::
تاريخ التسجيل: Jan 2005
المشاركات: 714
نشاط [ sskk77 ]
قوة السمعة:0
قديم 22-09-2013, 10:10 AM المشاركة 4   
افتراضي


أخي العزيز من غير ما تقرأ الشرح
انظر الصورة راح تشرح لك
راح اعطيك شرح مبسط

الطرفين يكونان في مستوى عالي في بادئ الأمر قبل ارسال اي بيانات
سينخفض الطرفين
لكن المهم عندك الآن هو clock راقبه
راح ينخفض معلن البدء بعملية الارسال
انتظر حتى يرتفع مرة اخرى
الآن كلما انخفض اقرأ طرف الداتا ان كان عالي يعني واحد وان كان منخفض يعني صفر وهكذا حتى تنتهي البتات وهي تسعة ثم تأتي نبضة أخيرة معلنة انتهاء العملية
يكون فيها طرف الداتا مرتفع


الصورة الرمزية remon romany
remon romany
:: عضو نشط ::
تاريخ التسجيل: Feb 2011
المشاركات: 897
نشاط [ remon romany ]
قوة السمعة:0
قديم 22-09-2013, 12:23 PM المشاركة 5   
افتراضي


أخي العزيز من غير ما تقرأ الشرح
انظر الصورة راح تشرح لك
راح اعطيك شرح مبسط

الطرفين يكونان في مستوى عالي في بادئ الأمر قبل ارسال اي بيانات
سينخفض الطرفين
لكن المهم عندك الآن هو clock راقبه
راح ينخفض معلن البدء بعملية الارسال
انتظر حتى يرتفع مرة اخرى
الآن كلما انخفض اقرأ طرف الداتا ان كان عالي يعني واحد وان كان منخفض يعني صفر وهكذا حتى تنتهي البتات وهي تسعة ثم تأتي نبضة أخيرة معلنة انتهاء العملية
يكون فيها طرف الداتا مرتفع
انا متشكر جدا لمساعدتك لى
الحمد للة انا لقيت موضوع على موقع القرية موجود
بيتكلم عن كيفية ربط الكيبورد بالميكروكنترولر
وانا فهمت شوية منة ولكن انا عاوز اتاكد اذا كان فهمى صحيح ام خطا
انا قمت بكتابة كود بسيط وعاوز حضرتك تشوف هل الكود دة صح ولا لا
هذا الكود فائدتة هى تنفيذ امر معين ( اى امر ) عند الضغط على حرف z فى الكيبورد (وطبعا لو نفع انشاء اللة هعمل كدة فى جميع ازرار الكيبورد
هذا هو الكود ياريت حضرتك تشوفة وتقولى هل فكرتة صحيحة ولا لا
كود:
sbit PS2_Data at RD0_bit;
sbit PS2_Clock at RD1_bit;
sbit PS2_Data_Direction at TRISD0_bit;
sbit PS2_Clock_Direction at TRISD1_bit;
unsigned short keydata = 0, special = 0, down = 0;

void main() {
Ps2_Config();
while(1){
Ps2_Key_Read(&keydata, &special, &down);
 if(down==1){down=0;
 if(special==1){special=0;
  if(keydata==90){اى امر ; );}

  }
  }
طبعا 90 دة كود حرف ال z بال Decimal


التعديل الأخير تم بواسطة : remon romany بتاريخ 22-09-2013 الساعة 12:26 PM

sskk77
:: مهندس متميز ::
تاريخ التسجيل: Jan 2005
المشاركات: 714
نشاط [ sskk77 ]
قوة السمعة:0
قديم 22-09-2013, 02:05 PM المشاركة 6   
افتراضي


أخي انا لا اعرف غير لغة الاسمبلي
انا آسف


الصورة الرمزية remon romany
remon romany
:: عضو نشط ::
تاريخ التسجيل: Feb 2011
المشاركات: 897
نشاط [ remon romany ]
قوة السمعة:0
قديم 22-09-2013, 07:28 PM المشاركة 7   
افتراضي


أخي انا لا اعرف غير لغة الاسمبلي
انا آسف
ولا يهمك
وانا متشكر بجد على مساعدتك ليا

إضافة رد

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

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

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


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

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