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

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 15-10-2010, 02:00 PM المشاركة 1   
افتراضي 6- فكره عامة عن السجلات : Registers Twitter FaceBook Google+



6- فكره عامة عن السجلات : Registers

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

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

الشكل يوضح خريطة لتفاصيل السجلات أو الملفات للميكروكونترولر PIC16F84 .

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





أول شيء ستلاحظه أنه ينقسم إلى قسمين كل قسم يسمى بنك Bank (بمعنى مجموعة أو قسم أو كومة ) ويسميان البنك 0 ( Bank 0 ) و البنك1 (Bank 1) 1) ) .

البنك 1 يستخدم للتحكم فى التشغيل الفعلي للميكروكونترولر فعلى سبيل المثال : أن نخبر الميكروكونترولر أى خانات المنفذ A تكون دخلا وأيها يكون خرجا كما سنرى .

البنك 0 يستخدم لمعالجةالبيانات.

مثال على ذلك :

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

السجلات الأكثر شيوعا وشهرة في البنك 1والتى سنستخدمها هي STATUS و TRISA و TRISB

السجل STATUS فى البنك 0 يسمح لنا بالتحول الى البنك 1 .



السجل TRISA يسمح لنا باختيار و بتحديد أى الأطراف (بنات – دبابيس) من المنفذ A كخرج وأيها كدخل .

السجل TRISB يسمح لنا باختيار و بتحديد أى الاطراف (بنات – دبابيس) من المنفذ B كخرج وأيهاكدخل.

السجل STATUS فى البنك 1يسمح لنا بالعودة الى البنك 0

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 15-10-2010, 02:05 PM المشاركة 2   
افتراضي


دعونانلقي نظرة فاحصة على هذه السجلات الثلاثة.

سجل الحالة STATUS :

فى بداية تشغيل البرنامج فان الوضع الافتراضى هو البنك0 , للانتقال من البنك 0 إلى البنك 1 فإننا نخبر مسجل الحالة بذلك, و نفعل ذلك بجعل الخانة رقم 5 بمسجل الحالة تساوى1 .

للعودة إلى البنك0مرة أخرى نجعل الخانة 5 لمسجل الحالة تساوى 0 .

يقع سجل الحالة بالعنوان 03h و h تعنى سداسى عشر .

سجلات التحكم فى المنافذ TRISA و TRISB:

عنوان TRISA هو 85hوعنوان TRISB هو 86h .

لبرمجة ألطرف كخرج أو كدخل ببساطة نرسل إما 0 أو 1 إلى الخانة المطلوبة بالسجل .

ويمكن أن يتم ذلك إما بشكل ثنائي أو سداسى عشر أو الاثنين معا لأن الثنائى يساعد فى توضيح حالة المنفذ .

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

لدينا بالمنفذ A خمسة أطراف وبالتالى لدينا 5 خانات .

إذا أردنا أن نجعل أحد الأطراف كدخل نرسل '1' إلى الخانة المناظرة ذات الصلة.

وإذا أردنا أن نجعل أحد الأطراف كخرج نجعل الخانة المناظرة ذات الصلة '0'

الخانات ترتب تماما بنفس طريقة الأطراف .

وبعبارة أخرى الخانة 0 هى RA0 والخانة 1 هى RA1 ، والخانة 2 هى RA2 وهلم جرا.

دعنا نأخذ مثالا على ذلك:


إذا أردنا أن نجعل RA0 ، RA3 وRA4 كمخارج ونجعل RA1 وRA2 كمداخل :

نرسل العدد00110 (06h). . للسجل TRISA , لاحظ أن الخانة 0 تكون فى اليمين كما هو مبين :





والشيء نفسه ينطبق على TRISB

سجلات المنافذ PORTA و PORTB

لجعل أحد أطراف الخرج مرتفعا ببساطة نرسل '1' (كتابة) إلى الخانة المناظرة في السجل PORTA أو السجل PORTB
نفس الشكل أو الهيئة أوالفورمة المتبعة فى كل من TRISA وTRISB متبعة هنا .

لقراءة ما إذا كان الطرف مرتفع أم منخفض نجرى فحص على الخانة المطلوبة ومعرفة إنها مرتفعة (1) أم منخفضة0

قبل إعطاء مثال لكود أو شفرة فقط يجب شرح سجلان آخران هماw و f

السجل W

السجل W هو السجل العام الذى يمكنك وضع أي قيمة ترغب فيه .

وبمجرد وضع قيمة فى السجل W يمكنك إضافتها إلى قيمة أخرى ، أو نسخها أو......

إذا قمت بوضع قيمة أخرى فى السجل W فان القيمة السابقة تمحى وتكتب القيمة الجديدة بدلا منها.
السجل f
يمثل المتغير سواء أكان سجل خاص أو سجل عام .

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

الصورة الرمزية اكزي
اكزي
:: عضو ذهبي ::
تاريخ التسجيل: May 2009
الدولة: المغرب iguizzi06*hotmail.com // www.facebook.com/iguizzi.abdallah
المشاركات: 2,434
نشاط [ اكزي ]
قوة السمعة:143
قديم 15-10-2010, 04:31 PM المشاركة 3   
افتراضي


كلام صحيح بارك الله فيك أخي الكريم ومبروك على

الماسية



الصورة الرمزية free_matrex2010
free_matrex2010
:: مهندس متواجد ::
تاريخ التسجيل: Oct 2009
المشاركات: 181
نشاط [ free_matrex2010 ]
قوة السمعة:0
قديم 01-10-2011, 06:36 AM المشاركة 4   
افتراضي


جزاك الله كل خير

إضافة رد

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

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

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


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

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