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

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

الصورة الرمزية زكرياء المغربي
زكرياء المغربي
:: عضو فضي ::
تاريخ التسجيل: Feb 2013
الدولة: المغرب
المشاركات: 682
نشاط [ زكرياء المغربي ]
قوة السمعة:101
قديم 11-03-2013, 06:26 PM المشاركة 1   
Post مساعدة في المقاطعات Twitter FaceBook Google+



السلام عليكم و رحمة الله تعالى و بركاته.....
إخواني يواجهني مشكل في تعلم استقبال الآنفراريد لجهلي التام بالمقاطعات ، فإن تفضلتم بشرحها أو رابط لموضوعها و شكرا

اعلانات

kishoko
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2011
المشاركات: 122
نشاط [ kishoko ]
قوة السمعة:0
قديم 14-03-2013, 12:21 AM المشاركة 2   
افتراضي


السلام عليكم و رحمة الله تعالى و بركاته.....
إخواني يواجهني مشكل في تعلم استقبال الآنفراريد لجهلي التام بالمقاطعات ، فإن تفضلتم بشرحها أو رابط لموضوعها و شكرا
اخى العزيز لكى تدير اى مقاطعه بشكل احترافى لابد من تنفيذ الخطوات الاتيه بالتسلسل الموضح :
اولا : مسح علم المقاطعه التى تريد استخدامها
ثانيا : تفعيل المقاطعه المراد استخدامها
ثالثا : تفعيل سجل المقاطعات الطرفيه
رابعا : تفعيل سجل المقاطعات العام
خامسا : اعداد سجل التحكم الخاص بالمقاطعه المراد استخدامها

ساعطيك مثال بسيط لتدرك ما اعنيه بالضبط فسنستخدم مقاطعه تايمر 0 فى pic16f877a كالاتى :
TMR0IF_bit=0
TMR0IE_bit=1;
PEIE_bit=1;
GIE_bit=1;
OPTION_REG=0B00001000
لقد قمنا فى السابق باعداد تايمر 0 للعمل كمؤقت زمنى
اذا اردت الاستزادة فى فهم المقاطعات فيمكننى عمل برنامج فيه استخدام لجميع مقاطعات البك pic16f877a فى برنامج واحد لكى تفهم كيفيه الاستفادة من المقاطعات لأنها اهم شئ فى المايكروكنترولر لكى تتمكن من عمل مشاريع قويه

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

الصورة الرمزية زكرياء المغربي
زكرياء المغربي
:: عضو فضي ::
تاريخ التسجيل: Feb 2013
الدولة: المغرب
المشاركات: 682
نشاط [ زكرياء المغربي ]
قوة السمعة:101
قديم 14-03-2013, 08:27 AM المشاركة 3   
افتراضي


شكرا أخي كيشوكو
لكن كما سبق و قلت ، فأنني جاهل كليا بالمقاطعات ، لذلك ماذا تقصد بـ''مسح علم المقاطعه التى تريد استخدامها'' و ''اعداد سجل التحكم الخاص بالمقاطعه المراد استخدامها'' و شكرا جزيلا


kishoko
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2011
المشاركات: 122
نشاط [ kishoko ]
قوة السمعة:0
قديم 14-03-2013, 11:16 AM المشاركة 4   
افتراضي


شكرا أخي كيشوكو
لكن كما سبق و قلت ، فأنني جاهل كليا بالمقاطعات ، لذلك ماذا تقصد بـ''مسح علم المقاطعه التى تريد استخدامها'' و ''اعداد سجل التحكم الخاص بالمقاطعه المراد استخدامها'' و شكرا جزيلا
العفو يا اخى و لكن الفكرة العامه للمقاطعات بنيت على اساس انك كمبرمج تقوم بكتابه البرنامج الرئيسي void main و لكنك من خلال المقاطعات تضع بعض الشروط الخاصه بك و بالاعدادت التى قمت انت ببرمجتها بحيث اذا ما حدث ذلك الشرط يقوم البك بمقاطعه البرنامج الرئيسي void main و يقوم بعمل pause للتعليمه التى وقف عندها و يذهب بسرعه لداله المقاطعات و التى تحتوى على تعليماتك الخاصه بها و بعد الانتهاء منها يرجع البك لاستكمال تنفيذ التعليمه التى وقف عندها و عند حدوث المقاطعه تتحول قيمه بت علم حدوث الماطعه من 0 الى واحد كدليل على حدوثها لذا لابد منك فى نهايه برنامج المقاطعات ارجاع قيمه ذلك البت الى 0 مرة اخرى لكى تحدث المقاطعه مرة اخرى
سأعطيك مثال بسيط انت قمت بكتابه برنامج فى الداله الرئيسيه نثل تغير قيمه البورت بي مثلا كل ثانيه و لكنك تريد شرط محدد الا و هو اذا ما حدث تغير على البن portb.f0 و هو الخاص بالمفاطعات عندئذ انت تريد من البرنامج الرئيسي ان يثاطع عمله و يقوم بزيادة قيمه متغير ما بواحد و كل مرة ننغير فيها قيمه جهد البن portb.f0 تريد البك يقوم بنفس الوظيفه و لكنك لاتريد كتابه مثل هذا الشرط داخل الداله الرئيسيه حتى لا يعطلها عن تنقيذ اوامرها و لكنك لتتعلم المقاطعات لابد اولا فراءة ملف السجلات الخاصه بالداتا شيت للبك الذى تتعامل معه فمثلا فى البك pic16f877a سنجدة كالاتى :
data memory organization / special function register
ستجد به مجموعه من سجلات الوظائف الخاصه مثل :
status register , OPTION_REG register , INTCON register , PIE1 register , PIR1 register , PIE2 register , PIR2 register , PCON register
و كل سجل به 8 بت و كل بت خاص بوظيفه معينه
فنجد مثلا ان هناك مقاطعات مفيدة جدا لدى هذا البك مثل مقاطعه تايمر0 و هو تايمر يمكن استخدامه كعداد اى يعد عدد مرات حدوث حدث معين او ان يعمل كمؤقت زمنى و هناك تايمر 1 و تايمر 2 مع اختلافات بسيطه فى قدرات كل تايمر و هذة المقاطعات تعتبر مقاطعات داخليه اى لا تعتمد على اى سنسور من الخارج و هناك ما يسمى بالمقاطعات الطرفيه اى ما تعتمد على سنسور من خارج البك مثل مقاطعه الالتقاط او مقاطعه الاتصال التسلسلى المتزامن او اللامتزامن او مقاطعه اكتمال المحول التناظرى
عموما لابد منك قراءة الداتا شيت الخاصه بالبك الذى تتعامل معه و قراءة سجل التحكم الخاص بنوع المقاطعه التى تريد التعامل معها و اذا اردت نوعا ما من الاحتراف فلك بالبحث على الانترنت عن tips and tricks للمقاطعه التى تريد استخدامها


kishoko
:: مهندس متواجد ::
تاريخ التسجيل: Mar 2011
المشاركات: 122
نشاط [ kishoko ]
قوة السمعة:0
قديم 14-03-2013, 11:24 AM المشاركة 5   
افتراضي


اليك اخى العزيز هذا الكتابالقيم فى كيفيه التعامل مع المقاطعات

http://www.mediafire.com/?t3my1lik3u685ag


الصورة الرمزية زكرياء المغربي
زكرياء المغربي
:: عضو فضي ::
تاريخ التسجيل: Feb 2013
الدولة: المغرب
المشاركات: 682
نشاط [ زكرياء المغربي ]
قوة السمعة:101
قديم 14-03-2013, 01:21 PM المشاركة 6   
افتراضي


شكرا جزيلا لك أخي

لكن عندي سؤال آخر : كيف يمكتتي كتابة مقاطعة بالميكرو سي(مثال) ، ما دور المكدس في استعادة سيرورة البرنامج بعد المقاطعة ؟ ، و كيف نبنيه بالميكرو سي ؟ و شكرا جزيلا

إضافة رد

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

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

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


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

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