بسم الله الرحمن الرحيم
بعد ان ناقشنا في الدرس السابق مقدمة عن متحكمات pic ومقارنه بينها وبين متحكمات اﻷردوينو ويمكن الإطلاع عليه من هنا
سنناقش اليوم ومكونات الداخلية لهذا المتحكم
و كيفية التعامل مع المنافذ الرقمية وسنقوم بشرح 2
REGISTER(TRIS,PORT)
في البداية ننتقل لسؤال ماذا يحتوي هذا المتحكم في داخله وما الذي
يمكنه من اداء عمله
في البداية يتم تقسيم متحكمات pic الي عدة عائلات وهناك عدة
عوامل ادت الي تقسيم المتحكمات
عدد المنافذ و حجم الميموري و عدد البت التي يمكن نقله بين مكونات
المتحكم
عوامل ادت الي تقسيم المتحكمات
عدد المنافذ و حجم الميموري و عدد البت التي يمكن نقله بين مكونات
المتحكم
جزء واخر داخل المتحكم
وكلما زادت عدد البتات التي يمكن نقلها كلما زادت سرعة المتحكم
تتنوع المكونات داخل المتحكم الي عدة مكونات اولا
cpu: هو المسؤول عن العمليات الحسابية والمقارنات داخل المتحكم
وهو يؤدي وظيفة مشابهه للمعالج الموجود في الكمبيوتر
Memory:الميموري هي بمثابة مساحة تخزينية في داخل المتحكم
تنقسم الي عدة تقسيمات قسم يتم تخزين فيه البرنامج او الكود
قسم يتم تخزين فيه قيم المتغيرات
وقسم يتم تخزين فيه قيم يتم الإحتفاظ بها في حالة تم فصل المتحكم
عن الطاقة لا يتم حذف البيانات من هذا القسم وهذا القسم هو
EEPROM
IO: هذا القسم المسئول عن منافذ الإدخال والإخراج
في متحكمات PIC يمكن تعيين منافذ portA و portB و portC
كمداخل للقراءة اشارة رقمية او اخراج اشارة رقمية
ويمكننا 2 REGISTER من التحكم في هذه المنافذ كدخل او خرج
وهما (TRIS,PORT)
REGISTER الخاص بتعيين المنافذ كدخل او خرج هو
TRIS
فنقوم بكتابة اسم REGISTER متبوع باسم المنفذ مع كتابة في
الأعلي حيث يتصل كل منفذ ب 2 بت
واحد داخل tris واخر داخل port
منفذ tris هو المسئول عن تعيين المنفذ كدخل او خرج
في حالة تم كتابة 1 في خانة tris يتم تحويل المنفذ كقارئ اشارة
رقمية
ويمكننا القراءة من منفذ رقم 1 عن طريق قراءة البت الخاصه
ب port من علي المنفذ
وفي حالة كتابة 0 في خانة tris يتم تحويل المنفذ كمخرج للإشارة
فيمكننا اخراج طاقة 5 فولت و 25 مللي امبير عن طريق كتابة
1 في خانة port الخاصه بالمنفذ
وفي حالة كتبنا 0 في خانة port الخاصه بالمنفذ يتم ايقاف كل الطاقة
وبهذه الطريقة يمكننا تحويل منفذ رقمي الي دخل او خرج
وكيفية اخراج اشارة 1 او 0
نستعمل هذا الكود
TRISBbits.TRISB2 = 0;
ونقوم بادخال صفر كقيمة لكي يتم تعيينه كمخرج اشارة
ونقوم بادخال 1 لتعيينه كقارئ اشارة
مثال آخر لو اردنا تحويل C5 الذي يصادف منفذ رقم 24 كخرج نستخدم امر
TRISBbits.TRISC5 = 0;
وهكذا مع باقي المنافذ
ولو اردنا اخراج اشارة علي منفذ محدد اذا كانت 5 او 0 فولت
نستخدم
PORTاسم الخانةbits.اسم المنفذ
مثال لو اردنا قراءة الإشارة من منفذ رقم RD3
نستخدم
PORTDbits.RD3;
حيث بهذه الطريقة يمكننا قراءة الإشارة الداخله لهذا المنفذ
ولو اردنا اخراج اشارة علي منفذ ما
نقوم بإعطاء قيمة اذا كانت صفر او واحد
مثال لو اردنا اخراج 5 فولت علي منفذ RC2 يكون الأمر
PORTCbits.RC2=1;
وهكذا يمككنا اخراج 5 فولت علي منفذ RC2
وهنا ننتهي لموضوع اليوم سيكون الموضع القادم تطبيق عملي حول ما تعملناه في الدروس السابقة
تصميم : بلال حسان سعدي