أساسيات برمجة الميكروكونترولر أولا : مقدمة للغة الاسمبلى :
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: أرشيف أعمالى : الهندسة الكهربية-الهندسة الإلكترونية-والميكاترونيكس-والبرمجة بلغة السى ولغة منطق السلم و....
صفحة 1 من اصل 1
أساسيات برمجة الميكروكونترولر أولا : مقدمة للغة الاسمبلى :
أساسيات برمجة الميكروكونترولر
أولا : مقدمة للغة الاسمبلى :
أ- الافكار الرئيسية فى برمجة الميكروكونترولر ( او اى جهاز يعمل بمبدأ الكومبيوتر) هى :
1- الميكروكونترولر لديه مجموعة تعليمات محددة instruction set ، حيث يمكنه التعرف على كل تعليمة وتنفيذها .
2- البرنامج الذى يقوم الميكروكونترولر بتنفيذه هو قائمة من التعليمات مأخوذة من مجموعة تعليماته يقوم بقراءتها بالنظام الثنائى binary من ذاكرة البرنامج الخاصة به . يسمى البرنامج فى هذا الشكل (الهيئة) بشفرة (كود) الماكينة (الالة machine code (.
3- لتنفيذ ذلك يعمل الميكروكونترولر بلا هوادة خلال تعليمات البرنامج ويفعل تماما ما تخبره به كل تعليمة أن يفعله لا أكثر ولا اقل فيما عدا عند حدوث تحويل مؤقت (المقاطعة) .
• حتى الان هذا امر بسيط ولكن الصعوبة تكمن هنا :
4- يجب على المبرمج ايجاد طرق او وسائل لتجزئة وترجمة افكاره على شكل خطوات يمكن للميكروكونترولر القيام بها حيث كل خطوة فى جوهرها يجب ان تكون تعليمة من مجموعة تعليماته.
ب- مشكلة البرمجة والتوافق (ايجاد الحل الوسط) مع الأسمبلى
مشكلة البرمجة ملخصة فى الشكل رقم 1.
فنحن كبشر نعبر عن افكارنا بطريقة معقدة وغالبا ما يكون تعريفها باشكال لغوية غير محددة المعالم .
الميكروكونترولر يقرأ ويفهم النظام الثنائى ويستجيب بشكل دقيق لتعليمات دقيقة . فهو منطقى إلى أقصى الحدود ويفعل تماما ما يؤمر به.
مع هذا الفرق اللغوى كيف يمكن للمبرمج كتابة برامج الميكرومونترولر؟
هناك ثلاثة طرق لسد هذه الفجوة تفرض نفسها وهى :
1- أن يتعلم الانسان لغة الالة .
وهذا ما كان يستخدمه المبرمجين فيما مضى .
بمشقة يكتب المبرمج كل تعليمة بشفرة الكود الثنائية حتى يستطيع الميكروكونترولر قراءتها .
وهذه الطريقة بطيئة للغاية ومملة وعرضة للاخطاء ولكن على الأقل فان المبرمج يستجيب مباشرة لحاجات وقدرات الميكروكونترولر .
2- استخدام لغات البرمجة ذات المستوى المرتفع .
وهذه الطريقة كما لو كنا بطريقة ما نطلب من الميكروكونترولر(أو الكومبيوتر) تعلم لغتنا .
فى لغات البرمجة ذات المستوى المرتفع تكتب التعليمات بشكل يرتبط بادراكنا للغتنا .
فى هذه الحالة نحتاج الى برنامج كومبيوتر اخر يسمى مفسر أو مترجم يقوم بتحويل برنامجنا الى كود لغة الالة التى يفهمها الميكروكونترولر.
بهذه الطريقة يستمتع المبرمج بوقته فى البرمجة كما يكتب برامج متطورة .
والنتيجة فان المبرمج ينفصل عن امكانيات الميكروكونترولر وقد يؤدى الى برنامج غير فعال نسبيا من حيث استخدام الذاكرة وسرعة التنفيذ .
3- استخدام لغة الاسمبلى وهذا هو الحل الوسط .
فى هذه اللغة تستخدم مجموعة من التعليمات وكل تعليمة من مجموعة التعليمات تحتوى على كلمة تذكير (تفكير – مفكرة ) mnemonic وهى كلمة مكونة من ثلاثة أو أربعة حروف تستخدم للتمثيل المباشر لتعليمة واحدة من مجموعة التعليمات .
عندئذ يكتب المبرمج البرنامج مستخدما تلك التعليمات . فى هذه اللغة يتعامل المبرمج مباشرة مع الميكروكونترولر كما لو كان يعمل مباشرة بتعليماته ولكن على الاقل فان المبرمج لديه مفكرات mnemonics لأستخدامها وهذا يكون أفضل من التعامل بشفرة لغة الالة .
يوجد برنامج كومبيوتر خاص يسمى الاسمبلر المتقاطع Cross-Assembler ويختصر بالاسمبلر يعمل على الكومبيوتر الشخصى ويحول الكود من لغة الاسمبلى الى كود لغة الالة التى يفهمها الميكروكونترولر .
أولا : مقدمة للغة الاسمبلى :
أ- الافكار الرئيسية فى برمجة الميكروكونترولر ( او اى جهاز يعمل بمبدأ الكومبيوتر) هى :
1- الميكروكونترولر لديه مجموعة تعليمات محددة instruction set ، حيث يمكنه التعرف على كل تعليمة وتنفيذها .
2- البرنامج الذى يقوم الميكروكونترولر بتنفيذه هو قائمة من التعليمات مأخوذة من مجموعة تعليماته يقوم بقراءتها بالنظام الثنائى binary من ذاكرة البرنامج الخاصة به . يسمى البرنامج فى هذا الشكل (الهيئة) بشفرة (كود) الماكينة (الالة machine code (.
3- لتنفيذ ذلك يعمل الميكروكونترولر بلا هوادة خلال تعليمات البرنامج ويفعل تماما ما تخبره به كل تعليمة أن يفعله لا أكثر ولا اقل فيما عدا عند حدوث تحويل مؤقت (المقاطعة) .
• حتى الان هذا امر بسيط ولكن الصعوبة تكمن هنا :
4- يجب على المبرمج ايجاد طرق او وسائل لتجزئة وترجمة افكاره على شكل خطوات يمكن للميكروكونترولر القيام بها حيث كل خطوة فى جوهرها يجب ان تكون تعليمة من مجموعة تعليماته.
ب- مشكلة البرمجة والتوافق (ايجاد الحل الوسط) مع الأسمبلى
مشكلة البرمجة ملخصة فى الشكل رقم 1.
فنحن كبشر نعبر عن افكارنا بطريقة معقدة وغالبا ما يكون تعريفها باشكال لغوية غير محددة المعالم .
الميكروكونترولر يقرأ ويفهم النظام الثنائى ويستجيب بشكل دقيق لتعليمات دقيقة . فهو منطقى إلى أقصى الحدود ويفعل تماما ما يؤمر به.
مع هذا الفرق اللغوى كيف يمكن للمبرمج كتابة برامج الميكرومونترولر؟
هناك ثلاثة طرق لسد هذه الفجوة تفرض نفسها وهى :
1- أن يتعلم الانسان لغة الالة .
وهذا ما كان يستخدمه المبرمجين فيما مضى .
بمشقة يكتب المبرمج كل تعليمة بشفرة الكود الثنائية حتى يستطيع الميكروكونترولر قراءتها .
وهذه الطريقة بطيئة للغاية ومملة وعرضة للاخطاء ولكن على الأقل فان المبرمج يستجيب مباشرة لحاجات وقدرات الميكروكونترولر .
2- استخدام لغات البرمجة ذات المستوى المرتفع .
وهذه الطريقة كما لو كنا بطريقة ما نطلب من الميكروكونترولر(أو الكومبيوتر) تعلم لغتنا .
فى لغات البرمجة ذات المستوى المرتفع تكتب التعليمات بشكل يرتبط بادراكنا للغتنا .
فى هذه الحالة نحتاج الى برنامج كومبيوتر اخر يسمى مفسر أو مترجم يقوم بتحويل برنامجنا الى كود لغة الالة التى يفهمها الميكروكونترولر.
بهذه الطريقة يستمتع المبرمج بوقته فى البرمجة كما يكتب برامج متطورة .
والنتيجة فان المبرمج ينفصل عن امكانيات الميكروكونترولر وقد يؤدى الى برنامج غير فعال نسبيا من حيث استخدام الذاكرة وسرعة التنفيذ .
3- استخدام لغة الاسمبلى وهذا هو الحل الوسط .
فى هذه اللغة تستخدم مجموعة من التعليمات وكل تعليمة من مجموعة التعليمات تحتوى على كلمة تذكير (تفكير – مفكرة ) mnemonic وهى كلمة مكونة من ثلاثة أو أربعة حروف تستخدم للتمثيل المباشر لتعليمة واحدة من مجموعة التعليمات .
عندئذ يكتب المبرمج البرنامج مستخدما تلك التعليمات . فى هذه اللغة يتعامل المبرمج مباشرة مع الميكروكونترولر كما لو كان يعمل مباشرة بتعليماته ولكن على الاقل فان المبرمج لديه مفكرات mnemonics لأستخدامها وهذا يكون أفضل من التعامل بشفرة لغة الالة .
يوجد برنامج كومبيوتر خاص يسمى الاسمبلر المتقاطع Cross-Assembler ويختصر بالاسمبلر يعمل على الكومبيوتر الشخصى ويحول الكود من لغة الاسمبلى الى كود لغة الالة التى يفهمها الميكروكونترولر .
مواضيع مماثلة
» برمجة الميكروكونترولر PIC بلغة السى مع المترجم CCS C : المفاهيم الأساسية للغة السى :
» مراجعة برمجة الميكروكونترولر PIC من خلال مشاريع الميكروكونترولر PIC16F877A مع الدايودات المشعة للضوء والمترجم ميكروسى برو :
» ترجمة أجزاء من كتاب برمجة الميكروكونترولر بلغة السى والمترجم ميكروسى
» برمجة الميكروكونترولر CHAPTER 2 - Programming Microcontroller
» 1-كتاب برمجة الميكروكونترولر PIC بلغة السى والمترجم ميكروسى برو والمحاكاة ببرنامج بروتيس
» مراجعة برمجة الميكروكونترولر PIC من خلال مشاريع الميكروكونترولر PIC16F877A مع الدايودات المشعة للضوء والمترجم ميكروسى برو :
» ترجمة أجزاء من كتاب برمجة الميكروكونترولر بلغة السى والمترجم ميكروسى
» برمجة الميكروكونترولر CHAPTER 2 - Programming Microcontroller
» 1-كتاب برمجة الميكروكونترولر PIC بلغة السى والمترجم ميكروسى برو والمحاكاة ببرنامج بروتيس
منتديات الهندسة الكهربية والإلكترونية والميكاترونكس والكومبيوتر :: أرشيف أعمالى : الهندسة الكهربية-الهندسة الإلكترونية-والميكاترونيكس-والبرمجة بلغة السى ولغة منطق السلم و....
صفحة 1 من اصل 1
صلاحيات هذا المنتدى:
لاتستطيع الرد على المواضيع في هذا المنتدى