按网上天微例程不能读取按键,键值KEY[]一直是0xFF。请问读键时单片机接DIO的口要不要设为输入口,向1628送控制命令和传显示数据时再把单片机DIO驱动口设为输出口?
/****************读取按键值并存储*******************/
void read_key(void) //读取5字节按键值并存入数组KEY[],从低字节、低位开始
{
unsigned char i,j;
send_command(0x42); //发送读按键命令
DIO=1; //释放DIO数据总线
for(j=0;j<5;j++) //连续读取5个字节
{
for(i=0;i<8;i++)
{
CLK=0;
KEY[j]=KEY[j]>>1;
CLK=1;
if(DIO==1)
{
KEY[j]=KEY[j]|0x80;
}
nop;
}
nop;
nop;
}
CLK=0;
DIO=0;
STB=1;
}
|