case 'A': K1=0;delay(k);write=1;break; // 第一路开
case 'B': K2=0;delay(k);write=1;break; // 第二路开
case 'C': K3=0;delay(k);write=1;break; // 第三路开
case 'D': K4=0;delay(k);write=1;break; // 第四路开
case 'E': K5=0;delay(k);write=1;break; // 第五路开
case 'F': K6=0;delay(k);write=1;break; // 第六路开
case 'G': K7=0;delay(k);write=1;break; // 第七路开
case 'H': K8=0;delay(k);write=1;break; // 第八路开
case 'a': K1=1;delay(k);write=1;break; // 第一路关
case 'b': K2=1;delay(k);write=1;break; // 第二路关
case 'c': K3=1;delay(k);write=1;break; // 第三路关
case 'd': K4=1;delay(k);write=1;break; // 第四路关
case 'e': K5=1;delay(k);write=1;break; // 第五路关
case 'f': K6=1;delay(k);write=1;break; // 第六路关
case 'g': K7=1;delay(k);write=1;break; // 第七路关
case 'h': K8=1;delay(k);write=1;break; // 第八路关
case 0x55: SBUF = P1;delay(k);dat=0xee;break; // 读输入口状态
case 0xAA: SBUF = P2;delay(k);dat=0xee;write=1;break; // 读输出口状态
case 0x11: P2=~P2;delay(k);SBUF = dat;dat=0xee;write=1;break; // 输出口取反