مشكلتي مع لوحة المفاتيح 4x3
ربطت لوحة المفاتيح بالميكروكنترولر وربط هدا الاخير ب 7-segmat واحدة تظهر حت تسعة والاخر كدلك , والمجموع 99
.
اريد من هدا المشروع عند ضغظ على احد ارقام الكيباد مثلا الرقم 3 يظهر على الشاشة الموجودة على اليمين ويكون امر يخبر pic في حالة ظغط مرة الاولة ان يختبر الكيباد مرة تانية لوقت معين.
_في حالة عدم الضغظ مرة اخرى في دلك الوقت المعين يبقى الرقم 3 على الشاشة الموجودة على اليمين ويظهر صفر في التي توجد على اليسار.
_اما ادا تم ضغط مرة تانية تابعة للاولة مثلا ضغط على الرقم 3 تم اتبعته الرقم 2 يجب ان يظهر الرقم 3 تلاتة في الشاشة على اليسار والرقم 2 يظهر على الشاشة على اليمين وبالتالي يظهر الرقم 32
:
هدا كود الدي اتمرن عليه لكن لم اصل لنتيجة التي اريد:
كود:
char kp;
char keypadport at portd;
void main() {
trisb=0x00;
portb=0;
trisc=0x00;
portc=0;
for(;;){
kp=keypad_key_click();
switch (kp) {
case 1: portb=1; break;
case 2: portb=4; break;
case 3: portb=7; break;
case 4: portb=10; break;
case 5: portb=2; break;
case 6: portb=5; break;
case 7: portb=8; break;
case 8: portb=0; break;
case 9: portb=3; break;
case 10: portb=6; break;
case 11: portb=9; break;
case 12: portb=11; break;
} }
}
وهده صورة من برتوس