وعليكم السلام ورحمة الله وبركاته
1- السجلات tris_ port ضمن الذاكرة sfr الخاصة وكل سجل مكون من 1 بايت ؟
هذا صحيح .
2- يعني ان كان للمتحكم ١٦ طرف دخل _ خرج فهذا يعني ان الذاكرة sfr سعتها ٤ بايت اثنان بايت ل tris واثنان لport وان كان للمتحكم ثمان اطراف دخل خرج فهذا يعني ان سعة الذاكرة الخاصة ٢ بايت ؟
الذاكرة sfr تتضمن مسجلات كثيرة هذه أهمها في البيك PIC16F84a كمثال:
TMR0
PORTA
PORTB
EEDATA
EEADR
OPTION_REG
TRISA
TRISB
EECON1
EECON2
INTCON
كل مسجل يقوم بوظائف محددة
وفي المتحكم PIC16F887A موضوع دورة الستاذ فتح الله عبدالعزيز مسجلات أكثر بكثير للقيام بوظائف أكثر .
سعة كل مسجل 8 بت أو 1 بايت.
المسجلات مذكورة باسمائها في داتا شيت كل متحكم.
3- كل مسجل Portيقابله مسجل tris

كمثال وظيفة المسجل trisb هي برمجة أطراف portb كدخل أو كخرج
trisb يتكون من 8 بت
إذا أسندنا لأي بت من المسجل TRISB القيمة 0 منطقي فهذا معناه أن البت المقابل في PORTB سيبرمج كخرج .
وإذا أسندنا له القيمة 1 منطقي فمعناه أن البت المقابل في PORTB سيبرمج كدخل.
مثال في الميكروسي :
;TRISB=0b01011101
معناه : إجعل المنفذ "ب" هكذا :
الطرف الاول RB0 دخل (البداية من اليمين)
الثاني RB1 خرج
الثالث والرابع والخامس RB2 RB3 RB4 دخول
السادس RB5 خرج
السابع RB6دخل
الثامن والاخير RB7 (وهو المحاذي للحرف b) خرج
0b ليست ضمن عدد بتات السجل هي مجرد كتابة اصطلاحية في الميكروسي .
علما أن تسمية وترتيب الأطراف الاصطلاحي هو الذي وضعته بالانجليزية حيث يسمى الطرف الاول RB0 والطرف الأخير RB7
أي ما مجموعه 8 أطراف.
هكذا ترى أن العبارة trisb تعني اسم مسجل في ذاكرة الرام وفي نفس الوقت تعني تعليمة برمجة هذا السجل.
بالنسبة لطريقة التحويل من دخل إلى خرج والعكس فهي تتم طبعا الكترونيا بواسطة متأرجحات (قلابات) وبوابات
وهذا موضح في الداتا شيت.
مثال: