مكونات الميكروكنترولر
وحده الذاكرة Memory unit
وهى جزء من اجزاء الميكروكنترولر المسئول عن تخزين البيانات بها .
وتقوم الذاكرة بترتيب البيانات فى امكان معينة ويكون لكل مكان فيها عنوان معين والفائدة من وضع العناوين هى سهولة استرجاع البيانات منها .
وتستخدم الذاكرة فى كتابة وقراءة البيانات فيها ومنها فلذلك يوجد بها خط او باص لتحديد نوع العملية سواء كانت عملية قراءة او عملية كتابة بالاضافة الى الخطوط الاخرى وهى
خط البيانات data bus
حيث تقوم الذاكرة بتبادل البيانات مع وحدة المعالجة المركزية حسب نوع العملية فمثلا اذا كانت العملية هى قراءة فان البيانات ترسل من الذاكرة الى خط البيانات ثم تقوم وحدة المعالجة بقراءتها .
اما اذا كانت العملية هى كتابة فانها تأخد البيانات الموجودة فى خط البيانات وتقوم بوضعها فى امكانها حسب العناوين المحدده من قبل وحدة المعالجة .
الخط الاخر هو
خط العناوين
وهو خط له اتجاة واحد من وحدة المعالجة الى الذاكرة ولا يسمح بالعكس حيث تقوم وحدة المعالجة المركزية بارسال العناوين المطلوب تخزين البيانات فيها او قراءتها منها حسب نوع العملية .
وحدة المعالجة المركزية Central Processing Unit
وهى تتكون من جزءين هما
وحده الحساب والمنطق :
وهى الوحده التى تتم بها العمليات الحسابية مثل الجمع والطرح والضرب والقسمة وايضا العمليات المنطقية مثل اكبر من و اصغر من ويساوى
والجزء الثانى هى المسجلات registers :
وهى امكان يتم بها تخزين مؤقت للبيانات بغرض تنفيذها فى وحده الحساب والمنطق .
Bus
وهو مجموعة الاسلاك التى تقوم بنقل الاشارات الكهربية الرقمية بين اجزاء الميكروكنترولر ويجد ثلاثة انواع من الباص .
Address bus
ويحتوى على عدد اسلاك كافى للتعبير عن حجم الذاكرة
فمثلا لو كان حجم الذاكرة 64 k
فان عرض الباص يمكن استنتاجه من المعادلة الاتية
2^n=memory size
اذن فى المثال الموجود لدينا نجد n تساوى 8 وهى التى تعبر عن عرض الباص او عدد الاسلاك الموجودة به ويسمى 8-bit
data bus
وهو الذى يستخدم فى نقل البيانات من وحدة الذاكرة الى وحدة المعالجة المركزية والعكس من وحدة المعاجة المركزية الى الذاكرة .
control bus
وهو الخط المستخدم فى نقل اشارات التحكم من وحده المعالجة المركزية الى وحدات الميكروكنترولر المختلفة مثل أمر القراءة او الكتابة من الذاكرة ولا يسمح بالعكس
وحدات الادخال والاخراج Input-output units
وهى التى تربط الميكروكنترولر بالعالم الخارجى وتسمى ports وهى تعمل كانها اماكن فى الذاكرة حيث يقوم الميكروكنترولر بوضع البيانات بها ليقوم باخدها الجهاز الخارجى الموصل بها .
Timer unit
وفائدته هى تنظيم عمليات وحده المعالجة المركزية حيث تقوم وحدة المعالجة بتنفيذ تعليمة واحده فى وحده الزمن وتعتمد سرعة الميكروكنترولر على تردد الساعة او Timer unit وايضا يسمح للميكرو القيام بالعمليات التى تعتمد على الزمن مثل عمليات العد counter
Serial communication
وهى طريقة من انواع الاتصال بالعالم الخاجى والتى تسمح فى نقل البيانات فى صورة تتابعية مما يجعلها تصل لمسافات اكبر.
Watchdog
فى الكمبيوترات العادية نجد زر اسمه reset او restart وهو المسئول عن اعادة تشغيل الكمبيوتر نتيجة لتوقفه لاى سبب ولكن فى الميكروكنترولر هذا الزر غير موجود .
اذن فما الحل ؟
ولذلك تم اضافة هذه الوحده وهى عبارة عن عداد لمرات كتابه صفر نتيجة تنفيذ كل خطوة فى البرنامج .
فعند توقف البرنامج نتيجة اى سبب فانه لا يتم كتابة للصفر وبالتالى فان العداد سيتوقف ويعاد تشغيل الميكرو واعادة تنفيذ البرنامج مرة اخرى .
Analog to Digital Converter
ومن المعرف عند الجميع ان الميكروكنترولر يعمل بالنظام الرقمى digital ولكن هناك بعض البيانات القادمة اليه تكون غير رقمية (تناظرية ) Analog مثل السرعات المختلفة للمواتير او درجات الحرارة فلذلك لابد من وجود وحدة تحول هذه البيانات الى اشارات يفهمها الميكروكنترولر وهذه الوحدة تسمى ADC
وفى الشكل الاتى نجد التركيب العام للميكروكنترولر والمكونات المادية التى يشملها .
Program
وهذا الجزء الغير مادى من مكونات الميكرو ويكون عبارة عن مجموعة من السطور تحتوى على اوامر معينة
فمثلا البرنامج الاتى
START
REGISTER1=MEMORY LOCATION_A
REGISTER2=MEMORY LOCATION_B
PORTA=REGISTER1 + REGISTER2
END
يقوم عند بداية التنفيذ بوضع القيمة الموجودة فى المكان A بالذاكرة الى المسجل رقم 1 الموجود فى وحدة المعالجة .
وكذلك ايضا القيمة الموجودة فى المكان B سيقوم بوضعها فى المسجل رقم 2
وستقوم وحدة الحساب والمنطق بجمعهم ووضع الناتج فى البورت A.
وهذا البرنامج يمكن صياغته بالعديد من لغات البرمجة سواء عالية المستوى او غير عالية المستوى ومن اشهر هذه اللغات
Assemblerو C و Basic