tm1650数据显示正常,读的按键总是FF。
uchar read_byte(void)//读字节
{
uchar i,rekey = 0;
INIT_TM1650( 0 );//0为输入,1为输出
for( i = 0;i < 8;i++ )
{
CLK = 0;
rekey >>= 1;
Delay_us( 30 );
CLK = 1;
if( DIO_IN )
{
rekey |= 0x80;
}
else
{
rekey &= ~0x80;
}
Delay_us(30);
}
INIT_TM1650( 1 );//0为输入,1为输出
return rekey;
}
unsigned char Scan_Key( void ) // 按键扫描
{
uchar rekey = 0;
I2CStart();
I2CWrByte( 0x49 );//读按键命令
I2Cask();
rekey = read_byte( );
I2Cask();
I2CStop();
return rekey;
}
有高手能指导下吗?
|