إعـــــــلان

تقليص
لا يوجد إعلان حتى الآن.

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

تقليص
X
  • تصفية - فلترة
  • الوقت
  • عرض
إلغاء تحديد الكل
مشاركات جديدة

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

    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

  • #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
    يمثل المتغير سواء أكان سجل خاص أو سجل عام .

    تعليق

    يعمل...
    X