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

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:335
قديم 27-04-2014, 04:36 PM المشاركة 1   
افتراضي "مفتاح" الميكروكونترولر PIC هو "سجلات الملف" file registers الخاصة به Twitter FaceBook Google+



سجلات الملف The file registers :
"مفتاح" الميكروكونترولر PIC هو "سجلات الملف" file registers الخاصة به . إذا فهمتها تكون قد قطعت نصف الطريق . تخيل أن الميكروكونترولرPIC كأنه "خزانة ملفات" (مثل الشانون) ، به العديد من الأدراج ، كل درج يحتوى على عدد ذو 8 بت ( بايت) . هذه الأدراج هى سجلات الملف . بالإضافة إلى سجلات الملف هذه يوجد "السجل العامل" working register . هذا السجل يكون مختلف لأنه ليس جزءا من خزانة الملفات . هذا السجل ضرورى لأنه لا يمكن إلا فتح درج واحد فقط (أى سجل ملف واحد فقط) فى نفس الوقت . لذلك ، تخيل نقل عدد من أحد الأدراج إلى درج آخر . أولا ، تقوم بفتح الدرج الأول ، وأخذ العدد خارجه ثم إغلاقه ، والآن ... أين يكون العدد ؟ الإجابة تكون أنه فى "السجل العامل" ، كنوع من الجسر bridge (قنطرة عبور) بين اثنين من سجلات الملف ( فكر فيه على أنه العامل الذى يقف أمام خزانة الملفات لخدمتها) . يتم حفظ العدد مؤقتا فى السجل العامل حتى يتم فتح الدرج الثانى ، حيث يتم وضع العدد بهذا الدرج .

وكما ترى من الشكل أعلاه ، يتم تخصيص (تعيين) رقم معين لكل سجل ملف . يجب عليك استدعاء سجلات الملف بأسمائها الفعلية عند كتابة البرنامج ( لأن ذلك يكون أسهل بكثير فى المتابعة) ، ومن ثم فإن المترجم (الأسمبلر) سوف يترجم هذه الأسماء إلى أرقام مرة أخرى عند إنشاء الملف السداسى عشر .
لا تقلق بشأن أسماء ووظائف سجلات الملف هذه ، فسوف يتم مناقشتها فى وقت لاحق .
ومع ذلك ، يمكن تلخيصها فيما يلى :
• السجلات "00" إلى "06" لها وظائف محددة "أغراض خاصة" .
• والسجلات من "07" إلى "1F" هى سجلات "أغراض عامة" ، والتى يكون لك السيطرة الكاملة
عليها . يمكنك استخدام سجلات ملف الأغراض العامة لتخزين الأرقام ويمكن أن تعطى لها الاسم الذى تريده . وبطبيعة الحال سوف تحتاج إلى إخبار المترجم كيف يترجم الأسماء الخاصة بك إلى أرقام .
على سبيل المثال ، إذا كنت تريد استخدام سجل الملف "0C" لتخزين عدد الساعات التى مرت ، فربما كنت تريد أن تسميها باسم مثل "الساعات" Hours . لكن ، عندما يعمل المترجم خلال البرنامج الخاص بك ، فإنه لن يفهم ما قصدته بكلمة ‘Hours’ إلا إذا كنت قد أعلنته أولا . سوف تعرف كيف وأين تعلن سجلات الملف الخاصة بك قريبا ، عندما ننظر فى قالب البرنامج .
قبل ذلك ، نحتاج لمقدمة موجزة للسجلات "05" و "06" :
المنافذ ports هى الوصلات بين الميكروكونترولر PIC والعالم الخارجى ، فهى مدخلاته inputs ومخرجاته outputs . المنفذ الأول ، Port A ، لديه أربعة بتات فقط ، أى أنه يحتفظ بنبل nibble بدلا من بايت كامل ، وهو السجل الوحيد الذى يفعل ذلك . كل بت bit تقابل طرف دخل / خرج خاص ، لذلك فإن البت bit 0 بالمنفذ Port A تقابل الطرف المسمى RA0 ( الطرف 17 فى PIC16F54 والطرف 6 فى PIC16F57 كما فى الشكل أدناه ) .


ولذلك عندما تكتب عدد 8-bit إلى المنفذ Port A ، يتم تجاهل الأربعة بتات ذات القيمة الأعلى ، وكذلك عندما تقرأ عدد 8-bit من المنفذ Port A ، يتم قراءة الأربعة بتات ذات القيمة الأعلى كأصفار "0" .
على سبيل المثال ، دعنا نقول أن RA0, RA1, RA2 , RA3 تعمل كمداخل inputs ، وهناك مفتاح ضاغط بين كل دخل والجهد (+5 V) . إذا تم الضغط على جميع هذه المفاتيح الضاغطة ، فإن العدد العشرى "15" ( العدد الثنائى "1111") سوف يكون فى المنفذ Port A .
وعلى العكس ، إذا كانت الأطراف تعمل كمخارج وتم توصيلها جميعا إلى ليدات كما فى الشكل أدناه ، فإن تحريك (نقل) العدد "15" إلى المنفذ Port A سوف يؤدى إلى تشغيل الليدات الأربعة .

تمرين :
باعتبار الترتيب الموجود بالشكل إعلاه ، فمن أجل إنشاء أضواء متحركة (جراى) chase مكونة من أربعة ليدات ( كما بالشكل أدناه) ، يجب نقل سلسلة من الأعداد إلى المنفذ Port A واحد تلو الآخر . فما هى هذه الأعداد (مطلوب الإجابة بالثنائى والعشرى والسداسى عشر) ؟
المنفذ Port B ( والمنفذ Port C بالميكروكونترولر PIC16F57 ) هو ببساطة منفذ دخل / خرج آخر ، تماما مثل المنفذ Port A فى جميع النواحى ما عدا أن لديه 8 بتات ( أى يحفظ بايت) . المنفذ Port C بالميكروكونترولر PIC16F57 هو السجل "07" ، لذلك لاحظ أن سجلات الأغراض العامة فى هذا الجهاز تبدأ من "08" فصاعدا .

http://fathallaabdelaziz.forumarabia.com/

اعلانات

عبدالله نعمان
:: مهندس متواجد ::
تاريخ التسجيل: May 2006
المشاركات: 176
نشاط [ عبدالله نعمان ]
قوة السمعة:0
قديم 27-04-2014, 07:10 PM المشاركة 2   
افتراضي


اكرمك الله علي هذا اشرح الاكثر من رائع
بارك الله في عمرك وعلمك وجعله في ميزان حسناتك مهندسنا الكبير...

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  
إضافة رد

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

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

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


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

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2026