30.03.2015 Views

3rmcTnUdr

3rmcTnUdr

3rmcTnUdr

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

تستخدم لتهيئة خمرج امليكرو لالستخدام مع الكيباد،‏ وتكتب داخل ال main بالشكل التالي:‏<br />

الدالة الثالثة<br />

دالة أخرى ختربنا بالزر الذي مت الضغط عليه،‏ وهي على الشكل التالي:‏<br />

Keypad_Init();<br />

توجد أيضا دالة أخرى لقراءة قيمة الزر تكتب كاآلتي:‏<br />

والفرق بني الدالتني هو أن الدالة الثانية ال تنتظر حتى ترفع يدك من على الزر بل مبجرد الضغط عليه<br />

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

إال بعد رفع يدك من على كل األزرار املضغوط عليها ‏)يف حال القيام بالضغط على أكثر من زر يف<br />

نفس الوقت(‏ ثم بعد ذلك تأخذ فقط أول قيمة قمت بالضغط عليها.‏<br />

وهنا يتبادر إىل الذهن سؤال هام جدا:‏ ما هي القيم اليت حنصل عليها عند الضغط على األزرار ؟؟؟؟<br />

واإلجابة:‏ يف حالة الكيباد ال 4×4 أي الذي حيتوي على أربع صفوف وأربع أعمده كما يف الصورة<br />

اآلتية يف هذا الفصل يكون هناك 16 قيمة هم القيم من 1 إىل 16، وبالتالي عند الضغط على أي زر فان<br />

امليكرو سيستقبل قيمة بني وإذا مل يتم الضغط على أي زر فان امليكرو يستقبل القيمة<br />

صفر.‏<br />

1 إىل 16<br />

سؤال آخر:‏ أي األزرار يعطى القيمة واحد وأيهما يعطى القيمة اثنني وأيها ثالثة ... وهكذا؟؟؟<br />

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

مثال هلذا التوصيل يف بروتس،‏ وفيه تتصل الكيباد بامليكرو على PORTB كما بالشكل:‏<br />

162 ميكروبيديا - موسوعة امليكروكنرتولر<br />

elgammalelectronics.com

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

Saved successfully!

Ooh no, something went wrong!