اكتشف أسرار إنتل MCS-51

إنتل MCS-51 هو معالج دقيق (Microprocessor) يأتي على شكل شريحة إلكترونية متكاملة. لكن من دون وجود برنامج يتم تخزينه في ذاكرته، لا يمكن للمعالج أداء أي وظيفة، إذ يعتمد بالكامل على قراءة التعليمات البرمجية وتنفيذها بالتسلسل.

في المعالجات المصغرة، تكمن التحديات في ربط الذاكرة، ومصدر نبضات الساعة (Clock)، حيث تظهر مشاكل في المرحلة اللاحقة للتصميم، مثل أخطاء في قراءة الذاكرة أو تنفيذ التعليمات بشكل غير صحيح. وقد تؤدي هذه الأخطاء إلى نتائج غير متوقعة من النظام المصمم.

لذلك، ظهرت شرائح إلكترونية أكثر تكاملا تعرف باسم المتحكمات المصغرة (Microcontrollers) تحتوي في داخلها على كل ما يحتاجه المعالج المصغر كي يعمل بموثوقية أعلى فهي تحتوي على:



وحدة معالجة مركزية CPU: الذي يقوم بعملية تنفيذ البرنامج عن طريق جلب التعليمة من ذاكرة البرنامج وتنفيذ هذه التعليمة (جمع، طرح، عمليات المقارنة.....) وكذلك الكتابة إلى ذاكرة المعطيات والتأثير على الأعلام لو لزم الأمر.

ذاكرة مخصصة للبرنامج BUILD IN:

يخزن فيها التعليمات بعد تحويلها بواسطة برنامج خاص إلى صيغة HEXA ولها ممر خاص بها من أجل عنونة حجراتها الذاكرية.



ذاكرة معطيات BUILD IN:

خاصة بتخزين قيم تهمها أثناء تنفيذ البرنامج حيث يقوم المعالج المركزي بقراءة هذه الحجرات لاستخدامها حسب ما يمليه عليه البرنامج كما يقوم بالكتابة إليها وكذلك الأمر بالنسبة لها فلها ممر خاص بعنونة حجراتها الذاكرية.

و نلاحظ هنا أن ممر ذاكرة المعطيات منفصل تماماً عن ممر ذاكرة البرنامج وهذا مفيد من أجل زيادة سرعة تنفيذ البرنامج بالإضافة إلى ضمان عدم حدوث تداخل بينهما وتدعى هذه البنية ببنية هارفارد وهي مميزة عن طريقة بناء المعالجات المصغرة التي تدعى باسم بنية فون نيومان التي يكون فيها ممر ذاكرة البرنامج والمعطيات نفسه لكليهما وبالتالي فهو أبطأ ومعرض لحدوث أخطاء في الوصول إلى الحجرات الذاكرية.



منافذ الإدخال و الإخراج Build in Input / Output Ports :

وهي عبارة عن أقطاب خاصة بالتحكم يمكن تعين وظيفتها كمداخل أو مخارج من خلال البرمجة فإذا قمنا ببرمجتها على أنها مداخل تصبح بمثابة عيون للنظام لمراقبة المفاتيح أو الكباسات الموصولة عليها أو غير ذلك من المعطيات التي يمكن وصلها إلى مدخلات المتحكم.

وإذا برمجناها على أنها مخارج تصبح قادرة على تمرير الأوامر إلى الوسط الخارجي (أي إلى منفذات الأوامر) تمرر إما الصفر أو الواحد المنطقي (أرضي أو Vcc) ومن الممكن أن يكون للقطب الواحد أكثر من وظيفة حسب نوع المتحكم.

وهذه من مزايا القوة الرائعة التي يتمتع بها المتحكم المصغر حيث ألغى الحاجة إلى استخدام شرائح خارجية خاصة بالإدخال و الإخراج PIO (peripherals input output).



مؤقتات داخلية built in timer :

وهذا من مزايا المتحكم القوية أيضاً يحتوي على مؤقت واحد أو أكثر حسب نوعه والشركة المصنعة له وهو عبارة عن مؤقت قابل للبرمجة لاستخدامه في إجراء تزامن ما للأحداث التي تُعَالَج (مثلاً أريد أن أفعل خرج لفترة معينة ثم أقوم بإطفاء هذا الخرج ثم تفعيل خرج آخر لفترة معينة أيضاً وهذا ما يتحقق معنا من خلال استثمار المؤقت الموجود في المتحكم لهكذا تطبيق.



وحدات اتصالات تسلسلية UART :

وهي عبارة عن طرف موجودة ضمن المتحكم خاصة بمعالجة العمليات الاتصال مع العالم الخارجي (مثلاً حاسب ,أو متحكم ,آخر....)



أقطاب خاصة بالمقاطعات:

وظيفتها الرئيسية هي تحسس حدوث تغير للحالة المنطقية عليها لاستدعاء روتين خدمة مقاطعة خاص بها ومن الممكن أن تمكن هذه المقاطعة أو تلغي تمكنها برمجياً.



مؤقت الحراسة watchdog timer :

وهو عبارة عن مؤقت خاص بالمتحكم يقوم بمراقبة زمن تنفيذ التعليمات فإن تجاوزت الزمن المسموح به يقوم بتصغير المتحكم ويجبره على العودة لبداية البرنامج (يعطى إشارة تصغير لمتحكم)

ملاحظة: هناك العديد من الشركات المصنعة للمتحكمات المصغرة نذكر منها على سبيل المثال: Atmel، Microchip، Mitsubishi، Siemens، Motorola، Intel.

ونحن الآن سوف نقوم بدراسة المتحكم Atmel 8051.



قراءة المقال الكامل على ويكيبيديا ←