3rmcTnUdr

3rmcTnUdr 3rmcTnUdr

micropediastore
from micropediastore More from this publisher
30.03.2015 Views

برجمة رجول امليكروكنرتولر:‏ حتديد اجتاه الداتا :Data direction البك 16F877A تؤدي وظيفة الدجييتال أي تعمل كدخل رقمي ‏)لقراءة كمثال يوجد 22 رجل يف حالة سويتش مثال(‏ أو كخرج رقمي ‏)للتحكم يف إضاءة الليد مثال(،‏ السؤال هنا:‏ مبا أن الرجل الواحدة ميكن أن تعمل كدخل أو كخرج فكيف ميكن حتديد أن رجل حمددة من رجول امليكروكنرتولر تعمل كدخل وأخرى تعمل كخرج ؟؟؟ يتم ذلك من خالل أمر معني وهو األمر TRIS وله صيغة معينة وهي كاآلتي:‏ TRISX = 0B10101010; حيث ميثل ال X اسم املخرج الذي نريد التحكم يف اجتاه الداتا على رجولة ويتم استبداله يف األمر بهذا االسم (A–B–C–D–E) وتستخدم ال 0B وهي عبارة عن صفر وحرف البى لتدل على أن الرقم الذي يليها هو رقم ممثل بالنظام الثنائي أي يكون صفر أو واحد كما هو مكتوب وال ينظر له كقيمة عشرية كما هو املعتاد.‏ وحيث أن أغلب املخارج يتكون من 8 رجول فغالبا ما يكون بعد ال 0B يوجد 8 قيم مقابلة لكل رجل يف املخرج وكل قيمة منها تأخذ إما واحد وإما صفر حسب عمله كدخل أو كخرج،‏ فلو افرتضنا مثال أننا حندد املخرج B ونريد التحكم يف وظيفة رجوله فسيكون األمر كالتالي:‏ Reference 4 elgammalelectronics.com 69 ميكروبيديا - موسوعة امليكروكنرتولر

Reference 4 فمثال إذا كنت تريد أن جتعل الرجل RB7 تعمل كدخل وباقي رجول املخرج B تعمل كخرج فسوف يكون األمر كالتالي:‏ وهذا معناه TRISB = 0B10000000; أنك إذا كنت تريد أن جتعل رجل معينة كدخل فاجعل القيمة املقابلة هلا يف األمر TRIS تكون بواحد،‏ واجعل القيمة تساوى صفر إذا كنت تريد هذه الرجل أن تعمل كخرج.‏ مثال:‏ الرجل رقم 1 و‎1‎ و‎4‎ و‎2‎ يف املخرج B تعمل كخرج والباقي دخل:‏ TRISB = 0B11110000; TRISB = 0B11111111; TRISB = 0B00000000; مثال:‏ مثال:‏ املخرج B كله يعمل كدخل:‏ املخرج B كله خرج:‏ مثال:‏ الرجول 1 و‎4‎ و‎2‎ و‎6‎ يف املخرج C تعمل كخرج والباقي كدخل:‏ TRISC = 0B10101010; ... هكذا تعلمنا كيفية التعامل مع خمرج كامل ... لكن هل ميكن التعامل مع رجل واحدة فقط؟؟؟ اإلجابة:‏ نعم وذلك من خالل األمر اآلتي:‏ حيث ميثل ال X اسم املخرج وميثل ال N رقم الرجل يف املخرج TRISX.BN = 0; TRISD.B3 = 0; مثال:‏ جلعل الرجل RD3 تعمل كخرج:‏ الفصل الرابع:‏ أساسيات برجمة البك بلغة السي 71 elgammalelectronics.com

Reference 4<br />

فمثال إذا كنت تريد أن جتعل الرجل RB7 تعمل كدخل وباقي رجول املخرج B تعمل كخرج فسوف<br />

يكون األمر كالتالي:‏<br />

وهذا معناه<br />

TRISB = 0B10000000;<br />

أنك إذا كنت تريد أن جتعل رجل معينة كدخل فاجعل القيمة املقابلة هلا يف األمر TRIS<br />

تكون بواحد،‏ واجعل القيمة تساوى صفر إذا كنت تريد هذه الرجل أن تعمل كخرج.‏<br />

مثال:‏<br />

الرجل رقم 1 و‎1‎ و‎4‎ و‎2‎ يف املخرج B تعمل كخرج والباقي دخل:‏<br />

TRISB = 0B11110000;<br />

TRISB = 0B11111111;<br />

TRISB = 0B00000000;<br />

مثال:‏<br />

مثال:‏<br />

املخرج B كله يعمل كدخل:‏<br />

املخرج B كله خرج:‏<br />

مثال:‏<br />

الرجول 1 و‎4‎ و‎2‎ و‎6‎ يف املخرج C تعمل كخرج والباقي كدخل:‏<br />

TRISC = 0B10101010;<br />

...<br />

هكذا تعلمنا كيفية التعامل مع خمرج كامل ... لكن هل ميكن التعامل مع رجل واحدة فقط؟؟؟<br />

اإلجابة:‏ نعم وذلك من خالل األمر اآلتي:‏<br />

حيث ميثل ال X اسم املخرج وميثل ال N<br />

رقم الرجل يف املخرج<br />

TRISX.BN = 0;<br />

TRISD.B3 = 0;<br />

مثال:‏<br />

جلعل الرجل RD3 تعمل كخرج:‏<br />

الفصل الرابع:‏ أساسيات برجمة البك بلغة السي 71<br />

elgammalelectronics.com

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!