وحدة المعالجه المركزيه CPU
هي اختصار Central Processing Unit ,وهي الجزء الاكثر اهميه فالميكروكنترولر فهي تمثل المخ للميكروكنترولر وهي المسئوله عن احضار تعليمات البرنامج وايضا تنفيذها,والشكل التالي يوضح تركيبها
ويلاحظ انه عند كتابة برنامج معين فان تعليمات البرنامج تكون مثل الصوره الاتيهMOVLW 0X20 ,هذه الصوره لا يفهمها الميكروكنترولر,ولكن يتم تحويلها الي اصفار ووحايد,وتعرف هذه الصيغه بopcode وهي الصيغه التي يفهمها الميكروكنترولروتعرف عمليه التحويل الي هذه الصيغه بassembler
ويحتوي الميكروكنترولر ايضا علي وحدة الحساب والمنطق وهي المسئوله عن تنفيذ العمليات الحسابيه والمنطقيه, وتستخدم ايضا في عمليات نقل البيانات من والي الregisters والشكل التالي يوضح كيفية عمل وحدة الحساب والمنطق حيث يدخل الامر المراد تنفيذه اليها من instruction register ويدخل اليها ايضا الامر السابق من الstatus register ويتم اخراج النواتج النهائيه وتخزينها في ال working register
وهذا الشكل يوضح التركيب العام للميكروكنترولر
Status Register
وهو من الregisters الهامه فالميكروكنترولر,والشكل التالي يوضح ال registers الموجوده فالميكروكنترولر
ومن الشكل السابق يلاحظ ان الخانتين Bank 0 والتي يتعامل معها المستخدم وBank 1 وهي تعتبر نسخه من Bank 0 كما نجد ايضا ان ذاكرة البيانات تقسم الي جزء علوي واخر سفلي,ويتكون الجزء العلوي من 11 مكان تبدا من 00h وتنتهي ب0Bh وتعرف ب Special Function Registers او SFR وهي تستخدم للتحكم فالميكروكنترولر كما تتحكم ايضا فالاجهزه الخارجيه التي تتصل به.
اما بالنسبه للجزء السفلي فهو يعرف ب General Purpose Registers او GPR وهو يقوم بدور RAM
وكما هو موضح بالشكل السابق ان status register موجود بالعنوان 03h كما يمكن استخدامه ايضا فالعنوان 83h
والشكل التالي يوضح تركيبه
ويتبين من الشكل ان هذا الregister هو 8-bit وفيما يلي سوف نتعرف علي وظيفة كل bit
bit 0 C carry transfer
عندما يحدث زياده في ناتج اي عمليه حسابيه عن 255 وهي ال8-bit التي يستطيع هذا الregister تخزينها فان الميكروكنترولر يضع 1 في هذه الbit حيث لا يوجد اي مكان فارغ لتخزين الناتج,اما في حالة ان الناتج لا يزيد عن 255 فان قيمة هذه الbit تكون 0 ,وهذه ال bit تسمي Carry flag
bit 1 DC digit carry transfer
يستخدم لتحديد ما اذا كان الناتج قد استهلك اول 4-bit ام لا؟ فاذا كان الناتج ازيد من 15 تتحول قيمة هذه ال bit الي 1 وتعني انه تم استهلاك اول 4-bit وسوف يخزن باقي الناتج فال4-bit الاخرين.
bit 2 Z zero bit
وهذه الbit تكون بواحد عندما يكون ناتج اي عمليه سواء حسابيه او منطقيه يساي صفر
bit 3 PD power- down bit
عندما يعود الميكروكنترولر للعمل بعد عملية reset تصبح قيمة هذه الbit تساوي واحد وتصبح قيمته بصفر عند تنفيذ امر SLEEP والذي يعبر عن ضعف الpower المطلوبه لتشغيل الجهاز.
bit 4 TO time-out ,Watchdog overflow
تكون هذه الbit بواحد عندما ينفذ امر SLEEP وتنتهي اعادة تشغيل الجهازويصبح بصفر عندما يكون هناك خطا معين Watchdog
bit 5 &bit 6 RP0,RP1 Register Bank Select bit
يستخدمان للاختيار ما بين Bank 0 وBank 1
ونلاحظ ان اخرعنوان فالذاكره هو FFh وهو يساوي 255 والميكروكنترولر الذي نتعامل معه لديه 256 اي اننا نحتاج فقط الي 1-bit وهو RP0 وتكون قيمته بواحد عندما نستخدم Bank 1 وصفر عنما نستخدم Bank 0,اما بالنسبه ل RP1 فقد تم وضعه فقط للتطوير المستقبلي ولن يتم استخدامه وقيمته دائما تكون صفر.
bit 7 IRP Register Bank Select bit
يستخدم لاختيار الbank المطلوب العمل بها فحالة العناوين الغير مباشره.
انتظرونا في الدرس السادس
-
ردحذف