1、#define keyin (P1IN & 0x0f) //这个地方不太明白PxIN &0xXX的功能。
答:取得P1口低四位的电平。你修改后恒为0.是错的
2、P1DIR = 0xf0; //设置P1.0~P1.4为输入状态
//不明白为什么设置成这样后 P1.5 P1.7测得电压为3.27V P1.6 P1.8测得电压为0.01V 不是应该都为高电平3.3V输出么?
答,没有明确输出高低电平时为初始或随机状态。
3、你想要指示高电平状态即按键高电平时对应灯亮可以把while(1)里面改成这样
if(keyin != 0x0f) //键值有改变
{
delay(); //延时消抖
if(keyin != 0x0f) //再次检测按键状态
{
temp=keyin;
P2OUT|=temp;
}
}
else
P2OUT&=0xF0;