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

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

hamzazayyad
:: مهندس متميز ::
تاريخ التسجيل: Aug 2005
الدولة: موزنبيق
المشاركات: 701
نشاط [ hamzazayyad ]
قوة السمعة:0
قديم 27-11-2011, 07:02 PM المشاركة 1   
x4 ربط pic microcontroller باخر باستخدام I2C PROTOCOL Twitter FaceBook Google+



السلام عليكم
يعتبر I2C PROTOCL من البروتوكولات المهمه حيت يمكن الاستفده منه متلا
-يمكن زياده عدد المداخل والمخارج
-التعامل مع القطع او Modules المصمه لتعمل I2C protocol
-امكانيه التخاطب مع microcontroller اخر وبالتالي معرفه حاله ما مما يحسن من اداء نظام التحكم والقدره على العمل مع التطبيقات دات الحجم الاكبر
..............الخ





بارك الله فيكم ولا تنسونا من صالح دعائكم





التعديل الأخير تم بواسطة : hamzazayyad بتاريخ 27-11-2011 الساعة 07:03 PM السبب: املائي
اعلانات

hamzazayyad
:: مهندس متميز ::
تاريخ التسجيل: Aug 2005
الدولة: موزنبيق
المشاركات: 701
نشاط [ hamzazayyad ]
قوة السمعة:0
قديم 27-11-2011, 07:15 PM المشاركة 2   
x4


السلام عليكم

سيتم ربط ميكروكنترولر عدد 2 احدهما هو الميكروكنترولر الرئيسي master والاخر هو الميكركنترولر الفرعي slave
بحيث ان ال master يرسل ارقام من 0 الى 15 لل slave
ومن ثم يقوم slave بعرض القيم المستلمه على 7segment


واليكم هده المراجع للمزيد من الفهم والاستزاده

http://ww1.microchip.com/downloads/en/devicedoc/39582b.pdf
PIC16F876A DATASHEET
http://ww1.microchip.com/downloads/en/appnotes/00734b.pdf
SLAVE MODE I2C
http://ww1.microchip.com/downloads/en/AppNotes/00735a.pdf
master mode i2c
http://ww1.microchip.com/downloads/en/AppNotes/00578b.pdf
muilti master i2c
http://ww1.microchip.com/downloads/en/devicedoc/i2c.pdf
I2C EEPROM


ولا تنسونا من صالح دعائكم





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

hamzazayyad
:: مهندس متميز ::
تاريخ التسجيل: Aug 2005
الدولة: موزنبيق
المشاركات: 701
نشاط [ hamzazayyad ]
قوة السمعة:0
قديم 27-11-2011, 07:20 PM المشاركة 3   
x4


بعض المعلومات المهمه جدا****************

ملاحظات
1-عند التعامل مع PROTEUS للمحاكاه يجب وضع المقاومات الموصوله لاعلي مع (PULL UP RESISTERS )+5V رقميه(digital) وليس analog حتى يعمل البرنامج مع I2C
وهذه هي الشكله عند التعامل مع I2C EEPROM ان البرنامج لا يعمل او يعمل بشكل خاطي

2-يجب وضع عنوان device address للpic microcontroller ويكون بقيمه زوجيه متلا 0x20 ,0XA0الخ
حيت ان هده القيمه ستوضع بال register المسمى SSPADD
3-قيم المقاومات pull up resistors تكون تقريبا كالتالي عند سرعات i2c
-400kps =1k ohm ,100kps=2.2k ohm , <100kps=4.7k ohm

ولا تنسونا من صالح دعائكم




hamzazayyad
:: مهندس متميز ::
تاريخ التسجيل: Aug 2005
الدولة: موزنبيق
المشاركات: 701
نشاط [ hamzazayyad ]
قوة السمعة:0
قديم 27-11-2011, 09:05 PM المشاركة 4   
افتراضي


[
نسخه البروتس هي 7.8 sp2 ةبرنامج ميكروسي برو v5.3


hamzazayyad
:: مهندس متميز ::
تاريخ التسجيل: Aug 2005
الدولة: موزنبيق
المشاركات: 701
نشاط [ hamzazayyad ]
قوة السمعة:0
قديم 27-11-2011, 09:13 PM المشاركة 5   
افتراضي


بعد التشغيل















ولا تنسونا من صالح دعائكم


hamzazayyad
:: مهندس متميز ::
تاريخ التسجيل: Aug 2005
الدولة: موزنبيق
المشاركات: 701
نشاط [ hamzazayyad ]
قوة السمعة:0
قديم 27-11-2011, 09:18 PM المشاركة 6   
افتراضي


وايضا















ولا تنسونا من صالح دعائكم


hamzazayyad
:: مهندس متميز ::
تاريخ التسجيل: Aug 2005
الدولة: موزنبيق
المشاركات: 701
نشاط [ hamzazayyad ]
قوة السمعة:0
قديم 28-11-2011, 09:24 AM المشاركة 7   
افتراضي


الاطراف المستخدمه للاتصال هي
• Serial clock (SCL) – RC3/SCK/SCL
• Serial data (SDA) – RC4/SDI/SDA
,,ويجب وضع هده الاطراف كمدخل او مخرج حسب حاله الاتصال المطلوبه
فلو اردنا ان يكون الميكروكنترولر slave فيجب وضع RA3 ,RC4 كمداخل
ولو اردت ك MASTER فسيكون الوضع كمخارج
ولكن نجد ان MIKRO C يتعامل مع حاله MASTER وهي مبرجه داخله وموجوده كمكتبه جاهزه وادا اردنا العمل فقط نستخدم الامر
I2C1_Init(100000); وهي سيقوم بوضع اطراف الاتصال كمخارج وسيقوم بتوليد نبضات ساعه CLOCK مساويه للرقم الموجود داخل الاقواس

وعند التعامل مع حاله SLAVE فهي تحتاج لتهيئه من الشخص المبرمج ويجب وضع اطراف الاتصال كمداخل حتى يتهيء I2C MODULE للعمل






















وهدا هو المخطط الداخلي I2C
- فالمسجل الاول هوSSPADD وهو له وظيفتين
- الاولى في حاله SLAVE يكون مخزن عنوان device address حتى نتمكن من التخاطب مع هدا device بالتحديد .
-
- الثانيه في حاله MASTER ويكون القيمه الموجوده داخله لتكوين نبضات الساعه CLOCK حسب المعادله التاليه
- I2C Master mode, clock = OSC/4 (SSPADD + 1) ولوتعاملنا مع برنامج MIKROC واستخدمنا الامر I2C1_Init(100000 وقمنا متلا باختياؤ 100KHZفانه سيضع القيمه في SSPADD والتي تحقق المعادله .

المسجل المهم الاخر هو SSPBUF reg والدي يخزن القيمه فيه ويجب قراءته وعند التعامل مع MIKROC لن تراه في حاله MASTER وسترى امر القراءه I2C1_Rd(0)
وستره طبعا في حاله SLAVE



ولا تنسونا من صالح دعائكم


التعديل الأخير تم بواسطة : hamzazayyad بتاريخ 28-11-2011 الساعة 09:34 AM

hamzazayyad
:: مهندس متميز ::
تاريخ التسجيل: Aug 2005
الدولة: موزنبيق
المشاركات: 701
نشاط [ hamzazayyad ]
قوة السمعة:0
قديم 28-11-2011, 10:46 AM المشاركة 8   
افتراضي


سنتجدث عن الكود الاساسي للتخاطب بين master pic microcontroller و slave pic micocontroller

ادن البرنامج الاول master pic microcontroller

















ولا تنسونا من صالح دعائكم

إضافة رد

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

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

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


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

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