قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

   

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 27-10-2010, 12:38 AM المشاركة 17   
افتراضي



رابعا : إعلان التعريفات باستخدام موجه لغة الاسملى equ :
ويستخدم لتعريف مواقع الذاكرة لسجلات الوظائف الخاصة التى سوف نستخدمها .
البرنامج يستخدم فقط :
سجل الحالة Status وسجلات المنافذ Port A و Port B وسجلات التحكم فى المنافذTRISA و TRISB , ونأتى بهذه السجلات والعناوين من خريطة مواقع الذاكرة للميكروكونترولر المستخدم .

ملاحظة هامة :

السجلان porta و trisa لهما نفس قيمة العنوان لكن أحدهما فى البنك 0 والاخر فى البنك)1 , كذلك السجلان portb و trisb ومن المنطقى أن يكتفى باسم واحد لكل زوج منهم ( يتم تحويل البنك للحصول على الآخر) ولكن اخترنا و فضلنا هنا تعريف جميع السجلات لكى تكون الصورة واضحة .





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





التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 27-10-2010 الساعة 12:44 AM
اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 27-10-2010, 12:39 AM المشاركة 18   
افتراضي


سادسا : البرنامج الفعلى:

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

يبدأ البرنامج بالتهيئة أو الاستهلال أو البداية أو التجهيز وتسمى initialization





فى هذا الجزء يتم ضبط وتحديد اتجاه كل خانة من خانات المنافذ التى سوف تستخدم كمخارج أو كمداخل وهذا يتطلب الوصول إلى سجلات التحكم فى المنافذ TRISA و TRISB , وحيث أنها تقع فى البنك 1 من ذاكرة RAM فمن الضرورى أولا وقبل كل شىء جعل الخانة 5 بسجل الحالة 1وهذايتم فى السطر الأول من البرنامج الفعلى باستخدام اللافتة أو العنوان start والتعليمة bsf وإمكانية استخدام الاسم status بدلا من عنوانه لأنه قد تم تعريفه .

لمعرفة أى الاطراف دخل وأيها خرج يجب الرجوع إلى الدائرةالكهربية أى جزء hardware
نفترض أن هناك زران ضاغطان متصلان بالخانة رقم 3 والخانة رقم 4 بالمنفذ A وبالتالى يجب تعريفهماعلى أنهمادخلان .
ونفترض أن الثلاث خانات المتبقيةمن المنفذ A متصلة بدايودات مشعة , فيجب تعريفها على أنها مخارج.
ونفترض أن المنفذ B كله متصل بدايودات مشعة أو بسفن سجمنت .
وللتذكرة لجعل طرف من المنفذ مخرج نضع 0 فى مكانه فى سجل التحكم فى المنفذ TRIS ولجعل طرف مدخل نضع مكان خانته 1 . لذلك يجب إرسال الكلمة 00011000 إلى السجل TRISA

ملحوظة هامة :
السجل TRISA هو موقع فى الذاكرة ذات 8-bit على الرغم من أن المنفذ Port A به 5خانات فقط فهما مختلفان.

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

أولا توضع الكلمة المطلوبة 00011000 فى السجل W باستخدام التعليمة movlw ونفعل ذلك مستخدمين الأساس الثنائى فى الأرقام بدلا من الأساس السداسى عشر وهو الوضع الافتراضى لتكون الصورة أوضح .
ثم نقل أو نسخ محتويات السجل W إلى السجل trisa باستخدام التعليمة movwf
ونفس الطريقة تتبع لضبط المنفذ B وكله مخارج لذلك فان الكلمة المرسلة إلىtrisb هى 00h
قسم الإعداد أو البدء يجب أن ينتهى باختيار البنك0 باستخدام سجل الحالة .
ومنذ هذه اللحظةنتعامل مع المنافذ نفسها لأنها هى الموجودة بالبنك 0 .

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

نصل إلى الجزء النهائى وهو البرنامج الفعلى نفسه وهو خمس سطور فقط !
البرنامج باستمرار يقرأ قيمةالمنفذ A وينقلها أو يترجمها إلى المنفذB
فإذا ضغطنا على كلا الزران يظهر ذلك على الدايودات المشعة المتصلة بالخانة 3 والخانة 4 للمنفذB
للطبيعة الخاصة للمنفذ A فى hardware يلزم أولا مسح أو تصفير جميع خانات المنفذA فى البرنامج باستخدام التعليمة clrf
الانتقال الفعلى للبيانات فى البرنامج يتم باستخدام التعليمة movf لإزاحة قيمة المنفذA إلى السجلW يتبعها (يليها) التعليمة movwf لنقل قيمة السجل W إلى المنفذB
التعليمة goto تنشأ (تقوم بعمل) حلقة loop مستمرة باستخدام اللافتة أو العنوان المعرف سابقاباسم loop

ملاحظة هامة :
يجدر بنا أن نلاحظ أن قيم العناوين أواللافتات label تعين بطريقتان .
بعضها مثل porta و portb تعين بقيمة محددةبمعرفة المبرمج باستخدام الموجه equ , والأخرى مثل loop توضع فى البرنامج ويتعرف عليها الأسمبلر ويتعامل معها .




البرنامج ينتهى بموجه لغة الاسمبلى end

ويصبح الشكل النهائى كما يلى




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

جزء HARDWARE للمثال


التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 27-10-2010 الساعة 12:48 AM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 27-10-2010, 01:39 AM المشاركة 19   
افتراضي جزء HARDWARE للمثال


جزء HARDWARE للمثال









الصورة الرمزية islem
islem
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2007
الدولة: algeria
المشاركات: 81
نشاط [ islem ]
قوة السمعة:
قديم 28-10-2010, 07:54 PM المشاركة 20   
افتراضي


http://www.dbaasco.com/vb/f13.html هذا الرابط لمن يريد ان يملاء كاسه من فيض الاستاذ عبدالعزيز زاده الله علما وثبته على العمل...


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 04-11-2010, 03:40 AM المشاركة 21   
افتراضي


http://www.dbaasco.com/vb/f13.html هذا الرابط لمن يريد ان يملاء كاسه من فيض الاستاذ عبدالعزيز زاده الله علما وثبته على العمل...
اخىى الكريم
شكرا جزيلا لك
بارك الله فيك
مع تمنياتى بدوام التوفيق


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 04-11-2010, 03:41 AM المشاركة 22   
افتراضي


12- أهم الأدوات المساعدة للغة الأسمبلى هو برنامج الأسمبلر MPASMWIN

الرابط :

http://www.qariya.com/vb/showthread....376#post460376


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 04-11-2010, 03:57 AM المشاركة 23   
افتراضي


13- طرق بناء هياكل البرامج :مخططات التدفق Flow والحالة State

الرابط

http://www.qariya.com/vb/showthread....383#post460383


الصورة الرمزية islem
islem
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2007
الدولة: algeria
المشاركات: 81
نشاط [ islem ]
قوة السمعة:
قديم 04-11-2010, 12:46 PM المشاركة 24   
افتراضي


[QUOTE=F.Abdelaziz;460379]اخىى الكريم
شكرا جزيلا لك
بارك الله فيك
مع تمنياتى بدوام التوفيق[/QUOTE

وفيك بارك الله اخي معاك الى الاخر وبوركت وبورك ممشاك



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