القرية الإلكترونية - الكترونيات - كمبيوتر - هاردوير - خدمات المواقع - كهرباء - فضائيات - جوال - اتصالات - تكييف وتبريد - اجهزة الانتاج الزراعي - كهرباء السيارات

كود تفعيل العضوية - الابلاغ عن روابط لاتعمل - صيانة التلفزيون - الحاسبة - الأعضاء المتميزين - البرامج و المخططات - بث مباشر للقنوات الفضائية - إذاعة - تردد القنوات - بحث


لوحة مفاتيح عربية

العودة   منتدى القرية الإلكترونية > القسم الالكتروني > منتدى الإلكترونيات
التسجيل       اجعل كافة المشاركات مقروءة

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

رد
 
أدوات الموضوع
قديم 10-05-2016, 07:49 PM   #1
F.Abdelaziz
استاذ و مشرف قسم الالكترونيات
 
الصورة الرمزية F.Abdelaziz

المشاركات: 6,894
أحصائية الترشيح

عدد النقاط : 6483


النشاط

معدل تقييم المستوى: 332
افتراضي أساسيات برمجة الميكروكونترولر أولا : مقدمة للغة الاسمبلى :

أساسيات برمجة الميكروكونترولر
أولا : مقدمة للغة الاسمبلى :
أ- الافكار الرئيسية فى برمجة الميكروكونترولر ( او اى جهاز يعمل بمبدأ الكومبيوتر) هى :
1- الميكروكونترولر لديه مجموعة تعليمات محددة instruction set ، حيث يمكنه التعرف على كل تعليمة وتنفيذها .
2- البرنامج الذى يقوم الميكروكونترولر بتنفيذه هو قائمة من التعليمات مأخوذة من مجموعة تعليماته يقوم بقراءتها بالنظام الثنائى binary من ذاكرة البرنامج الخاصة به . يسمى البرنامج فى هذا الشكل (الهيئة) بشفرة (كود) الماكينة (الالة machine code (.
3- لتنفيذ ذلك يعمل الميكروكونترولر بلا هوادة خلال تعليمات البرنامج ويفعل تماما ما تخبره به كل تعليمة أن يفعله لا أكثر ولا اقل فيما عدا عند حدوث تحويل مؤقت (المقاطعة) .
• حتى الان هذا امر بسيط ولكن الصعوبة تكمن هنا :
4- يجب على المبرمج ايجاد طرق او وسائل لتجزئة وترجمة افكاره على شكل خطوات يمكن للميكروكونترولر القيام بها حيث كل خطوة فى جوهرها يجب ان تكون تعليمة من مجموعة تعليماته.
ب‌- مشكلة البرمجة والتوافق (ايجاد الحل الوسط) مع الأسمبلى
مشكلة البرمجة ملخصة فى الشكل رقم 1.



فنحن كبشر نعبر عن افكارنا بطريقة معقدة وغالبا ما يكون تعريفها باشكال لغوية غير محددة المعالم .
الميكروكونترولر يقرأ ويفهم النظام الثنائى ويستجيب بشكل دقيق لتعليمات دقيقة . فهو منطقى إلى أقصى الحدود ويفعل تماما ما يؤمر به.
مع هذا الفرق اللغوى كيف يمكن للمبرمج كتابة برامج الميكرومونترولر؟
هناك ثلاثة طرق لسد هذه الفجوة تفرض نفسها وهى :
1- أن يتعلم الانسان لغة الالة .
وهذا ما كان يستخدمه المبرمجين فيما مضى .
بمشقة يكتب المبرمج كل تعليمة بشفرة الكود الثنائية حتى يستطيع الميكروكونترولر قراءتها .
وهذه الطريقة بطيئة للغاية ومملة وعرضة للاخطاء ولكن على الأقل فان المبرمج يستجيب مباشرة لحاجات وقدرات الميكروكونترولر .
2- استخدام لغات البرمجة ذات المستوى المرتفع .
وهذه الطريقة كما لو كنا بطريقة ما نطلب من الميكروكونترولر(أو الكومبيوتر) تعلم لغتنا .
فى لغات البرمجة ذات المستوى المرتفع تكتب التعليمات بشكل يرتبط بادراكنا للغتنا .
فى هذه الحالة نحتاج الى برنامج كومبيوتر اخر يسمى مفسر أو مترجم يقوم بتحويل برنامجنا الى كود لغة الالة التى يفهمها الميكروكونترولر.
بهذه الطريقة يستمتع المبرمج بوقته فى البرمجة كما يكتب برامج متطورة .
والنتيجة فان المبرمج ينفصل عن امكانيات الميكروكونترولر وقد يؤدى الى برنامج غير فعال نسبيا من حيث استخدام الذاكرة وسرعة التنفيذ .
3- استخدام لغة الاسمبلى وهذا هو الحل الوسط .
فى هذه اللغة تستخدم مجموعة من التعليمات وكل تعليمة من مجموعة التعليمات تحتوى على كلمة تذكير (تفكير – مفكرة ) mnemonic وهى كلمة مكونة من ثلاثة أو أربعة حروف تستخدم للتمثيل المباشر لتعليمة واحدة من مجموعة التعليمات .
عندئذ يكتب المبرمج البرنامج مستخدما تلك التعليمات . فى هذه اللغة يتعامل المبرمج مباشرة مع الميكروكونترولر كما لو كان يعمل مباشرة بتعليماته ولكن على الاقل فان المبرمج لديه مفكرات mnemonics لأستخدامها وهذا يكون أفضل من التعامل بشفرة لغة الالة .
يوجد برنامج كومبيوتر خاص يسمى الاسمبلر المتقاطع Cross-Assembler ويختصر بالاسمبلر يعمل على الكومبيوتر الشخصى ويحول الكود من لغة الاسمبلى الى كود لغة الالة التى يفهمها الميكروكونترولر .
F.Abdelaziz غير متواجد حالياً   رد مع اقتباس مشاركة محذوفة
اعلانات
رد

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

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

تعليمات المشاركة
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة

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

الساعة الآن: 08:44 PM


Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025
Feedback Buttons provided by Advanced Post Thanks / Like (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
القرية الإلكترونية