دروس وتجارب لمراجعة الميكروكونترولر PIC16F88 ولغة السى والمترجم ميكروسى C – Mikrocontroller


الميكروكونترولر PIC هو واحد من عائلات الميكروكونترولر (المتحكمات الدقيقة) الأوسع انتشارا والأسهل استخداما والمتوفرة في السوق اليوم .

 تهدف هذه الدروس لتسهيل تعلم الميكروكونترولر PIC من حيث دوائر الربط Interfacing والبرمجة programming . يبدأ كل موضوع بخلفية نظرية تليها تجارب بسيطة لشرح كيف يمكن تطبيق النظرية إلى تطبيقات فعلية. مع التأكيد على استخدام لغة عالية المستوى (لغة السى C) لبرمجة الميكروكونترولر PIC .

 المترجم المستخدم فى كتابة البرامج هو "ميكروسى برو" mikroC Pro for PIC ، من MikroElektronika. يمكنك تحميل وتثبيت النسخة التجريبية من هذا المترجم والتى تحدد حجم ملف الخرج السداسى عشرى HEX بقيمة 2 كيلوبايت .

 ولهذا السبب تم اختيار الميكروكونترولر PIC16F88 والميكروكونترولر PIC16F628A لتنفيذ التجارب الأساسية في حين يتم استخدام الميكروكونترولر PIC18F2550 عند مناقشة موضوعات متطورة .

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


داخل النظام المضمن :

بعد ان علمت ان النظم المضمن يتواجد في كل مكان تقريبا ، دعنا نشتكشف العناصر الأساسية داخل النظام المضمن .


المعالج Processor:


في قلب النظام المضمن توجد وحدة المعالجة المركزية أو باختصار "المعالج" Processor .

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

الذاكرة Memory:


كما أن لدى النظام المضمن أيضا ذاكرة memory ، غالبا يكون هناك عدة أنواع مختلفة في النظام الواحد. 

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

الأجهزة الطرفية Peripherals:

 
يتصل النظام المضمن مع العالم الخارجي من خلال الأجهزة الطرفية . الأنواع الرئيسية من الأجهزة الطرفية المستخدمة هى يلي:


المداخل والمخارج الرقمية Digital Inputs / Outputs:
يوجد أطراف خارجية بسيطة والتي يمكن التحكم فى خرج حالتها المنطقية عن طريق المعالج لتكون إما عند المنطق واحد (1) أو عند المنطق صفر (0) . 

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

دوائر الربط (الواجهات) التسلسلية Serial interfaces :


وهي الواجهات التي ترسل أو تستقبل البيانات باستخدام طرف واحد أو اثنين فى الوضع التسلسلى .

 فهي الأقل تعقيدا فى التوصيل ولكنها الأكثر تعقيدا فى البرمجة لأن البيانات يمكن أيضا أن تزود بمعلومات إضافية لتحقيق متطلبات بروتوكول نقل البيانات.
المحولات من تناظرى إلى رقمى Analog to digital converters :


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

الشاشات Displays (وحدات العرض) :


تستخدم الشاشات بواسطة المعالج لعرض معلومات الحالة status ، ورسائل الخطأ، ونتائج الإخراج . هذه الشاشات يمكن أن تكون ليدات بسيطة ، وعارضات سفن سيجمنت ، أو لوحات حروف مثل LCD.

لوحات المفاتيح Keypads


يتم استخدام لوحات المفاتيح من قبل المستخدم النهائي لتوفير مدخلات للنظام المضمن . المدخلات يمكن أن تكون أي شيء مثل إدخال كلمة المرور، أوتغيير الإعدادات الوظيفية، أوالتبديل بين عناصر قائمة ، الخ .

دعنا الآن نناقش ما بداخل النظام المضمن لثرموستات رقمى . الشكل المبين أدناه يوضح المخطط الصندوقى لمثل هذا النظام :



يتم استشعار (كشف) درجة الحرارة المحيطة بواسطة الثرموستات ( باستخدام مستشعر "حساس"لدرجة الحرارة) ، وويقوم بتحويلها إلى الجهد التناظرى المتناسب مع درجة الحرارة . المعالج لا يمكنه معالجة هذه الإشارة مباشرة ، لذلك يتم تحويلها إلى عدد رقمى مكافىء من خلال عملية تسمى التحويل من تناظرى إلى رقمى ADC .


 عندئذ يقوم المعالج بمقارنة قراءة درجة الحرارة هذه مع إعدادات درجات الحرارة العالية والمنخفضة التي يحددها المستخدم ، ويقوم بالتحكم فى تشغيل Heater / AC إذا لزم الأمر . يستخدم المستخدم لوحة مفاتيح لإدخال إعدادات ضبط درجة الحرارة ، والتي يتم حفظها في الذاكرة . 

يعرض المعالج ضبط درجة الحرارة ودرجة الحرارة الحالية على شاشة LCD. يتم تخزين برنامج أداء الوظيفة الكاملة من المراقبة والتحكم فى درجة الحرارة في الذاكرة . يقوم المعالج بقراءة التعليمات من الذاكرة وينفذها .

شريحة الميكروكونترولر ( PIC16F88 , PIC16F628A)

مبرمج الميكروكونترولر PIC هو جهاز لتحميل البرامج الثابتة داخل الميكروكونترولر . أنت بحاجة لشراء جهاز برمجة مع قدرة على إمكانية البرمجة تسلسليا فى الدائرة (ICSP) . وهو ما يسمح لك بسرعة برمجة الميكروكونترولر PIC أثناء وجوده في الدائرة المستهدفة .
أيضا أنت بحاجة إلى جهاز كمبيوتر PC لغرضين: أولا لتطوير (إنشاء) وترجمة البرامج الثابتة للمتحكم ، وثانيا لنقل هذه البرامج عن طريق جهاز البرمجة إلى الميكروكونترولر PIC بحيث يمكن تحميلها في ذاكرة البرنامج للميكروكونترولر .
سوف تحتاج أيضا إلى مصدر جهد منتظم +5V DC لتوفير القدرة اللازمة للدائرة على لوحة البريد بورد .
كما سوف تحتاج إلى مقياس متعدد رقمى وبعض المكونات الأخرى مثل المقاومات، والليدات ، والمكثفات، والأسلاك ، وما إلى ذلك كما هو مطلوب.

أدوات البرمجيات المطلوبة :

 
بالإضافة إلى الأجهزة المبينة أعلاه ، سوف تحتاج إلى منتجات البرمجيات التالية خلال التجارب .
• سوف تحتاج إلى مترجم لتطوير وترجمة البرامج الثابتة. سوف تحتاج إلى تحميل وتثبيت النسخة المجانية من المترجم mikroC for PIC حتى يمكنك متابعة هذه التجارب.
• وسوف تحتاج إلى برمجيات جهاز البرمجة والتى تقدم بمعرفة الصناع مرفقة مع جهاز البرمجة . وهى مطلوبة لنقل البرامج الثابتة من جهاز الكمبيوتر إلى المتحكم .

يتم التشغيل بواسطة Blogger.