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

   

الصورة الرمزية Abdulla873
Abdulla873
:: مهندس متميز ::
تاريخ التسجيل: Sep 2009
الدولة: Baghdad, Iraq
المشاركات: 504
نشاط [ Abdulla873 ]
قوة السمعة:
قديم 22-02-2011, 08:41 PM المشاركة 9   
افتراضي



سوف احاول ان اوضح بشكل اكثر...
يوجد في ال PIC16F877A والكثير من المايكروات الاخرى ما يدعى بال
Capture/Compare/PWM Module والذي عادة يختصر بال CCP ويوجد منه اثنان في
ال PIC16F877A
وكل واحد من الخيارات الثلاث يستخدم لاداء وظيفية معينة , فالاول يستخدم للاقتباس
والثاني للمقارنة والثالث لتوليد اشارة مربعة ذات ترددات مختلفة وايضا يتيح امكانية
تغير ال Mark and Space , الجزء المهم لدينا في هذا المشروع هو Capture
كيف يستخدم وكيف يعمل؟؟؟
اولا بما ان ال CCP يتضمن ثلاث خيارات , لذا في البداية يجب ان تختار وظيفية ال
Capture يتم ذلك عن طريق ال CCP1CON Register , يمكن في هذا المشروع
ان تستخدم Capture1 لل CCP1 لقياس ال Thigh وال Capture2 من ال CCP2
لقياس ال Tlow بعد اختيار ال Captures , ضع مواصفات ال Timer1 , يفضل ان
يكون ال Clock source Internal .
كيفية العمل , يبدا ال Timer1 بالعد ويتوقف عند تغير قيمة الموجة (اما التغير من
High to Low or From Low to High) , يحدث
Interrupt تنقل قيمة Timer في متغير لاجراء العمليات الحسابية وايجد قيمة التردد
حيث ان T=1/F

اعلانات

geniusse01
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2008
الدولة: Jordan - Amman
المشاركات: 1,134
نشاط [ geniusse01 ]
قوة السمعة:
قديم 22-02-2011, 11:51 PM المشاركة 10   
افتراضي


اخ شيمي ... هل يمكنك شرح الكود و شرح طريقة القراءة .... و الف شكر اخي الكريم
السلام عليكم

من بعد اذن اخونا ومعلمنا الشيمي سواضح الخطوط العريضة للبرنامج :


برنامج المقاطعة( void interrupt) :

يتم تجهيز برنامج المقاطعة من اجل حساب عدد النبضات الداخلة الى البيك من خلال الطرف RB0. بحيث انه كلما جاءت جبهة صاعدة يزيد العد بمقدار 1 في برنامج المقاطعة ..

البرنامج الرئيسي ( void main) :

يتم تجهيز اعدادات البرنامج من مداخل ومخارج واعدادات المقاطعة .. وعند جاهزية الاعدادات يبدا البرنامج بتفعيل المقاطعة والانتظار مقدار ثانية واحدة ،يتم اظهار العد على البورت D ..

ارجو ان يكون توضح البرنامج واي اسفسار فيمكن ان يفيدك الاعضاء جميعا ..ارجو لكن التوفيق...

واخر دعوانا ان الحمدلله رب العالمين .. وصلى الله على سيدنا محمد وعلى اله وصحبه وسلم..

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

الصورة الرمزية sheimy
sheimy
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: Egypt
المشاركات: 767
نشاط [ sheimy ]
قوة السمعة:
قديم 23-02-2011, 01:36 AM المشاركة 11   
افتراضي


السلام عليكم

من بعد اذن اخونا ومعلمنا الشيمي سواضح الخطوط العريضة للبرنامج :


برنامج المقاطعة( void interrupt) :

يتم تجهيز برنامج المقاطعة من اجل حساب عدد النبضات الداخلة الى البيك من خلال الطرف RB0. بحيث انه كلما جاءت جبهة صاعدة يزيد العد بمقدار 1 في برنامج المقاطعة ..

البرنامج الرئيسي ( void main) :

يتم تجهيز اعدادات البرنامج من مداخل ومخارج واعدادات المقاطعة .. وعند جاهزية الاعدادات يبدا البرنامج بتفعيل المقاطعة والانتظار مقدار ثانية واحدة ،يتم اظهار العد على البورت D ..

ارجو ان يكون توضح البرنامج واي اسفسار فيمكن ان يفيدك الاعضاء جميعا ..ارجو لكن التوفيق...

واخر دعوانا ان الحمدلله رب العالمين .. وصلى الله على سيدنا محمد وعلى اله وصحبه وسلم..
ربنا يكرمك اخى فادى
لو كنت شرحت ما كنت ساوضح هكذا
بارك الله فيك


ahmad abdullah
:: مهندس متميز ::
تاريخ التسجيل: Jun 2010
الدولة: لبنان-فلسطين
المشاركات: 584
نشاط [ ahmad abdullah ]
قوة السمعة:
قديم 23-02-2011, 07:14 PM المشاركة 12   
افتراضي


شكرا لكم اخواني ... لكنني لا اعرف استخدام المقاطعة ... سأدرسها انشالله حتى افهم كلامكم ... شكرا لكم



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