51单片机模拟PS2键盘 C语言程序

51单片机模拟PS2键盘 C语言程序,第1张

key_scan_output=scan[col];

rowkey=~(_key_scan_output&0x0f);//这里之后rowkey只能取0xf1,0xf2,0xf4,0xf8这几个值了,

if(rowkey!=0)//所以这里是一直为真的

{

if(rowkey==0x01) row=0;

else if(rowkey==0x02) row=1;

else if(rowkey==0x03) row=2;

else if(rowkey==0x04) row=3;

key_value=4col+row;//而这里的值只会是4col+0,row 始终是0

while(rowkey!=0)//这里是不是松手检测啊,如果是的话,下面这样就好了

//while((_key_scan_output&0x0f)!=0x0f);//等待按键松手

rowkey=~(_key_scan_output&0x0f);

}

希望能给你解答:

1、时钟信号都是主机产生的,从机只有一种情况下才能控制时钟线,即在忙的时候,主机还在发送数据,从机会主动把时钟拉低,表示我正在忙,不能收数据。

2、两个主机的话,在发送的时候一定会有一个从属关系,这个需要自己设置。

3、响应:i2c上每传输一个字节,都必须要有响应,方向是从机到主机。

以上就是关于51单片机模拟PS2键盘 C语言程序全部的内容,包括:51单片机模拟PS2键盘 C语言程序、51单片机如何模拟I2C总线中从机接收ID,发送数据的程序、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/10209963.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存