3rmcTnUdr
3rmcTnUdr
3rmcTnUdr
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