قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الاليقسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots
1000 10000 1000 شكر أستاذ زكى شاكر بارك الله فيك وجعله فى ميزان حسناتك
بس حتثاقل عليك ممكن لو أمكن شرح سير البرنامج ولو ما امكنش جزاك الله خير على تفاعلك الطيب
ممكن ان شاء الله افتح الملفات اولا ب امبلاب ثم ب بروتوس للتجربة وابد ملاحظاتك.. (تم الاعداد والتجربة ب امبلاب 8.0 و بروتوس 7.1) لتمكين المتحكم من التعرف على مايحدث من تغير على مداخله ، هناك عدة اساليب يلجأ اليها المبرمج. من بينها استغلال وظيفة المقاطعات التي يتوفر عليها المتحكم. ومن بين الامثلة هناك الحاجة الى جعل المتحكم، قادرا على التعرف على مايحدث من تغير باحد مداخله بواسطة استعمال مفتاح تشغيل لوظيفة ما، لتوضيح هذه المهمة اخترت برنامجا (موضوع مشاركة سابقة) لدارة فلاشر بسيطة تبين ما يقوم به متحكم من نوع Pic 16F84 تم تهيئه لتوظيف برنامج مقاطعة على طرفه RB0 .
لكن ، في المرحلة الحالية ، اختصرت البرنامج الأصلي، إلى الحد الاذني الممكن فاستغنيت عن البرنامج الجانبي (او المصغر ) tempo ، ولم ادمج ترتيبات التخزين والاستعادة . كل هذا فقط لتسهيل مهمة التوضيح. غيرت أيضا اسم السجل int إلى اسم آخر هو mediat رفعا للالتباس. سير البرنامج: السطر1: عند توصيل الدارة بالجهد ينطلق المتحكم من هذه النقطة لتنفيذ البرنامج . السطر2 : استدعي المبرمج بالتعليمة goto برنامجا جانبيا، وضع له عنوانا (label) هو init وهي اختصار لكلمة initialisation. تعليمات (instructions) تنفيذ برنامج الاعداد init : ابتداء من السطر 6. مهمته: ا- مسح محتوى السجل العام mediat الذي أنشأه المبرمج بالذاكرة المؤقتة للمتحكم (المسح أي جعل المحتوى صفرا ، تم بالتعليمة clrf ، حيثf هو السجل mediat). ب- إعداد المداخل والمخارج (يهمنا أن يهيأ الطرف RB7 كمخرج وRB0 كمدخل ). ج- (السطر 10): إعداد السجل الخاص OPTION_REG . يهمنا بالخصوص ان يكون bit6 & bit7 مساويان لصفر. Bit6=0 يجعل مدخل المقاطعة RB0 حساسا فقط للتغير من 5 الى 0 فولت وليس العكس (لاحظ أن عمل المفتاح اللحظي start هو توصيل RB0 ب0فولت). Bit7=0 يوفر علينا إضافة مقاومة Pull-up خارجية إذ ينشط المقاومة التي بداخل المتحكم. د- (السطران 12 و13 ): اعداد السجل الخاص ، سجل المقاطعات INTCON . في هذه السجل يهمنا بالخصوص (في هذه الحال) ان يكون: Bit 7 = 1 Bit4 = 1 Bit1 = 0 السطر 3 : استدعاء البرنامج الجانبي، برنامج المقاطعة على الطرف RB0 يبدأ تنفيذ هذا البرنامج عند كل ضغطة على المفتاح اللحظي start.. تعليمات تنفيذ برنامج المقاطعة inter: ابتداء من السطر 25.
* وظائف السجل Tempo الأخرى ووظيفة السجل mediat ، سيأتي توضيحها لاحقا ان شاء الله. .. الان وجدت مشاكل في التحميل على سيرفر القرية .. لذلك سأعود مرة اخرى ان شاء الله لتحميل البرنامج موضوع الشرح . البرنامج موضوع الشرح: [IMG]http://www.*********.com/files/166753273/on-off-pic.GIF[/IMG]
التعديل الأخير تم بواسطة : زكي شاكر بتاريخ 30-09-2009 الساعة 11:54 PM
الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 04:46 PM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)