دوستان سلام
بنده نیازمند برنامه اسکن صفحه کلید ماتریسی 8*8 هستم تابحال کسی نوشته
کمپایلر برنامه نویسیم هم بسکام هست
بنده نیازمند برنامه اسکن صفحه کلید ماتریسی 8*8 هستم تابحال کسی نوشته
کمپایلر برنامه نویسیم هم بسکام هست
/*
#define port_key PORT x
#define pin_key PIN x
#define ddr_key DDR x
*/
char key_code[4][4]={{13,14,0,15},{12,9,8,7},{11,6,5,4},{10,3,2,1}};
char scan_key(void){
char key;
char colom,row;
if(pin_key!=0xf0){
ddr_key=0x0f;
port_key=0xf0;
delay_ms(10);
if (pin_key == 0B01110000)row=0;
if (pin_key == 0B10110000)row=1;
if (pin_key == 0B11010000)row=2;
if (pin_key == 0B11100000)row=3;
ddr_key=0xf0;
port_key=0x0f;
delay_ms(10);
if (pin_key == 0B00000111)colom=0;
if (pin_key == 0B00001011)colom=1;
if (pin_key == 0B00001101)colom=2;
if (pin_key == 0B00001110)colom=3;
key=key_code[colom][row];
delay_ms(10);
ddr_key=0x0f;
port_key=0xf0;
while(pin_key!=0xf0);
return key;
}
}
Config Kbd = Portb Dim B As Byte Do B = Getkbd() Print B Loop End
دیدگاه