PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : کمک در اتصال کیبورد 4*4 به میکرو lpc1768



hopo
30-08-2012, 19:41
از دوستان کسی لایبرری برای کیبورد 4*4 نداره؟

mzarkoob
30-08-2012, 23:44
سلام
نوشتن این برنامه فکر نکنم خیلی سخت باشه.
در کیبرد ماتریسی به این صورته که سطر را با صفر یا یک می خونه و بعد ستون. از روی وضعیت سطر و ستون اینکه چه چیزی فشار داده شده تشخیص داده می شود.
برای سایر میکرو ها اگه یه سرچ کنید برنامه هایی هم هست که با یه تغییر درست میشه برای 1768 و البته الگوریتم هم شرح داده شده

explode
04-11-2012, 01:52
سلام كلآ خيلي سادست ولي بازم اينو داشتم براي همين ميزارم تا شما و بقيه دوستان استفاده كنيد .:mrgreen:
فقط بايد cmsisهم ضميمه پروژتون كنيد
پايه هاي p2.2 تا p2.9 وصلن به كيپد

const unsigned char code_key[4][4]={{1,4,7,10},{2,5,8,0},{3,6,9,11},{12,13,14,15}};

//************************************************** *****************
//*********************** SCAN KEY PRESS FUNCTION *******************
//************************************************** *****************
unsigned int scan_key(void)
{
//P2.2 => PKBD1 to P2.9 => PKBD8 of kbd pins LPC_GPIO0->FIOMASK=0X00000000; //P0.
//pkbd1->4 to row1->4 --- pkbd5->col1 to pkbd8->col4
//GPIO_SetValue(uint8_t portNum, uint32_t bitValue) GPIO_ClearValue(uint8_t portNum, uint32_t bitValue)
//GPIO_SetDir(uint8_t portNum, uint32_t bitValue, uint8_t dir) //- 0: Input - 1: Output
//FIO_SetMask(uint8_t portNum, uint32_t bitValue, uint8_t maskValue) // - 0: not mask - 1: mask
unsigned int i,data,num_key,temp;
num_key = 0xFF;
temp = 0x7F;
temp = temp<<2;

FIO_SetMask( KBD_port , ~(1020) , mask_io );
GPIO_SetDir( KBD_port , 0x3C , in_port ); // - 0: Input - 1: Output ----- input lower 4bit
GPIO_SetDir( KBD_port , 0x3C0 , out_port ); // - 0: Input - 1: Output ----- output higher 4bit
//set_ResistorMode ( KBD_port , 0x3C , PINSEL_PINMODE_PULLUP );

for( i = 0 ; i < 4 ; i++ )
{
GPIO_SetValue( KBD_port , temp ); //PORTC=temp;
GPIO_ClearValue( KBD_port , ~(temp) );//PORTC=temp;
delay_ms(5);
data = GPIO_ReadValue(KBD_port) & 0x3C;
if(data==0x1C)
num_key = code_key[0][i];
if(data==0x2C)
num_key = code_key[1][i];
if(data==0x34)
num_key = code_key[2][i];
if(data==0x38)
num_key = code_key[3][i];
temp= ((temp>>=1) | 0x200) ;
}

FIO_SetMask( KBD_port , ~(1020) , not_mask_io);

return num_key;
}

electro_fuzzy
09-02-2013, 20:46
این که مثال خود کتابه . کار هم نمیکنه

explode
14-04-2013, 23:42
این که مثال خود کتابه . کار هم نمیکنه
كدوم كتاب رو شما ميگيد؟
من تست كردم اين برنامرو رو دوتا پروژه داره كار ميكنه!.شايد مشكل سخت افزاري داريد؟!
شايدم پايه ها رو تغيير داديد اگه به پايه هاي ديگه وصل كنيد بايد كانفيگ پايه ها رو درست انجام بديد.اين سورس كدو من تو خيلي از پروژه ها استفاده كردم خيلي ساده و روتينه اصل منبعشم ماله كتاب مرجع ميكروكنترلرهايavr ماله مهندس پرتويي فر هست كه انتشاراتشم نص هست.
موفق و مويد باشيد:hi:

esi_52000
15-04-2013, 09:53
سلام دوست عزیز.این لایبری رو من برای خودم نوشتم و ازش استفاده میکنم.
این لایبری اگه کلیدی رو فشار ندادین عدد 0 و اگه فشار داده باشید 1 رو بر میگردونه.خود عدد فشار داده شده هم توی اشاره گر مورد نظط ریخته میشه.مشکلی بود در خدمتم

asgharkarimi
16-12-2013, 15:27
سلام دوستان من میخوام خروجی یه نام پد رو به یو اس بی تبدیل کنم وبه کامپیوتر وصل کنم لطفا راهنماییم کنید.خیلی عجله دارم

mzarkoob
16-12-2013, 15:55
سلام دوستان من میخوام خروجی یه نام پد رو به یو اس بی تبدیل کنم وبه کامپیوتر وصل کنم لطفا راهنماییم کنید.خیلی عجله دارم
سلام
چطور بپرسیم ؟ - ایـــــــــران میـــــــکرو ™ (You can see links before reply)

mahdiazizian
02-10-2015, 10:20
سلام دوست عزیز.این لایبری رو من برای خودم نوشتم و ازش استفاده میکنم.
این لایبری اگه کلیدی رو فشار ندادین عدد 0 و اگه فشار داده باشید 1 رو بر میگردونه.خود عدد فشار داده شده هم توی اشاره گر مورد نظط ریخته میشه.مشکلی بود در خدمتم


با سلام. لطفا يه نمونه مدار به همراه LCD كاراكتري و اگر شد به همراه lCD گرافيكي قرار بدين جهت اموزش. با تشكر