منتدى الإلكترونيات قسم الالكترونكس لمناقشة الافكار والمعلومات المتعلقة بالهندسة الالكترونية للمبتدئين والهواة والفنيين - Electronics

   

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



ثالثا :الترجمة بالمترجم أو الكومبيلر :
فى نهاية المطاف نصل إلى نقطة توليد الملف السداسى عشر .hex والذى تحتاجه لتحميله على الميكروكونترولر .
أولا يجب اختيار نوع الميكروكونترولر من القائمة المنسدلة Settings > Microcontroller .
بعد ذلك يجب تخصيص أطراف للمداخل وللمخارج لكل كائن يمثل مدخل `Xname' أو مخرج `Yname' . وذلك بالنقر المزدوج على اسم الكلئن بالقائمة أسفل الشاشة . فيظهر لك مربع حوارى يمكنك اختيار أحد الاطراف الغير مخصصة من قبل من القائمة .

بعد ذلك يجب عليك اختيار زمن دورة التشغيل ويجب عليك اخبار الكومبيلر بسرعة الساعة (المذبذب) التى سوف يعمل عليها الميكروكونترولر .
• ويتم ذلك من القائمة المنسدلة Settings > MCU Parameters .

عامة أنت لا تحتاج الى تغيير زمن الدورة فالقيمة الافتراضية هى 10 ms وهى قيمة جيدة لمعظم التطبيقات . اكتب تردد الكريستال الذى سوف تستخدمه مع الميكروكونترولر (أو مذبذب الرنين السيراميكى resonator) ثم اضغط على OK .
الآن يمكنك توليد الكود من البرنامج باختيارمن القوائم المنسدلة Compile > Compile أو من Compile > Compile As اذا كنت ترجمت هذا البرنامج من قبل وتريد تحديد مسار أو اسم آخر لملف الخرج .
إذا لم يكن هناك خطأ فإن الكومبيلر سوف يولد الملف السداسى عشر الجاهز لتحميله على شريحة الميكروكونترولر .

تذكر أنه يجب تحديد وضبط بتات الاعداد والتهيئة المسماة بالفيوزات(fuses) .
بالنسبة للميكروكونترولر PIC16 بتات الاعدادات متضمنه داخل الملف السداسى عشر ومعظم برمجيات software البرمجة سوف تنظر هناك اتوماتيكيا .
أما الميكروكونترولر AVR فيجب ضبط الاعدادات يدويا .

اعلانات

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


التدريب الأول : فديو يوضح إنشاء برنامج بسيط بهدف استعراض كيفية استخدام برنامج LDmicro :


https://youtu.be/PeolxvJKIzQ


التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 20-05-2016 الساعة 08:27 PM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 20-05-2016, 09:33 PM المشاركة 11   
افتراضي


https://www.youtube.com/watch?v=bHNT...ature=youtu.be


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 21-05-2016, 12:03 AM المشاركة 12   
افتراضي التدريب الأساسى على البرمجة بمنطق السلم مع برنامج LDmicro :


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

• فى بداية البرنامج يكون الليد off .
• عند الضغط على المفتاح الضاغط (أول ضغطة) يتحول الليد إلى وضع on أى يضىء بشكل مستمر .
• إذا ضغطت على المفتاح الضاغط مرة أخرى(الضغطة الثانية) يبدا الليد فى الوميض blink .
• إذا ضغطت على المفتاح للمرة الثالثة (الضغطة الثالثة) يتحول الليد إلى حالة off مرة ثانية .
• وتتكرر الدورة بتكرار الفعل .
خطوات التنفيذ :
أولا : اختيار الميكروكونترولر والدائرة الكهربائية :
• سوف نستخدم PIC16F876
• وهذه هى الدائرة الكهربائية :



• الميكروكونترولر PIC16F876 (IC1) ، ومعه مذبذب رنين resonator سيراميكى (U1)(يحتوى داخله على المكثفات ) ، ويمكنك استخدام كريستال مع مكثفين ~20 pF .
• المفتاح الضاغط متصل بحيث عند تشغيله يعطى جهد موجب إلى دخل الميكروكونترولر (أسهل فى الفهم ) ويسمى ‘active HIGH’ أى جهد مرتفع أو منطق 1 عند التشغيل أو التوصيل .
الشكل التالى يبين الدائرة على مركبة على لوحة الاختبار(البريد بورد) :




الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 21-05-2016, 12:43 AM المشاركة 13   
افتراضي ثانيا : مخطط منطق السلم للبرنامج :


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




• وهى تعطى فلاشر بمعدل 1/((250+250) ms) أى 2 HZ أو مرتين فى الثانية . والنتيجة تكون 250 ms on و 250 ms off .
• هذه الدائرة يمكنها عمل أى نوع من المذبذبات وبأى عرض للنبضات .
• أيضا لاحظ أننا اخترنا استخدام ريلاى داخلى (‘Rosc’) بدلا من من ربطه بطرف دخل ‘Xosc’أو طرف خرج ‘Yosc’. وهذا منطقى لأنه لا يوجد سبب معين لربط هذه الإشارة بأى طرف . يقوم البرنامج أتوماتيكيا بتخصيص موضع فى الذاكرة للريلاى الداخلى .
الجزء الثانى :
برنامجنا له ثلاثة حالات : وهى تبطيل (عدم إضاءة) off – إضاءة مستمرة – إضاءة متقطعة .
• يحب أن يحول البرنامج حالته عند كل ارتفاع فى حافة الإشارة من المفتاح الضاغط .
• وهذا يعتبر تطبيق جيد للعداد الدائرى .
• سوف نقول أن الحالة 0 هى حالة off وأن الحالة 1 هى حالة الإضاءة المستمرة والحالة 2 هى حالة الوميض .
• العداد سوف يعد 0, 1, 2, 0, 1, 2, ..., وهكذا.
• وكل ما نفعله هوأن نقوم بإدراج سطرا به عداد Cstate (تسميه العداد تعبر عن حالة الدخل ) ، هذا العداد يكون مرتبط ا(عمله مشروط ) بالمفتاح الضاغط المتصل بالدخل Xbutton وسوف يعمل كل شىء وفق ما نريد .




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




• من السهل الاقتناع بأن هذا هو ما تريده وترغب فيه .
• فاذا كان البرنامج فى الحالة 1 عندئذ تكون التعليمة ‘Cstate == 1’ لها خرج مرتفع (أى يتحقق الشرط) ومن ثم تعمل على إثارة أو تشغيل الخرج ‘Yled’ ، بشكل مستمر كما هو مطلوب .
• فى الحالة 2 تقوم التعليمة ‘Cstate == 2’ بإثارة الخرج ‘Yled’ (لتحقق الشرط)ولكن فقط عندما يكون ‘Rosc’ حقيقى أو مرتفع . ونظرا لان ‘Rosc’ متذبذب يكون الليد أيضا متذبذب فى الاضاءة أى فلاشر كما هو مطلوب .
• واخيرا فى الحالة 0 لا يكون أى من تعليمتى التساوى حقيقى (عدم تحقق أى شرط) ولا يوجد طريق لإضاءة الليد أبدا .


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 21-05-2016, 01:25 AM المشاركة 14   
افتراضي كيفية إدخال (كتابة) مخطط منطق السلم (البرنامج)


كيفية إدخال (كتابة) مخطط منطق السلم (البرنامج)
• عندما تبدأ برنامج LDmicro ستشاهد سطر وحيد خالى كما فى الشكل .


المطلوب أن ندخل (نكتب) أول سطر من برنامجنا .
• نبدأ بالملف coil: الطريقة : من القائمة المنسدلة Instruction اختار التعليمة "ادراج ملف" Insert Coil .
(ونكتبها اختصارا Instruction > Insert Coil ). أو اضغط على حرف اختصار التعليمة وهو “C” .
• ينشأ هذا الأمر ملف coil بأسم افتراضى وهو ‘Ynew’ . وهذا ما نريده فيما عدا الاسم فهو خاطىء ويجب إعادة تسميته .
• انقر نقرا مزدوجا على رمز الملف فيظهر لك مربع حوارى والذى يمكنك ملؤه كما فى الشكل .



• الأن يمكننا إدراج باقى السطر بنفس الطريقة .
• انقر على الحافة اليسرى لرمز الملف فيصبح المؤشر رأسيا إلى يسار الملف .
• الآن اختار TON (Delayed Turn On) Instruction -> Insert أى مؤقت تاخير التوصيل .
• مرة ثانية انقر نقرا مزدوجا على رمز المؤقت لاعادة تسميته ولتحديد زمن التاخير .
• اضف المؤقت TOF ( أى مؤقت تاخير الفصل) والتلامسات بنفس الطريقة .
• الآن نريد أن ندخل السطر الثانى : اختار Edit > Insert Rung After أى إدراج سطر بعد السطر الحالى .
• ثم انقر على السطر الثانى لنقل المؤشر هناك .




• السطر الثانى سهل : مجرد وضع التعليمتان بالترتيب الصحيح بوضع المؤشر حيث تريد إدراج التعليمة واختار التعليمة المطلوبة من قائمة التعليمات Instruction > Insert .... .
• تذكر إعادة التسمية لتكون (‘Xbutton’) للتلامس ووضع اسم والحد الاقصى (العلوى) للعداد .
• بعد ذلك اختار Edit -> Insert Rung After مرة ثانية ليصبح شكل البرنامج كما يلى :


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



• الآن أدرج أول تعليمة تساوى على يسار الملف كالمعتاد ثم يتم إعادة التسمية ووضع القيمة الصحيحة .



• بعد ذلك يتم إضافة فرع توازى .
• يمكنك فعل ذلك بالنقر على الحافة السفلية لتعليمة التساوى فيصبح المؤشر أسفل تعليمة التساوى وافقيا .
• الآن اختار Instruction-> Insert EQU (Compare for Equals) أى تعليمة مقارنة للتساوى .
• والآن المؤشر تحت أول تعليمة تساوى ، ولذلك فان تعليمة التساوى الجديدة سوف تدرج أسفل هذه التعليمة وعلى التوازى معها .
• يتم اعادة التسمية كالمعتاد .
• لإنهاء السطر يجب ادراج التلامسات ‘Rosc’ إلى يمين تعليمة التساوى الثانية .
• لفعل ذلك انقر على الحافة اليمنى لتعليمة التساوى الثانية لنقل المؤشر كما يلى :



• عند هذه النقطة اختار Instruction > Insert Contacts يتم إدراج تلامسات على التوالى مع تعليمة التساوى الثانية كما كنت ترغب .
• يتم إعادة تسمية التلامسات ويكون لديك الشكل :



الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 21-05-2016, 01:35 AM المشاركة 15   
افتراضي محاكاة البرنامج :


محاكاة البرنامج :
• الآن نحن مستعدين لمحاكاة دائرتنا .
• اختار Simulate > Simulation Mode . يتغير مظهر واجه الشاشة ويظهر مخطط منطق السلم باللون الرمادى ولكنك لن تشاهد أى تغيير مع الزمن . وذلك لان المتحكم لم يقوم بعمل دورته بعد .
• لتفيذ بدء الدورة (التشغيل ) اختار Simulate> Start Real-Time Simulation
• الآن سوف تشاهد أشياء تحدث : تلاحظ عمل المذبذب . ولكن الليد (‘Yled’) مازالت مطفأة off وهو الذى نريده لأنه لم يتم الضغط على المفتاح الضاغط بعد .
• لمحاكاة الضغط على المفتاح الضاغط انقر نقرا مزدوجا على النص ‘Xbutton’ بالقائمة اسفل الشاشة .
• أنت الآن حاكيت جعل دخل المفتاح الضاغط بالجهد المرتفع كما لو أن أحد ضغط على المفتاح الضاغط ( ولم يترك الضغط بعد).



• يمكنك مشاهدة البرنامج وهو يعمل : العداد ‘Cstate’ الآن يساوى 1 والذى يناظر حالة الاضاءة المستمرة والتى نريدها .
• خرج الليد يصبح مرتفع حيث يمكنك أن ترى أن قيمته أصبحت 1 بالقائمة السفلية والملف‘Yled’ يظهر باللون الاحمر .
• النقر المزدوج على النص‘Xbutton’ بالقائمة السفلية يحرر المفتاح الضاغط (إزالة الضغط) ،بعد ذلك انقر نقرا مزدوجا مرة أخرى لمحاكاة الضغطة الثانية .
• يبدأ الملف ‘Yled’ فى الإضاءة المتقطعة كما صممنا .
• إذا حاكيت الضغطة الثالثة فان الخرج سوف يصبح منخفض ومستمر إى عدم الاضاءة .


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 21-05-2016, 01:43 AM المشاركة 16   
افتراضي الترجمة إلى ملف سداسى عشر Compiling


الترجمة إلى ملف سداسى عشر Compiling
الآن تأكدنا تماما من أن البرنامج يعمل . عند هذه النقطة نحن جاهزون لتوليد الكود أو الشفرة الفعلية وتجربتها على الميكروكونترولر .
• أولا اخرج من نظام المحاكاة بأختيار Simulate > Simulation Mode أو بالضغط على زر Escape .
• بعد ذلك يحب أن نختار الميكروكونترولر .
نحن قررنا سابقا استخدام PIC16F876 لذلك اختار Settings > Microcontroller ومنها اختار Microchip PIC16F876 28-PDIP or 28-SOIC
• يجب أن نخبر البرنامج ايضا عن نوع الكريستال المستخدم .
اختار Settings -> MCU Parameters واملأ خانة سرعة الساعة بالقيمة 20 MHz . اترك زمن الدورة عند 10 ms لانها قيمة جيدة .
• الآن يمكنك تخصيص الاطراف للمداخل والمخارج .
• انقر نقرا مزدوجا على النص ‘Xbutton’ بالقائمة السفلية للشاشة واختار الطرف رقم 14 للميكروكونترولر PIC وهو يناظر RC3 .



• انقر على OK .
• كرر العملية السابقة بالنسبة للخرج ‘Yled’ وكما ترى من الدائرة أنه الطرف 15 .

باقى العناصر بالقائمة هى متغيرات داخلية وخانات بالذاكرة لذلك فلا حاجة لتخصيص أطراف لها . فالبرنامج سوف يخصص لها ذاكرة عند الترجمة .
الآن انت جاهز للترجمة .
• اختار Compile> Compileوحدد أين تريد وضع الملف السداسى عسر .
• استخدم جهاز البرمجة لتحميل الملف إلى الميكروكونترولر وتكون جاهزا لتجربته.



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