可以试试用一组adc值,不同按键接上不同电阻,用adc电压检测判断那个按键按下,io不够是个不错的法子 ...
你这里成另一种方案了{:4_187:} 请善用bdata,速度快,效率高
sbit C1 = P0^4;
sbit C2 = P0^3;
sbit C3 = P0^1;
sbit C4 = P0^0;
sbit R1 = P0^7;
sbit R2 = P0^6;
sbit R3 = P0^5;
sbit R4 = P1^5;
uchar bdata GPIO = 0xFF;
sbit GPIO_0 = GPIO^0;
sbit GPIO_1 = GPIO^1;
sbit GPIO_2 = GPIO^2;
sbit GPIO_3 = GPIO^3;
sbit GPIO_4 = GPIO^4;
sbit GPIO_5 = GPIO^5;
sbit GPIO_6 = GPIO^6;
sbit GPIO_7 = GPIO^7;
void Write_GPIO(uchar Dat)
{
GPIO = Dat;
C4 = GPIO_0;
C3 = GPIO_1;
C2 = GPIO_2;
C1 = GPIO_3;
R1 = GPIO_4;
R2 = GPIO_5;
R3 = GPIO_6;
R4 = GPIO_7;
}
uchar Read_GPIO()
{
uchar Dat;
GPIO_0 = C4;
GPIO_1 = C3;
GPIO_2 = C2;
GPIO_3 = C1;
GPIO_4 = R1;
GPIO_5 = R2;
GPIO_6 = R3;
GPIO_7 = R4;
Dat = GPIO;
return Dat;
} Lkck8210 发表于 2024-11-24 09:51
请善用bdata,速度快,效率高
不错不错,另一种变换思路! Lkck8210 发表于 2024-11-24 09:51
请善用bdata,速度快,效率高
还能这样玩啊
页:
1
[2]