//判断有无键按下,返回值key_press()=0或1 uchar key_press() { uchar i; DDRD=0XFF; //D口为输出 PORTD=0XF0;//输出为11110000 DDRD=0X0F;//D口高四位为输入,低四位为输出 i=PIND; //读取D口数据 if(i==0XF0) { DDRD=0XFF;//D口为输出 return 0;//返回0 } else { DDRD=0XFF;//D口为输出 return 1;//返回1 } }