P0=led[i];P2=0xff;delayms(100); } } }
uchar rdkey()
{ uchar scan1,scan2,keycode,j;
P1=0x0f; scan1=P1; if((scan1&0x0f)!=0x0f) {
delayms(30); scan1=P1; if((scan1&0x0f)!=0x0f) {
P1=0xf0; scan2=P1; keycode=scan1|scan2; for(j=0;j<=15;j++) {
if(keycode== key_code[j]) {
key=j; return(key); } } } }
else P1=0xff; return (16); }
void main() {
while(1) {
P1=0x0f;
if((P1&0x0f)!=0x0f) {
rdkey(); switch(key) {
case 0: k(0); break;