Em đang có 1 ma trận phím 3*4. Quét được từng phím rồi. Khi nhấn 1 trong 12 phím thí nó cho 1 giá trị phím là giatriphim từ 0 đến 11 khi nhấn trong 12 nút nhấn đó.
Bây giờ em muốn nhập từ ma trận phím số 235 chả hạn tức là sau 3 lần nhấn phím thì được số này. Em không bit thuật toán của nó thế nào? viết hoài mà không được!
ở đây alarm là giá trị 253 em cần nhập hay 3 số khác.
Bây giờ em muốn nhập từ ma trận phím số 235 chả hạn tức là sau 3 lần nhấn phím thì được số này. Em không bit thuật toán của nó thế nào? viết hoài mà không được!
Code:
unsigned char quethang[3]={0xff7f,0xffbf,0xdf}; unsigned int x,y; unsigned char a[100],phim,n; unsigned int alarm; void Scanmatrix() { for(x=0;x<3;x++) { Delay_ms(1); LATB=quethang[x]; for(y=0;y<50;y++) { if(!cot1) { phim=4*x; //while(!cot1) a[n++]=phim; } if(!cot2) { phim=1+4*x; // while(!cot2) a[n++]=phim; } if(!cot3) { phim=2+4*x; // while(!cot3) a[n++]=phim; } if(!cot4) { phim=3+4*x; //while(!cot4) a[n++]=phim; } } } } void inport_matrix() { if(n==1) alarm=a[1]; else if(n==2) alarm = a[1]*10+a[2]; else if(n==3) n=0; LCD_Position(2,10); LCD_WriteNumber(alarm); LCD_Position(2,13); LCD_WriteNumber(phim); LCD_Position(2,15); LCD_WriteNumber(n); }
Comment