الدرس الثانى : جولة داخل بيئة التطوير المتكاملة لبرنامج LDMicro والمستخدم فى البرمجة بلغة منطق السلم :

استعرض الموضوع السابق استعرض الموضوع التالي اذهب الى الأسفل

الدرس الثانى : جولة داخل بيئة التطوير المتكاملة لبرنامج LDMicro والمستخدم فى البرمجة بلغة منطق السلم :

مُساهمة من طرف Admin في الخميس مايو 19, 2016 9:49 am

الدرس الثانى : جولة داخل بيئة التطوير المتكاملة لبرنامج LDMicro والمستخدم فى البرمجة بلغة منطق السلم :
موقع مصدر البرنامج ويحتوى على المعلومات الكاملة عنه :
http://cq.cx/ladder.pl
فيما يلى ملخص مصور لاستعراض أهم ملامح بيئة العمل مع البرنامج LDMicro

المحتويات داخل ملف على الرابط :

http://www.mediafire.com/download/dac8b5iro6k7272/lesson2-part1-LDMicro-IDE.rar

Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الدرس الثانى : الجزء الثانى استعراض برنامج LDmicro :

مُساهمة من طرف Admin في الخميس مايو 19, 2016 9:59 pm

الدرس الثانى : الجزء الثانى
استعراض برنامج LDmicro :
مقدمة :
• يقوم برنامج LDmicro بتوليد الشفرة المطلوبة لبعض أنواع من الميكروكونترولر من العائلة PIC16 لشركة ميكروشيب و بعض أنواع الميكروكونترولر AVRلشركة أتمل .
• عادة ما تكتب البرامج لهذه الميكروكونترولر بلغات برمجة مثل الأسمبلى أو السى أو البيسك . البرنامج فى أى من هذه اللغات يتألف من قائمة من العبارات والتعليمات . هذه اللغات قوية ومناسبة جدا لبناء المعالج الذى يقوم داخليا بتنفيذ قائمة التعليمات .
• على الجانب الاخر فإن المتحكم القابل للبرمجة PLC غالبا ما يبرمج بما يعرف باسم البرمجة بمخطط "منطق السلم " `ladder logic' .
الشكل أدناه يبين مثال بسيط لشكل هذا المخطط :



• حيث Tdon يمثل مؤقت "تأخير التوصبل" turn-on delay .
• و Tdof يمثل مؤقت "تأخير الفصل" turn-off delay .
• والرموز أو التعليمات --] [-- و --]/[-- تمثل المداخل والتى تتصرف وتعامل كنوع من تلامسات الريلايهات.
• والرمز أو التعليمة --( )-- تمثل المخارج والتى تتصرف وتعامل كنوع من ملفات الريلايهات .

نلاحظ عدد من الاختلافات :
1- يتم تمثيل البرنامج على شكل رسوم (رموز) وليس كقائمة من التعليمات النصية . وكثير من الناس سوف يجد ذلك أسهل للفهم .
2- على المستوى الأولى أو الأساسى فإن البرامج تشبه مخططات الدوائر الكهربائية التى تستخدم الريلاى أى تلامسات (للمداخل) وملف (للمخارج) . وهى بديهية ومنطقية وسهلة للمبرمجين الذين لديهم معلومات عن نظريات الدوائر الكهربية .
3- مترجم أو كومبيلر مخطط منطق السلم يعتنى ويقوم بكل شىء . فلست مضطرا لكتابة كود لتحديد متى يتم تحديث المخارج بناء على التغيير فى المداخل أو التغيير فى الاحداث الزمنية ولا تكون مضطرا إلى تحديد ترتيب حدوث ذلك فالأدوات الموجودة فى البرنامج تقوم ذلك .
مترجم أو كومبيلر برنامج LDmicro يدعم معالجات الميكروكونترولر التالية :



• PIC16F628(A)
• PIC16F88
• PIC16F819
• PIC16F877(A)
• PIC16F876(A)
• PIC16F887
• PIC16F886
• ATmega128
• ATmega64
• ATmega162
• ATmega32
• ATmega16
• ATmega8

• يمكنك أستخدام برنامج LDmicro من رسم المخطط السلمى لبرنامجك .
• ويمكنك أيضا من محاكاة البرنامج كوقت التشغيل الفعلى real time ياستخدام الكومبيوتر الشخصى .
• وعندما تكون على قناعة تامة بأن البرنامج صحيح ، يمكنك تخصيص أطراف الميكروكونترولر لمداخل ومخارج البرنامج .
• وأخيرا يمكنك ترجمة البرنامج إلى ملف سداسى عشر .hex والمطلوب لوضعه أو تحميله فى الميكروكونترولر بأستخدام اى جهاز برمجة .

Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثانى : جولة داخل بيئة التطوير المتكاملة لبرنامج LDMicro والمستخدم فى البرمجة بلغة منطق السلم :

مُساهمة من طرف Admin في الخميس مايو 19, 2016 10:23 pm

خطوات استخدام برنامج LDmicro :
أولا :كتابة البرنامج :

عند بدء البرنامج يبدأ ببرنامج ، فى الوضع الافتراضى ، وبه سطر (درجة rung) واحد فارغ . حيث يمكنك إضافة أو إدراج التعليمات اليه . فعلى سبيل المثال يمكنك إضافة مجموعة من التلامسات من القائمة المنسدلة (Instruction > Insert Contacts) فتظهر بالاسم الافتراضى `Xnew' حيث `X' تعنى أن التلامسات سوف ترتبط أو توصل بطرف دخل بالميكروكونترولر . يمكنك تأجيل تخصيص الطرف بعد اختيار الميكروكونترولر وباقى التلامسات .
الحرف الأول فى الاسم يدل على نوع العنصر فعلى سبيل المثال :
• Xname يمثل طرف دخل للميكروكونترولر (أحد أطراف منافذ الدخل والخرج ) .
• Yname يمثل طرف خرج للميكروكونترولر (أحد أطراف منافذ الدخل والخرج ).
• Rname يمثل ريلاى داخلى أى خانة أو بت فى ذاكرة الميكروكونترولر الداخلية .
• Tname يمثل مؤقت ( سواء كان لتأخير التوصيل أو لتأخير الفصل أو متذكر .
• Cname يمثل عداد (سواء كان متزايد أو متناقص ) .
• Aname يمثل قراءة لقيمة من دخل محول من أنالوج الى رقمى A/D .
• Name يمثل متغير استخدام عام .
يتم اختيار باقى الاسم بحيث يعبر عن ما يفعله العنصر أو الكائن وبحيث يكون فريد أى لا نظير له فى البرنامج . فعلى سبيل المثال ، يكون من الخطأ أن نسمى المؤقت (TON) بالاسم `Tdelay' ثم نسمى المؤقت (TOF) بنفس الاسم `Tdelay' فى نفس البرنامج ، لأن كل مؤقت / عداد يحتاج إلى ذاكرته الخاصة .
ومن جهة أخرى قد يكون ممكنا أن تسمى مؤقت التذكر (RTO) بالاسم `Tdelay' وتعليمة التصفير (RES) المرتبطة بالمؤقت `Tdelay' أيضا لأنه فى هذه الحالة فانك تريد أن تعمل كلتا التعليمتان بنفس المؤقت .
أسم المتغير يمكن أن يتكون من حروف وأرقام والشرطة السفلية (_) ، ولكنه يجب أن لا يبدأ برقم . واسم المتغير حساس لنوع الحرف (كبير او صغير ).
تعليمات المتغيرات العامة (MOV, ADD, EQU, etc.) يمكنها أن تعمل على متغيرات بأى اسم . وهذا يعنى أنها تقبل أو تسمح بالتعامل مع المؤقت والعداد . وهو ما قد يكون مفيدا أحيانا . فعلى سبيل المثال يمكنك اختبار أو فحص اذا ما كان العداد أو المؤقت عند حالة أو مدى معين .
المتغيرات دائما تكون عدد من 16 bit. وهذا يعنى أنه يمكنه أخذ القيم من -32768 الى 32767 ، تعامل المتغيرات باشاراتها . فيمكنك تحديد قيم بالحرف مثل الاعداد العشرية (0, 1234, -56) ، كما يمكنك تحديد قيم على شكل حروف أسكى ASCII مثل ('A', 'z') بوضع الحرف بين الاقواس المفردة المبينة .

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

المؤشر بالبرنامج يظهر وهو يومض ليبين التعليمة المختارة الحالية ونقطة الإدراج الحالية . فاذا لم يكن يومض اضغط على مفتاح <Tab> أو انقر على التعليمة . الآن يمكنك حذف التعليمة الحالية أو ادراج تعليمة جديدة إلى يمين أو إلى يسار (أى على التوالى مع ) أو فوق أو تحت (أى على التوازى مع ) التعليمة الحالية المختارة .

بعض العمليات لا يسمح بها . على سبيل المثال : لا يسمح بوجود تعليمة إلى يمين الملف coil .
يبدأ البرنامج بمجرد سطر . يمكنك اضافة اسطر من القائمة المنسدلة
Edit > Insert Rung Before/After
يمكنك وضع دوائر فرعية كثيرة ومعقدة على التوازى فى سطر واحد ولكن يكون من الأوضح استخدام عدة أسطر .
• بمجرد كتابة البرنامج يمكنك اختباره بالمحاكاة ثم بعد ذلك ترجمته إلى ملف سداسى عشر HEX .

Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثانى : جولة داخل بيئة التطوير المتكاملة لبرنامج LDMicro والمستخدم فى البرمجة بلغة منطق السلم :

مُساهمة من طرف Admin في الخميس مايو 19, 2016 10:28 pm

ثانيا : المحاكاة :
للدخول إلى نظام المحاكاة اختار من القائمة المنسدلة Simulate > Simulation Mode أو اضغط على الازرار <Ctrl+M>، فيظهر البرنامج بمظهر مختلف فى نظام المحاكاة .
فلا يوجد مؤشر ، والتعليمة المثارة ( المفعلة أوتسمح بمرور التيار) تظهر باللون الاحمر الفاتح كما لو كانت مضيئة ، والتعليمات الغير مثارة تظهر باللون الرمادى .

اضغط على مسطرة المسافات لتشغيل المتحكم دورة واحدة ، وللتشغيل المستمر كما فى التشغيل الحقيقى اختار من القائمة المنسدلة Simulate > Start Real-Time Simulation أو اضغط على الأزرار <Ctrl+R> ، يظهر البرنامج وهو يعمل كما لو كان يعمل وقت التشغيل الحقيقى .

يمكنك تحديد أو ضبط حالة المداخل إلى البرنامج بالنقر المزدوج عليها بالقائمة أسفل الشاشة أو بالنقر المزدوج على تلامسات تعليمة الدخل `Xname' فى البرنامج .
إذا غيرت من حالة طرف دخل فان انعكاس أو تأثير هذا التغيير لن يتم إلا بعد دورة للمتحكم ، وسوف يحدث ذلك اتوماتيكيا سواء فى المحاكاة المستمرة أو خطوة خطوة .

Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثانى : جولة داخل بيئة التطوير المتكاملة لبرنامج LDMicro والمستخدم فى البرمجة بلغة منطق السلم :

مُساهمة من طرف Admin في الخميس مايو 19, 2016 10:34 pm

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

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

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

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

Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثانى : جولة داخل بيئة التطوير المتكاملة لبرنامج LDMicro والمستخدم فى البرمجة بلغة منطق السلم :

مُساهمة من طرف Admin في الجمعة مايو 20, 2016 1:36 pm

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


Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

رد: الدرس الثانى : جولة داخل بيئة التطوير المتكاملة لبرنامج LDMicro والمستخدم فى البرمجة بلغة منطق السلم :

مُساهمة من طرف Admin في الجمعة مايو 20, 2016 6:28 pm


Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

التدريب الأساسى على البرمجة بمنطق السلم مع برنامج LDmicro :

مُساهمة من طرف Admin في الجمعة مايو 20, 2016 9:00 pm

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

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



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





Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

ثانيا : مخطط منطق السلم للبرنامج :

مُساهمة من طرف Admin في الجمعة مايو 20, 2016 9:40 pm

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




• وهى تعطى فلاشر بمعدل 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 لا يكون أى من تعليمتى التساوى حقيقى (عدم تحقق أى شرط) ولا يوجد طريق لإضاءة الليد أبدا .

Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

كيفية إدخال (كتابة) مخطط منطق السلم (البرنامج)

مُساهمة من طرف Admin في الجمعة مايو 20, 2016 10:23 pm

كيفية إدخال (كتابة) مخطط منطق السلم (البرنامج)
• عندما تبدأ برنامج 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 يتم إدراج تلامسات على التوالى مع تعليمة التساوى الثانية كما كنت ترغب .
• يتم إعادة تسمية التلامسات ويكون لديك الشكل :


Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

محاكاة البرنامج :

مُساهمة من طرف Admin في الجمعة مايو 20, 2016 10:33 pm

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



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

Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

الترجمة إلى ملف سداسى عشر Compiling

مُساهمة من طرف Admin في الجمعة مايو 20, 2016 10:41 pm

الترجمة إلى ملف سداسى عشر 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وحدد أين تريد وضع الملف السداسى عسر .
• استخدم جهاز البرمجة لتحميل الملف إلى الميكروكونترولر وتكون جاهزا لتجربته.



Admin
Admin

عدد المساهمات : 985
تاريخ التسجيل : 28/01/2014

معاينة صفحة البيانات الشخصي للعضو http://fathallaabdelaziz.forumarabia.com

الرجوع الى أعلى الصفحة اذهب الى الأسفل

استعرض الموضوع السابق استعرض الموضوع التالي الرجوع الى أعلى الصفحة


 
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى