ابحث فى المدونة

أحدث المواضيع

وحدة المعالجه المركزيه 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 المطلوب العمل بها فحالة العناوين الغير مباشره.


انتظرونا في الدرس السادس

1 comments:

Unknown يقول...

-

data: commentLabel/
Related Posts Plugin for WordPress, Blogger...