إنتل MCS-51

متحكم دقيق إنتل P8051
إنتل MCS-51 هو معالج دقيق وهو عبارة عن شريحة إلكترونية متكاملة إلا أنها تصبح عديمة الفائدة في غياب برنامج يخزن في ذاكرتها تقوم بقراءته وتنفيذ تعليماته تباعاً ولكن في المعالجات المصغرة تكمن المشكلة في ربط الذاكرة مع المعالج بالإضافة إلى ربط مصدر نبضات الساعة معه حيث تظهر المشاكل في المرحلة التي تلي عملية التصميم وهي تنفيذ البرنامج المخضع للعملية التكنولوجية فقد تحدث بعض المشاكل في قراءة الذاكرة وكذا تنفيذ خاطئ للبرنامج وبالتالي قد نحصل على نتائج غير متوقعة من هذا التجهيز الذي قمنا بتصميمه وبنائه.
لذلك ظهرت شرائح إلكترونية تدعى المتحكمات المصغرة micro controller تحتوي في داخلها على كل ما يحتاجه المعالج المصغر كي يعمل بموثوقية أعلى فهي تحتوي على:
وحدة معالجة مركزية 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.