uchar Keyscan(void)
{
uchar i, j, temp, Buffer[4] = {0xef, 0xdf, 0xbf, 0x7f};
for(j = 0; j < 4; j++) { //循環四次
P2 = Buffer[j]; //在P1高四位分別輸出壹個低電平
temp = 0x01; //計劃先判斷P1.0位
for(i = 0; i < 4; i++) { //循環四次
if(!(P2 & temp)) //從P1低四位,截取1位
return (i + j * 4); //返回取得的按鍵值
temp <<= 1; //判斷的位,左移壹位
} }
return 16; //判斷結束,沒有鍵按下,返回16
}
程序,用了壹個 8 位的並口:P1,或 P2,都行。
改成2*8的,就要使用兩個接口了,用什麽?樓主應該指定出來。