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

   

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 19-04-2016, 01:54 PM المشاركة 25   
افتراضي



الدروس المستفادة من ربط DS1307 مع PIC16F877A خلال I2C ومع المترجم ميكروسى برو :
1- تمهيد :
الجهاز DS1307 يتعامل مع البيانات من نوع BCD فقط فى حين أن المترجم ميكروسى لا يتعامل مع هذا النوع من البيانات تعاملا مباشرا فكيف نوفق بينهما ؟
• نحن نتعامل ونتفاهم مع المترجم ميكروسى برو بأنظمة الأعداد المختلفة ( السداسى عشر بالبادئة 0x ، والثنائى بالبادئة 0b والعشرى بدون بادئة ) وفى جميع الأحول وفى نهاية المطاف يقوم المترجم بترجمة البرنامج إلى إلى ملف سداسى عشرى .
• الميكروكونترولر لا يفهم إلا لغة الآلة فقط ، والمكونة من آحاد وأصفار فقط ولا تحتوى على بادئات أو لاحقات ، عندما يتم تحميل الملف السداسى عشرى إلى ذاكرة الميكروكونترولر بواسطة جهاز البرمجة والبرمجيات الخاصة به يجب أن يحمل فى شكل لغة الآلة .
• عند الكتابة :يرسل الميكروكونترولر بايت إلى DS1307 يكون فى شكل آحاد وأصفار 8-bit . عندما يصل هذا البايت إلى DS1307 فلن يسبب مشكلة لأنه سوف يترجم الأربع بتات الأولى رقم أحاد BCD والأربع بتات الأخيرة رقم عشرات BCD .
• عند القراءة يرسل DS1307 بيانات بايت فى شكل 8 بتات مشكلة BCD وعندما يستقبلها الميكروكونترولر يستقبلها أيضا فى شكل 8 بتات وهنا تأتى المشكلة ، فكيف يتعامل معها لكى تعبر تعبيرا صحيحا عن البيانات الأصلية ؟ الإجابة : يجب علية أولا وقبل كل شىء تحويل هذه البيانات BCD إلى أى شكل من الأشكال التى يتعرف عليها المترجم حتى يمكنه لاحقا من معالجتها بأى شكل من الأشكال .

2- إمكانيات المترجم ميكروسى برو فى التعامل مع الناقل I2C :

اعلانات

magdy_3
:: مهندس متميز ::
تاريخ التسجيل: Aug 2006
الدولة: Philippines
المشاركات: 339
نشاط [ magdy_3 ]
قوة السمعة:
قديم 20-04-2016, 02:00 AM المشاركة 26   
افتراضي


السلام عليكم
الف شكر استاذ فتح الله على دروسك القيمة والمفيدة
وانا من المتابعين من اول الشرح
ولى سوال عند تشغيل الساعة لا تظهر خانة العشرات السعات
وتظهر ديما صفر يعنى الساعة 23 تظهر 03
واعتقد ده سببه هو الكود
كود:
hr=hour&0b00011111;
والمفروض كان يكتب
كود:
hr=hour&0b00111111;
حتى لا اجعل عشرات الساعات تساوى صفر
وال ap يختبر البت السادس ان كان بواحد يختبر بعدها البت الخامس ان كان بواحد يكون pm وان كان بصفر يكون am
هل هذا صحيح ام اننى لم افهم جيدا
وشكرا

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 20-04-2016, 10:54 AM المشاركة 27   
افتراضي


السلام عليكم
الف شكر استاذ فتح الله على دروسك القيمة والمفيدة
وانا من المتابعين من اول الشرح
ولى سوال عند تشغيل الساعة لا تظهر خانة العشرات السعات
وتظهر ديما صفر يعنى الساعة 23 تظهر 03
واعتقد ده سببه هو الكود
كود:
hr=hour&0b00011111;
والمفروض كان يكتب
كود:
hr=hour&0b00111111;
حتى لا اجعل عشرات الساعات تساوى صفر
وال ap يختبر البت السادس ان كان بواحد يختبر بعدها البت الخامس ان كان بواحد يكون pm وان كان بصفر يكون am
هل هذا صحيح ام اننى لم افهم جيدا
وشكرا
أخى الكريم شكرا جزيلا لك :
هذه هى نتائج المحاكاة :







البرنامج الذى نتحدث عنه محدد ليعمل بنظام 12 ساعة مع الإشارة AM/PM لذلك نكتفى بخمسة بتات ، الأربعة الأولى لخانة الآحاد والبت الخامسة وهى لخانة العشرات لأنها سوف تكون صفر أو واحد فقط أما الخانة السادسة فى مخصصة فى هذه الحالة لللإشارة AM/PM بدلا من تخصيصها لتكملة خانة العشرات فى النظام 24 ساعة ، راجع جدول خريطة بيانات DS1307 >



مع تمنياتى بدوام التوفيق


magdy_3
:: مهندس متميز ::
تاريخ التسجيل: Aug 2006
الدولة: Philippines
المشاركات: 339
نشاط [ magdy_3 ]
قوة السمعة:
قديم 20-04-2016, 04:48 PM المشاركة 28   
افتراضي


شكرا جزيلا استاذى العزيز


jabranelanyar
:: مهندس ::
تاريخ التسجيل: Mar 2017
المشاركات: 2
نشاط [ jabranelanyar ]
قوة السمعة:
قديم 21-03-2017, 02:25 AM المشاركة 29   
افتراضي


مساعدة في كفية برمجة منبه



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