المنافذ الرقمية متحكم pic

 بسم الله الرحمن الرحيم

بعد ان ناقشنا في الدرس السابق مقدمة عن متحكمات pic ومقارنه بينها وبين متحكمات اﻷردوينو ويمكن الإطلاع عليه من هنا


سنناقش اليوم ومكونات الداخلية لهذا المتحكم
و كيفية التعامل مع المنافذ الرقمية وسنقوم بشرح 2
REGISTER(TRIS,PORT)

في البداية ننتقل لسؤال ماذا يحتوي هذا المتحكم في داخله وما الذي
يمكنه  من اداء عمله
في البداية يتم تقسيم متحكمات pic الي عدة عائلات وهناك عدة
عوامل ادت الي تقسيم المتحكمات
عدد المنافذ و حجم الميموري و عدد البت التي يمكن نقله بين مكونات
المتحكم


فمثلا متحكم pic16f877a متحكم 8 بت اي يمكنه نقل 8 بت بين
جزء واخر داخل المتحكم
وكلما زادت عدد البتات التي يمكن نقلها كلما زادت سرعة المتحكم

تتنوع المكونات داخل المتحكم الي عدة مكونات اولا
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


فمثلا لو اردنا تحويل منفذ RB2 الذي يعد رقم 35 في المتحكم كخرج
نستعمل هذا الكود
TRISBbits.TRISB2 = 0;

ونقوم بادخال صفر كقيمة لكي يتم تعيينه كمخرج اشارة 
ونقوم بادخال 1 لتعيينه كقارئ اشارة
مثال آخر لو اردنا تحويل C5 الذي يصادف منفذ رقم 24 كخرج نستخدم امر
TRISBbits.TRISC5 = 0;
وهكذا مع باقي المنافذ 
ولو اردنا اخراج اشارة علي منفذ محدد اذا كانت 5 او 0 فولت 
نستخدم 
PORTاسم الخانةbits.اسم المنفذ
مثال لو اردنا قراءة الإشارة من منفذ رقم RD3
نستخدم 
PORTDbits.RD3;
حيث بهذه الطريقة يمكننا قراءة الإشارة الداخله  لهذا المنفذ
ولو اردنا اخراج اشارة علي منفذ ما 
نقوم بإعطاء قيمة اذا كانت صفر او واحد

مثال لو اردنا اخراج 5 فولت علي منفذ RC2 يكون الأمر
PORTCbits.RC2=1;
وهكذا يمككنا اخراج 5 فولت علي منفذ RC2

وهنا ننتهي لموضوع اليوم سيكون الموضع القادم تطبيق عملي حول ما تعملناه في الدروس السابقة 

تصميم : بلال حسان سعدي
تعليقات