بسم الله الرحمن الرحيم
أخي الكريم / killer_007
أهلا ومرحبا بك وأتمنى لك رحلة موفقة وممتعة في عالم المايكروكنترولر
بالنسبة لأسئلتك جميعا فهي موجودة وبتفصيل شرحها في موضوع
أسرع طريق لاحتراف برمجة البك باستخدام مايكروسي
بالنسبة لتوصيل الطرف 4 بـ 14 فهذا الموضوع تم ذكره في آخر درس
وتم النتبيه إليه بقوة فالطرف رقم 4 ( مايسمى بـ MCLR ) يجب توصيله بجهد خمسة فولت ولكن ليس مباشرة بل لابد من وجود مقاومة 10 كيلو مثلا (طرف منها لـ MCLR وطرفها الآخر يوصل بموجب خمسة فولت ) كما يتضح ذلك في الرسومات الموجودة في دروس الدورة .
إن عدم توصيل MCLR بأي شيء قد يجعل الدائرة لا تعمل (إلا إذا تم ضبط إعدادت معينة في المشروع ) .
وإن توصيل MCLR بدون وضع مقاومة قد يسبب العديد من المشاكل .
هذه نقطة , أما فيما يتعلق بتوصيل السويتش ( البرنامج الذي تريده) فلابد من التأكد الشديد من دقة التوصيلات وخصوصا المقاومة 10 كيلو الموصلة بالسويتش ومكانها .
لذلك حتى يستطيع الجميع مساعدتك وخصوصا في بداية الطريق حاول إرفاق الدائرة التي قمت بتوصيلها وإن استطعت أن تأخذ صورة حقيقة عملية لها فهذا أفضل وأفضل حتى نتأكد من أن المشكلة ليست في هذه النقطة .
وبالنسبة لسؤالك عن الدائرة وما هي ؟ فكما قلت لك هي موضحة جيدا في دورة الميكروسي التي أشرت إليها . نفذ الدائرة كما هي مع مراعاة توصيل المقاومة 10 كيلو بالطرف رقم أربعة . وانسخ الكود الموجود في الدروس لأنه كود مجرب وليس به أخطاء .
المشكلة في بداية طريق التعلم هي أنه عند تطبيق المشاريع الالكترونية نحتار ولا نعرف ما هي المشكلة بالضبط ؟ هل العيب من الدائرة أم من مكونات الدائرة بأن يكون أحدها تالف ؟ أم في الكود المكتوب ؟ أم ... إلخ
لذلك يجب أن نحاول أن نتأكد جيدا فمثلا بالنسبة للتأكد من صحة الكود يجب أن نجربه أولا على برنامج المحاكاة proteus لنتأكد أن الكود ليست به مشاكل بعد ذلك سيكون بنسبة كبيرة جدا أن العيب إما في جهاز البرمجة أو في الدائرة . ولكن بما أنه تم تجريب جهاز البرمجة من قبل وعمل جيدا إذن غالبا ستكون المشكلة في التوصيلات الخاصة بالدائرة .. وهكذا ..
هذه خطوات منطقية لابد من اتباعها .
تمنياتي لك بالتوفيق ..
ونصحية أخوية : الصبر الصبر الصبر ..
تجد بعده أكثر وأفضل مما تريد ومما كنت تطمح له . والله الموفق
=====================================
أخي الكريم فادي : يبدو أنك تعاني من بعض الارهاق .
سأذكرك بدورة المايكروسي وما كان فيها من تمرينات وأسئلة : وإليك الأسئلة التالية :-
السؤال الأول : كتب أحد الأشخاص برنامج الهدف منه إضاءة ليد ثم إطفاءة بزمن بينهم قدره نصف ثانية هذا الشخص أول حرف من اسمه فادي . يا ترى ما هو الخطأ في الكود الذي كتبه
كود:
void main()
{
while(1)
{
TRISB=0B00000000;
delay_ms(500);
PORTB=0B00000001;
delay_ms(500);
}
}
هل لك أن تساعده لأنه عند تطبيق هذا الكود لن يؤدي الوظيفة المطلوبة .
==============
السؤال الثاني : قام أحد المحترفين بكتابة كود ولكنه كان مرهق بعض الشيء وكان يظن أن الكود سيؤدي الوظيفة المطلوبة ولكن لم يحدث ذلك فهل لك أن تساعده وتذكره ( الهدف من البرنامج إضاء ليد عند الضغط على سويتش ) .
كود:
void main()
{
TRISB=0B00000000;
TRISA=0B11111111;
while(1)
{
if(porta.f0==0) portb.f0=1;
}
يوجد خطأين في هذا الكود فما هما ؟؟
===================
السؤال الثالث : هل تقترح على هذا الشخص الذي كتب الأكواد السابقة طريقة يمكنه من خلالها التأكد من أن الكود الذي كتبه سليم ويعمل جيدا وليس فيه نسيان أو خطأ ؟؟ (أرجوك ساعده فهو شخص عزيز علينا ونحبه كثيرا وأتمنى أن يترفه عن ذلك ولا يقع في هذه الأشياء البسيطة )
===================
==========================================
وفقنا الله جيمعا لما يحب ويرضى ورزقنا وإياكم العلم النافع والعمل الصالح والسلام عليكم ورحمة الله وبركاته