用51操作和检测PS2键盘,接收数据已经搞定了,可是发送数据却出错,不知道怎么回事。给它的命令和它所执行的完全不同,请高手指教下,到底是哪里错了,还是没错,电路接得不对??接收函数是这样的。
void send(uchar Data)
{
uchar i,high=0;
EA=0;
EX0=0;//关闭中断
CLK=0;
delay10us(11);
DATA=0;
delay10us(2);
CLK=1;
while(CLK==1);
//开始发送八位数据
for(i=0;i<=7;i++)
{
if(Data & 0x01)
{
DATA=1;
high++;
}
DATA=(Data>>1);
while(CLK==0);
while(CLK==1);
}
if(high%2==0) DATA=1; //设置奇校验位
else DATA=0;
while(CLK==0);
while(CLK==1);
DATA=1;
while(DATA==1);
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余4页未读,立即下载