STATUS Register
وهو من اهم المسجلات الموجودة فى الميكركنترولر
ولكن دعنا الان نلقى نظرة على المسجلات الموجودة فى الميكروكنترولر
وهى موضحة فى الشكل الاتى :
ونلاحظ من الشكل السابق وجود خانتين Bank 0 وهى التى يقوم المستخدم بالتعامل معها و Bank 1 هى نسخة طبق الاصل من Bank 0
وايضا تقسم ذاكرة البيانات الى جزء علوى وجزء سفلى
والجزء العلوى من 00h الى 0bh وهو 11 مكان و يسمى
Special Function Registers
و هو للتحكم فى الميكرو والاجهزة الخارجية المتصلة به
والجزء السفلى يسمى
General Purpose Registers (GPR)
وهو الذى يعتبر كرام RAM
وكما نرى المسجل STATUSموجود فى العنوان 03h ويمكننا ايضا استخدامه من خلال العنوان 83h
وتركيبه كما بالشكل الاتى :
وكما واضح من الشكل انه يحتوى على 8-bit والان سنبدا فى التعرف على كل bit ووظيفته على حده
bit 0 C (Carry) Transfer
وتكون قيمته تساوى 1 عندما يحدث زيادة فى ناتج اى عملية حسابية اى يزيد الناتج عن 255 وهى ال 8-bit المتاحة وفى هذه الحالة يضع الميكرو فى هذه البت 1 لانه لا يجد مكان لتخزين الناتج
فى فى حالة عدم تجاوز 255 فان قيمته هذا البت تظل 0
وهذا البت مهم جدا ويسمى Carry Flag
bit 1 DC (Digit Carry) DC Transfer
فهو خاص باول 4 بت حيث تكون قيمته 1 فاذا كان الناتج ازيد من 15 وهى تعنى ان الناتج قد استهلك اول 4 بت وسيقوم بتخزينه فى ال 4 بت الباقيين وفى حالة العكس تكون قيمته تساوى صفر
bit 2 Z (Zero bit) Indication of a zero result
وهذا البت يستخدم لتوضيح ان ناتج اى عملية حسابية او منطقيه يساوى صفر
وتكون قيمته تساوى 1 عندما يكون ناتج العمليات يساوى 0
وتكون قيمته تساوى 0 عندما يكون ناتج العمليات لا يساوى 0
bit 3 PD
(Power-down bit)
تكون قيمة هذا البت تساوى 1 عندما يبدا الميكرو فى العمل وذلك بعد عملية reset وتكون قيمته صفر عندما يبدا فى اعادة التشغيل وتنفيذ امر SLEEP وتنفيذ هذا الامر يكون عند نقص القدرة المطلوبة .
bit 4 TO Time-out ; Watchdog overflow.
تكون قيمته تساوى واحد عندما ينتهى من اعادة التشغيل وتنفيذ أمر SLEEP وتصبح قيمته تساوى صفر عندما يرجع لنا Watchdog خطا معين
bit6:5 RP1:RP0
(Register Bank Select bits)
كما لاحظنا فى توزيع المسجلات انه يوجد ما يسمى Bank0 وBank1 فهذان البتان يتيحان لنا عملية اختيار البنك صفر او البنك واحد
يجب ملاحظة ان عناوين الذاكرة تتنتهى بالعنوان FFh وهذا يساوى 255 ونجد ان الميكر PIC16f84 لديه 256 فلذلك سنحتاج بت واحد فقط وهو RP0 اما RP1 فلن يتم استخدامه ولكن تم وضعه للتطوير المستقبلى وتكون قيمته دائما صفر
اما RP0 تكون 1 عندما نستخدم Bank 1 وتكون 0 عندما نستخدم Bank 0
bit 7 IRP
(Register Bank Select bit)
ويتستخدم فى حالة العناوين الغير مباشرة حيث يقوم اختيار ال Bank المطلوب العمل بها .