منتديات الالكترونيات العصرية  
yoursite.com page title .

استرجاع كلمة المرور طلب كود تفعيل العضوية تفعيل العضوية
العودة   منتديات الالكترونيات العصرية > منتدى الحاكمات الدقيقة Microcontroller > منتدى المتحكمات ميكرو بلغة الاسمبلي

  #1  
قديم 10-29-2009, 03:41 PM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,825
معدل تقييم المستوى: 23
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي اساسيات برمجة الميكروكونترولر pic بلغة الاسمبلى

السلام عليكم

اسمحو لى المشاركة بهذا الموضوع


اساسيات برمجة الميكروكونترولر من البداية خطوة بخطوة

مقدمة فى لغة الاسمبلى :

الافكار الرئيسية : ما الذى تقوم بعمله البرامج وكيف نطورها :

الافكار الرئيسية فى برمجة الميكروكونترولر ( او اى جهاز يعمل بمبدأ الكومبيوتر) هى :

1- الميكروكونترولر لديه مجموعة تعليمات محددة instruction set يمكنه التعرف على كل تعليمة وتنفيذها .

2- البرنامج الذى يقوم الميكروكونترولر بتنفيذه هو قائمة من التعليمات ماخوذة من مجموعة تعليماته يقوم بقراءتها بالنظام الثنائى binary من ذاكرة البرنامج الخاصة به . يسمى البرنامج فى هذا الشكل (الهيئة) بشفرة (كود) الماكينة (الالة) machine code .

3- لتنفيذ ذلك يعمل الميكروكونترولر بلا هوادة من خلال تعليمات البرنامج يفعل تماما ما تخبره به كل تعليمة يفعله لا اكثر ولا اقل فيما عدا عند حدوث تحويل مؤقت بالمقاطقة (الاعتراض) .
حتى الان هذا امر بسيط ولكن الصعوبة هنا :

4- يجب على المبرمج ايجاد طرق او وسائل لتجزئة وترجمة افكاره على شكل خطوات يمكن للميكروكونترولر القيام بها حيث كل خطوة فى جوهرها يجب ان تكون تعليمة من مجموعة تعليماته.

مشكلة البرمجة والتوافق (ايجاد الحل الوسط) مع الاسمبلى

مشكلة البرمجة ملخصة فى الشكل رقم 1.

فنحن كبشر نعبر عن افكارنا بطريقة معقدة وغالبا ما يكون تعريفها باشكال لغوية غير محددة المعالم .

الميكروكونترولر يقرأ ويفهم النظام الثنائى ويستجيب بشكل دقيق لتعليمات دقيقة . فهو منطقى الى اقصى الحدود ويفعل تماما ما يؤمر به.

مع هذا الفرق اللغوى كيف يمكن للمبرمج كتابة برامج الميكرومونترولر؟

هناك ثلاثة طرق لسد هذه الفجوة تفرض نفسها وهى :

1- ان يتعلم الانسان لغة الالة .
وهذا ما كان يستخدمه المبرمجين احيانا فيما مضى .

بمشقة يكتب كل تعليمة بشفرة الكود الثنائية حتى يستطيع الميكروكونترولر من قراءتها .

وهذا بطىء للغاية وممل وعرضة للاخطاء ولكن على الاقل فان المبرمج يستجيب مباشرة لحاجات وقدرات الميكروكونترولر .

2- استخدام لغات البرمجة ذات المستوى المرتفع .

وهذا كما لو كنا بطريقة ما نطلب من الميكروكونترولر (الكومبيوتر) تعلم لغتنا .

فى لغات البرمجة ذات المستوى المرتفع تكتب التعليمات بشكل يرتبط بادراكنا للغتنا .

فى هذه الحالة نحتاج الى برنامج كومبيوتر اخر وهو اما مجمع compiler او مفسر (مترجم) interpreter يقوم بتحويل برنامجنا الى كود لغة الالة الذى يفهمها الميكروكونترولر.

بهذه الطريقة يستمتع المبرمج بوقته فى البرمجة كما يكتب برامج متطورة .

والنتيجة فان المبرمج ينفصل عن امكانيات الميكروكونترولر وقد يؤدى الى برنامج غير فعال نسبيا من حيث استخدام الذاكرة وسرعة التنفيذ .

3- استخدام لغة الاسمبلى .
وهذا هو الوضع الوسط .

كل تعليمة من مجموعة التعليمات تعطى تذكير (تفكير –مفكرة ) mnemonic . وهى كلمة مكونة من ثلاثة او اربعة حروف والتى يمكن استخدامها للتمثيل المباشر لتعليمة واحدة من مجموعة التعليمات .

عندئذ يكتب المبرمج البرنامج مستخدما تعليمات بمفكرات . يجب على المبرمج التفكير بمستوى الميكروكونترولر كما لو كان يعمل مباشرة بتعليماته ولكن على الاقل فان المبرمج لديه مفكرات mnemonics لأستخدامها افضل من التعامل بشفرة لغة الالة .

يوجد برنامج كومبيوتر خاص يسمى الاسمبلر المتقاطع ويختصر بالاسمبلر Cross-Assembler يعمل على الكومبيوتر الشخصى ويحول الكود من الاسمبلى الى كود لغة الالة التى يفهمها الميكروكونترولر .

ونظرا لان الكومبيوتر الشخصى هو الذى يقوم بالتحويل من لغة الاسمبلى الى لغة الالة فيمكن اضافة فوائد اخرى للعملية .

فعلى سبيل المثال يمكن للاسمبلر مراقبة مدى انشغال الحيز المخصص للذاكرة فى ذاكرة البرنامج كما يمكنه قبول علامات labels الارقام ومواضع الذاكرة مما يؤدى الى تسهيل مهمة المبرمج الى حد كبير .




القادم ان شاء الله

عملية كتابة البرنامج بلغة الاسمبلى
رد مع اقتباس
  #2  
قديم 10-29-2009, 04:44 PM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,825
معدل تقييم المستوى: 23
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: اساسيات برمجة الميكروكونترولر pic بلغة الاسمبلى

عملية (طريقة) كتابة البرنامج بلغة الاسمبلى


العملية الفعلية فى الكتابة بلغة الاسمبلى موضحة بالشكل رقم 2.





يكتب مبرمج الميكروكونترولر البرنامج بلغة الاسمبلى .

ويمكن فعل ذلك فقط باستخدام محرر نصوص .

فى الشكل سطرين من برنامج بلغة الاسمبلى وهما من مجموعة تعليمات عائلة الميكروكونترولر PIC 16 ( لتوضيح الفكرة فقط) .

المصطلح Cross-Assembler اى الاسمبلر المتقاطع يعنى ان الكومبيوتر الذى يعمل عليه يقوم بعمل شفرة الاسمبلى لنوع اخر من الكومبيوتر وهو فى حالتنا الميكروكونترولر ( واتفق على تسميته اختصارا بالاسمبلر ).

يقوم الاسمبلر بتحويل البرنامج من لغة الاسمبلى (بمفكراتها) الى شفرة لغة الالة الجاهزة (المطلوبة) للميكروكونترولر .

فى الشكل قام الاسمبلر بتحويل سطرين من اسطر كود لغة الاسمبلى الى شفرة لغة الالة على شكل كلمات ذات 14-bits لعائلة الميكروكونترولر PIC 16 .

ويوجد جهاز برمجة خاص يستخدم لتحميل (تنزيل) download البرنامج بشفرة الالة من الكومبيوتر الشخصى الى ذاكرة البرنامج فى الميكروكونترولر .


القادم ان شاء الله

عملية تطوير البرنامج :
رد مع اقتباس
  #3  
قديم 10-29-2009, 05:12 PM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,825
معدل تقييم المستوى: 23
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: اساسيات برمجة الميكروكونترولر pic بلغة الاسمبلى

عملية تطوير البرنامج :
عملية الكتابة بلغة الاسمبلى يجب ان توضع فى السياق الاوسع فى تطوير المشروع .

المراحل الممكنة فى عملية تطوير البرنامج لنظام مشروع بسيط مبينة فى الشكل رقم 3 .






يكتب المبرمج البرنامج الذى نسميه شفرة او كود المصدر source code بلغة الاسمبلى .

ثم يتم تحويله باستخدام الاسمبلر وكومبيوتر شخصى .

اذا كان لدى المبرمج محاكى simulator يقوم المبرمج باختبار البرنامج بالمحاكاة ومن المرجح أن يؤدي هذا البرنامج الى اكتشاف الأخطاء ، الأمر الذي يتطلب تغيير شفرة المصدر الأصلي .

عندما نشعر بالارتياح لهذا البرنامج عندئذ يقوم المبرمج بتنزيل (تحميل) البرنامج فى ذاكرة البرنامج للميكروكونترولر نفسه مستخدما اما جهاز برمجة منفصل متصل بكومبيوتر شخصى او استخدام امكانيات نظام المشروع نفسه فى ذلك .

ثم يقوم المبرمج باختبار البرنامج بتشغيله فعليا على الجهاز hardware . مرة اخرى قد يقودنا ذلك الى ان نحتاج الى التغيير فى شفرة المصدر .

من الواضح ان لتطوير ولو مشروع بسيط فان اختيار البرمجيات software المختلفة يكون مفيدا . وعادة ما تكون هذه البرمجيات مجمعة فيما يعرف بيئة التطوير المتكاملة واختصارا IDE .


القادم ان شاء الله
مجموعة تعليمات العائلة PIC
رد مع اقتباس
  #4  
قديم 10-29-2009, 08:56 PM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,825
معدل تقييم المستوى: 23
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: اساسيات برمجة الميكروكونترولر pic بلغة الاسمبلى

مجموعة تعليمات العائلة PIC 16
مقدمة


علاقة التعليمات بوحدة الحساب والمنطق ALU:

قبل البحث فى مجموعة التعليمات يجدر بنا البحث فى علاقة التعليمات بوحدة الحساب والمنطق ALU الشكل رقم 4:







فهم هذا الشكل يساعد فى فهم مجموعة التعليمات .

انظر الى الشكل سترى ان :

وحدة الحساب والمنطق ALU يمكن ان تعمل على بيانات (معطيات) من مصدرين .

احدهما هو مسجل العمل W .

والاخر اما ان يكون قيمة ثابتة محددة حرفيا literal (متضمنة فى كلمة التعليمة)

او قيمة من ذاكرة البيانات والتى يطلق عليها ( بمعرفة شركة ميكروشيب) سجلات الملفات (او ملفات التسجيل) .

القيمة الثابتة المحددة حرفيا literal هى بايت byte من البيانات موجود (مصحوب) فى تعليمة خاصة والتى يدرجها المبرمج فى البرنامج .

وهكذا يمكننا توقع رؤية بعض التعليمات التى تستدعى من ذاكرة البيانات وتعليمات اخرى تحتاج الى بيانات بقيمة ثابتة محددة literal مع تحديد متى تستخدم .

وسوف تاتى امثلة على كل ذلك .

البيانات التى تقوم التعليمة باجراء العمليات عليها او تستخدمها تسمى المعامل operand.

المعاملات يمكن ان تكون بيانات او عناوين .

سنرى ان بعض انواع البيانات يحتاج دائما الى معامل معين يلحق بها وتعليمات اخرى لا تحتاج الى معامل .

بعد ان تنفذ التعليمة اين يتم تخزين (حفظ) النتيجة ؟

هناك خياران :

اما ان توضع النتيجة فى المسجل W

او

تحفظ مرة ثانية فى ذاكرة البيانات اى السجلات.

اى الخيارين مستخدم ؟

ذلك ثابت فى تعليمات معينة وفى البعض الاخر يحدد بحالة خانة خاصة محددة فى التعليمة .

القادم ان شاء الله

مجموعة تعليمات الميكروكونترولر : العائلة PIC 16
رد مع اقتباس
  #5  
قديم 10-30-2009, 02:37 AM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,825
معدل تقييم المستوى: 23
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: اساسيات برمجة الميكروكونترولر pic بلغة الاسمبلى



مجموعة تعليمات الميكروكونترولر : العائلة PIC 16


مقدمة :






نتحول الان الى مجموعة التعليمات للعائلة PIC 16 والموجودة فى صحيفة البيانات data sheet .

انظر اليها نظرة طويلة وثاقبة ونحن نسعى (نهدف) الى التعرف عليها بشكل جيد .

يمكنك ان ترى ان الجدول مقسم الى ستة اعمدة وكل تعليمة من ال 35 تعليمة توجد فى سطر (خط او صف ) واحد .

العامود الاول :

يعطى التعليمة بشكلها الفعلى ( سميناه شكل مفكرة mnemonic ) ومعها الشفرة (الكود) التى تحدد نوع المعامل الذى ستعمل عليه .

يوجد اربع انواع من شفرات هذا المعامل وهى :

• المعامل f اى ملف file ( وتعنى اى موقع فى ذاكرة البيانات ) وهو عدد من 7 خانات 7-bits) )

• المعامل b اى خانة bit والمطلوب البحث عنها فى داخل ملف محدد وهو عدد من 3 خانات (3-bits ).

• المعامل d ويعنى الهدف (او المقصود) وهو خانة واحدة ( 1-bit)

• المعامل k ويعنى قيمة ثابتة محددة حرفيا literal وهو عدد من 8 خانات 8-bits) ) اذا كان يعبر عن بيانات ومن 11 خانة (11-bits )اذا كان يعبر عن عنوان.

العامود الثانى :

يلخص عمل التعليمة. فى بعض الحالات يعطى معلومات كافية .

العامود الثالث :

يبين عدد دورات التعليمة التى تاخدها التعليمة فى التنفيذ .

العامود الرابع :

يعطى شفرة (كود) العملية والمسمى opcode لكل تعليمة والمكون من 14-bits .

وهذا هو الكود الذى ينتجه برنامج الاسمبلر (عندما يحول البرنامج من شفرة لغة الاسمبلى الى شفرة لغة الالة ) ومن المفيد ملاحظة شفرات المعاملات operand المذكورة بعاليه وكيفية تضمينها فى كود العملية .

العامود الخامس :

يبين اى الخانات فى مسجل الحالة Status ستتاثر بالتعليمة .

على الفور دعونا ننظر الى خمسة امثلة لتعليمات لنرى كيف يتم عرض المعلومات .

ملحوظة :

دعونا نعلم من الان ان البرمجة بلغة الاسمبلى ليست حساسة لنوع الحروف ( كبير ام صغير ) ولمجرد التنسيق فقط سوف نكتب البرنامج بالاحرف الصغيرة .

لنرى الامثلة :


clrw

هذه التعليمة تجعل قيمة المسجل W صفر ( ومعنى شكل المفكرة mnemonic : ان clrw تذكرنا بكلمة clear اى محو او مسح والحرف w يذكرنا بالمسجل W ) وهذا النوع من التعليمات لايتم تحديد معامل بها .

والعمود الخامس يخبرنا بان خانة الصفر Z فى مسجل الحالة سوف تتاثر بالتعليمة ونظرا لان نتيجة هذه التعليمة دائما صفر فان Z دائما تكون 1 .

ولا تتاثر اية خانات اخرى من مسجل الحالة .


clrf f

هذه التعليمة تمسح ( تصفر اى تجعلها صفر) القيمة الموجودة فى موقع من مواقع الذاكرة والذى نرمز له بالرمز f .

المبرمج هو الذى يحدد قيمة f .

مرة ثانية لان النتيجة هى صفر فان خانة الصفر Z فى مسجل الحالة ستتاثر كما سبق .


addwf f,d

هذه التعليمة تضيف (تجمع) محتويات المسجل W الى محتويات موقع الذاكرة الذى يرمز له بالحرف f .

والمبرمج هو الذى يحدد قيمة f .

هناك اختيار فى مكان وضع النتيجة وهذا يتحدد بقيمة خانة المعامل d ( الهدف ) .
ونظرا لان النتيجة قد تاخذ قيم مختلفة (كنتيجة لعملية الجمع) فان جميع خانات شفرة الحالة الثلاثة بمسجل الحالة سوف تتاثر بالتعليمة ( خانة الصف Z وخانة الحمل C وخانة نصف الحمل DC ) .

bcf f,b

هذه التعليمة تمسح (تصفر) خانة واحدة bit فى موقع ذاكرة وكل من الخانة والموقع يحدد بمعرفة المبرمج .

رقم الخانة b ياخذ قيمة من 0 الى 7 لتحديد خانة من الثمانى خانات فى موقع الذاكرة .

لا يتاثر اى علم من اعلام مسجل الحالة حتى لو تخيلنا ان نتيجة التعليمة تجعل موقع الذاكرة صفرا .


addlw k

هذه التعليمة تضيف (تجمع) قيمة ثابت محدد حرفيا literal (والذى قيمته هى k والتى يجب على المبرمج تحديدها ) الى القيمة المحفوظة فى المسجل W .

والنتيجة تحفظ فى المسجل W فلا يوجد هنا اختيار .

وكما فى التعليمة addwf فان جميع خانات الحالة بمسجل الحالة تتاثر بهذه التعليمة .


القادم ان شاء الله

برامج الاسمبلر وشكل(هيئة) لغة الاسمبلى :
رد مع اقتباس
  #6  
قديم 10-30-2009, 03:07 AM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,825
معدل تقييم المستوى: 23
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: اساسيات برمجة الميكروكونترولر pic بلغة الاسمبلى

برامج الاسمبلر وشكل(هيئة) لغة الاسمبلى :

مقدمة لبرنامج الاسمبلر والخاص بشركة ميكروشيب MPASM

سوف نعتمد على برنامج الاسمبلر الخاص بشركة ميكروشيب والمسمى MPASM وهو عبارة عن جزء متضمن داخل برنامج MPLAB IDE وسوف نتناوله بالتفصيل قيما بعد .

شكل (نموذج او هيئة) لغة الاسمبلى :

لقد القينا نظرة سريعة على مجموعة التعليمات ولكننا فى حاجة الى فهم بناء هذه التعليمات داخل برنامج .

البرامج بلغة الاسمبلى لها شكل او هيئة بسيطة والتى يجب فهمها وتتبعها . وهى موضحة فى مثال البرنامج فى الشكل رقم 6 .





يوجد اربعة عناصر ممكنة فى سطر الكود المكتوب بلغة الاسمبلى وهى :

Label لافتة (يافطة -علامة - ملصق ) السطر وهى اختيارية .

ويجب اولا تحديدها كما يجب ان تكون الافتة فى اقصى يسار السطر .

وبرنامج الاسمبلر سوف يفسر اى شىء يبدأ من اقصى اليسار على انه لافتة .

وبمجرد تعريفها بهذه الطريقة فيمكن استخدامها كمعامل .

يجب ان تبدأ الافتة بحرف ابجدى او الخط السفلى ( _ ) ولا تبدأ ابدا برقم .

يمكن وضع الافتة فى سطر مستقل وفى هذه الحالة فان الافتة تعتمد على السطر التالى الذى يحتوى التعليمات .

Instruction mnemonic التعليمة فى شكل مفكرة وهى مأخوذة من مجموعة التعليمات .

ويمكن وضعها فى اى مكان فى السطر ماعدا ان تبدا من اقصى اليسار .

يجب ان تبعد عن اى الافتة بمسافة واحدة فارغة على الاقل .

• Operand المعامل .

يجب ان تتفق تماما مع الشكل او النموذج المحدد فى مجموعة التعليمات .

وحتى يكون الامر واضح ومفهوم تستخدم الافتات بدلا من الاعداد .

اذا كان هناك اكثر من معامل يتم الفصل بينها بفاصلة ( , ) .

• Comment التعليق .

وهو اختيارى ويستخدم لاضافة معلومات الى البرنامج لتحسين وضوحه وجلاءه للقارىء البشرى .

يجب ان يبدا التعليق بعلامة الفاصلة المنقوطة ( ; ) .

برنامج الاسمبلر يهمل كل شىء ياتى بعد الفاصلة المنقوطة فى اى السطر .

التعليق يمكن ان يتبع (يلى)التعليمة فى السطر او ان يكون كل السطر مستخدم للتعليقات .

سطر برنامج لغة الاسمبلى ممكن ان يحتوى على تعليمة بالنموذج الموضح اعلاه او يمكن ان يكون السطر باكمله تعليق او يترك فارغ كاملا ( وهذا يساعد على تحسين الشكل لسهولة قراءته .

القادم

موجهات لغة الاسمبلى :
رد مع اقتباس
  #7  
قديم 10-30-2009, 04:47 AM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,825
معدل تقييم المستوى: 23
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: اساسيات برمجة الميكروكونترولر pic بلغة الاسمبلى

موجهات لغة الاسمبلى :

بعد كتابة البرنامج بلغة الاسمبلى للميكروكونترولر يجب اولا معالجته ببرنامج الاسمبلر .

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

هذه التعليمات تسمى موجهات الاسمبلر directives .

وتستخدم فى تطبيقات متنوعة مثل تعريف المعالج الهدف او تحديد اين يتم وضع البرنامج فى الذاكرة .

بعض امثلة الاسمبلر MPASM موضحة بالشكل رقم 7.

وهى مكتوبة بالشفرة وتظهر (تبدو) مثل معظم اشكال المفكرات mnemonics لمجموعة التعليمات .

ولها دور مميز يجب الاعتراف به .







القادم


تمثيل العدد فى لغة الاسمبلى :
رد مع اقتباس
  #8  
قديم 10-30-2009, 05:16 AM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,825
معدل تقييم المستوى: 23
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: اساسيات برمجة الميكروكونترولر pic بلغة الاسمبلى

تمثيل العدد فى لغة الاسمبلى :

احد سمات العمل القريب من العمليات الداخلية للميكروكونترولر هو ان هناك من يفكر في النظام الثنائي للاعداد ، وأحيانا في النظام العشري ، وأحيانا في نظام الستعشري ، أو حتى فى النظام الثمانى .
ولذلك ، فإنه من المفيد لبرنامج الاسمبلر ان يكون قادرا على التعرف والاستجابة لعدد من قواعد الاعداد المختلفة .

برنامج MPASM يفعل ذلك :

حيث يسمح اولا بالعمل بالوضع الافتراضى .

وهكذا على سبيل المثال اذا اراد احد بالعمل فقط (او اساسا) بالنظام الستعشري فان جميع الاعداد تفسر بهذا النظام . واى عدد يرغب المبرمج فى تمثيله بطريقة بديلة عن الاصلى (يسمى radix ) يجب عليه وضع بادئة مميزة prefixed لهذا العدد كما هو موضح بالشكل 8 .







فى مثال البرنامج السابق(شكل رقم 6) كتب المبرمج البرنامج بالنظام الستعشرى كنظام اساسى radix .

ثم فى السطر الثانى من المثال اراد ان يحدد العدد فى النظام الثنائى فاستخدم البادئة المناسبة وبالشكل المحدد .

وفى السطر الرابع استخدم العدد الستعشرى 53 كمعامل .

ونظرا لان النظام الستعسرى هو النظام الافتراضى فلم يحتاج الى التصرح بتحديد النوع .

لاحظ ان العدد الستعشرى يجب الا يبدا بحرف ابجدى والا سيفسر على انه لافتة . لهذا اى عدد ستعشرى يبدا بحرف ابجدى يجب وضع صفر قبله . على سبيل المثال العدد b2H يتم كتابته 0b2 .

نكرر الشكل للتوضيح






القادم ان شاء الله
انشاء برامج بسيطة:
رد مع اقتباس
  #9  
قديم 10-30-2009, 11:24 PM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,825
معدل تقييم المستوى: 23
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: اساسيات برمجة الميكروكونترولر pic بلغة الاسمبلى

تركيب (بناء) مجموعة تعليمات الميكروكونترولر PIC16



جميع التعليمات مكونة من كلمة واحدة بطول 14-bits (وهو ايضا طول خلية ذاكرة البرنامج)

التعليمات مكونة من جزئين (مكونين) :

الجزء الاول :

يحتوى على امر الى الميكروكونترولر بالقيام بتنفيذ عملية معينة تذكر فى هذا الجزء ( عملية نقل بيانات - عملية منطقية-عملية حسابية ...) ولذلك يسمى هذا الجزء "شفرة او كود العملية " operation code.

الجزء الثانى :

المعاملات :


وهى عبارة عن البيانات (المعلومات) المطلوبة لتنفيذ التعليمة وتسمى operands.

المعاملات قد تكون عناوين او بيانات .

المعاملات فى الميكروكونترولر PIC16 يمكن ان تكون :

• عنوان 7-bit بذاكرة بيانات

• عنوان 11-bit بذاكرة البرنامج

• 8-bit بيانات

• عنوان خانة لسجل بذاكرة البيانات

• 1-bit خانة لبيان مكان وضع اوحفظ نتيجة التعليمة هل هو سجل العمل W او فى ذاكرة البيانات .

وعامة فان بعض التعليمات قد لا تحتاج الى معاملات بينما تعليمات اخرى قد تحتاج الى اكثر من معامل واحد .

ومن ثم يمكن ان يكون لدينا :

تعليمات لتنفيذ عمليات باستخدام سجلات بذاكرة البيانات ولها معاملان .

المعامل الاول هو عنوان 7-bit لهذا السجل .

المعامل الثانى خانة واحدة تبين الهدف او المقصود لتخزين النتيجة به هل هو سجل العمل W او السجل المبين فى التعليمة الاصلية .

تعليمات تحتوى هلى بيانات 8-bit فى التعليمة وتكون هى المعامل الوحيد .

تعليمات تحتوى على عنوان 11-bitبذاكرة البرنامج ويكون هذا العنوان هو المعامل الوحيد .


تعليمات لتنفيذ عمليات على خانة بذاكرة البيانات تحتاج الى معاملين .

المعامل الاول هو عنوان الخانة داخل السجل .

المعامل الثانى هو عنوان 7-bit لسجل بذاكرة البيانات .




الى لقاء قريب ا ن شاء الله
رد مع اقتباس
  #10  
قديم 10-31-2009, 12:33 AM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,825
معدل تقييم المستوى: 23
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: اساسيات برمجة الميكروكونترولر pic بلغة الاسمبلى

مجموعة تعليمات الميكروكونترولر PIC16


اولا : تعليمات نقل البيانات DATA


يجب ان تمر البيانات من خلال سجل العمل W ( عيب لابد ان نقبله ) قبل ان توضع فى السجل المقصود (الهدف).

سجل العمل W قد يكون هو المصدر او قد يكون الهدف او المقصود .

تعليمات تحميل السجل W


يستخدم فى ذلك تعليمتان اساسيتان .

1- التعليمة movlw تقوم بتحميل ثابت(قيمة ثابتة) ذو 8-bit

• شكل(هيئة)التعليمة :



movlw k ; Load “w” with Constant k

• وتعنى حمل (او ضع او اجعل) السجل "w" بالثابت k

• هذه التعليمة هى التعليمة الاساسية لتحميل السجل w بقيمة ثابتة .

• لا يتغير (يتأثر )اى علم flag من اعلام سجل الحالة status نتيجة لهذه التعليمة .

• مثال :


movlw 0x12

اى
حمل مسجل العمل بقيمة ثابتة على شكل رقم سداسى عشر

كما فى الشكل رقم 10




الى لقاء قريب ان شاء الله
رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

الكلمات الدلالية (Tags)
الميكروكونترولر, الاسمبلى, اساسيات, بلغة, برمجة

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

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

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



الساعة الآن 10:08 AM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2020, Jelsoft Enterprises Ltd.
الحقوق محفوظة لمنتديات الاليكترونيات العصرية

Security team

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77