پاسخ : برنامه صفحه کلید 3*4 برای اتصال به میکروکنترلر atmega16
سلام
خب به سلامتی مثل این که مشکل حل شده.
ولی این تیکه کد رو میذارم واسه کسایی که بعدا میان.
ساده،بهینه،کوچولو...
ستون ها باید pull down بشن.
سلام
خب به سلامتی مثل این که مشکل حل شده.
ولی این تیکه کد رو میذارم واسه کسایی که بعدا میان.
ساده،بهینه،کوچولو...
ستون ها باید pull down بشن.
کد:
unsigned char getkey (void){ unsigned char b,y,x,key[4][4]={ 7 ,8 ,9 ,15, 4 ,5 ,6 ,14, 1 ,2 ,3 ,13, 11,0 ,10,12 }; TRISD=0xf0; x=0; for(y=0;y<4;y++){ PORTD=pow(2,y); b=(PORTD&0xf0)>>4; while(b>0){b/=2;x++;} if(x!=0) break; } while(((PORTD&0xf0)>>4)!=0); if(x==0) return 16; if(x!=0) return key[y][x-1]; }
دیدگاه