51单片机模拟PS2键盘,实现“A”键的连打功能!

51单片机模拟PS2键盘.打一个A的话是发送{PS2key_sendto_host(0x1c);PS2key_sendto_host(0xf0); PS2key_sendto_host(0x1c);}这样没错。我想实现A键按下的功能(也就是连打AAAAAA)。为什么我只发A键的通码PS2key_sendto_host(0x1c);这样打出来的也只是一个A呢? 我没有发断码给主机,不是代表我一直按住A吗,那么为什么只出现一个A? 百思不得其解 请大侠们赐教!谢谢~~~

得发送一连串的通码PS2key_sendto_host(0x1c);
delay_50ms();
PS2key_sendto_host(0x1c);
delay_50ms();
PS2key_sendto_host(0x1c);
delay_50ms();
PS2key_sendto_host(0x1c);
delay_50ms();
PS2key_sendto_host(0x1c);
delay_50ms();
PS2key_sendto_host(0x1c);
delay_50ms();
PS2key_sendto_host(0x1c);
delay_50ms();
PS2key_sendto_host(0x1c);
delay_50ms();
PS2key_sendto_host(0x1c);
delay_50ms();
PS2key_sendto_host(0x1c);
delay_50ms();
PS2key_sendto_host(0x1c);
delay_50ms();
PS2key_sendto_host(0x1c);
delay_50ms();
PS2key_sendto_host(0x1c);
delay_50ms();
PS2key_sendto_host(0x1c);
delay_50ms();
PS2key_sendto_host(0x1c);
delay_50ms();
PS2key_sendto_host(0x1c);
delay_50ms();
PS2key_sendto_host(0x1c);
.
.
.
PS2key_sendto_host(0xf0);
delay_50ms();
PS2key_sendto_host(0x1c);
这样就能实现连打的功能了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-08-23
连打是由键盘连续发通码实现的,通码连发速率由键盘决定的(此速率也是由计算机设定到键盘里的)。
第2个回答  2012-03-19
for(;;)
{
if((CLK == 1) && (DATA == 1))
PS2key_sendto_host(0x1c);

}
第3个回答  2011-08-23
发连码,还要注意频率问题
第4个回答  2011-08-23
百度

51单片机模拟PS2键盘,实现“A”键的连打功能!
PS2key_sendto_host(0x1c);delay_50ms();PS2key_sendto_host(0x1c);...PS2key_sendto_host(0xf0);delay_50ms();PS2key_sendto_host(0x1c);这样就能实现连打的功能了。

51单片机最小系统如何外接键盘?
你好,键盘是ps2的接口。ps2设备的clock和data都是集电极开路的,平时都是高电平。当ps2设备等待发送数据时,它首先检查clock是否为高。如果为低,则认为PC抑制了通讯,此时它缓冲数据直到获得总线的控制权。如果clock为高电平,ps2则开始向PC发送数据。一般都是由ps2设备产生时钟信号。发送按帧格式。数据位...

谁会用51单片机模拟PS2键盘向上位机发送键值
Keyboard接线 PS\/2---51 1 DATA---P3.4 3 GND 4 VCC 5 CLK---P3.3 接在51的外部中断,触发方式为低电平 [注:AT89x51使用12M或11.0592M晶振,实测使用11.059M [Keil uV2 7.01编译运行通过 程序中没有做键盘数据的奇偶校验]===*\/ include <at89x51.h> include "scancodes.h"defi...

我想用51单片机模拟PS\/2或USB键盘来向计算机发送数据,做自动化用?
USB接口免了吧,51单片机硬件不支持usB功能,通信协议又很复杂,PS\/2接口比较简单,网上一搜可以找到例程,很多51单片机开发板上都带有PS或PS\/2接口。当然你既然用单片机了,为什么还要用那么大的键盘,有专门的键盘了,为什么还要通过单片机。单片机可以和上位机用串口通信,编程序接收串口数据就行了。

51单片机 键盘 PS2
我就谈谈自己的感想.我也做过,全键盘的.也是有些按键不能识别.我估计就是是别的时候有问题,可能就是因为定时器的原因吧!?我的理解是:芯片不能区分你定时器返回的时间是哪个按键的.

51单片机模拟PS2键盘时怎样进入中断的,
PS2的时钟对产生它的单片机来说就是一个普通的输出而已。假设时钟输出定义在P1端口的0脚上那么产生一个低电平就是P1^0=0;产生一个高电平就是P1^0=1;这就是你要的01变换方法。

谁做过51单片机模拟PS2键盘向电脑发送信息的项目,我写的程序无法运行成...
JNB PS3CK,PS3FOUT ;PS2\/时钟为0转 表示主机要发送数据,RRC A MOV PS3DD,C LCALL TFF10US CLR PS3CK ;拉低时钟线 LCALL TFF50US DJNZ R2,PS3F3 ;--- SETB PS3CK ;拉高时钟线 LCALL TFF10US JNB PS3CK,PS3FOUT ;PS2\/时钟为0转 表示主机要...

51单片机如何与电脑键盘相接,USB的
如果是USB接口的话,问题就复杂多了。51单片机本身并不支持USB协议,如果需要使用USB设备,则需要用软件模拟出USB协议,或者借助其它USB接口芯片才可以实现。与PS\/2协议相比,USB协议非常复杂,使用程序来构建USB协议的话,需要上千行的代码以及大量的单片机资源,总之虽然可以实现,但并不是明智的选择。使用...

怎么用单片机做USB电脑键?
要使用单片机实现USB电脑键盘,首先需要了解USB协议,协议的复杂程度要求开发者具备一定的专业知识。对于一般的51单片机而言,由于其处理速度可能无法满足USB协议的高要求,因此,需要使用专门的USB芯片,如南京沁恒的CH375。在进行设计时,单片机作为主机,而USB键盘作为从机。此配置确保了在USB环境中高效且准确...

51单片机4×4矩阵键盘,下载程序后LED全亮怎么回事
如果键盘灯亮时,按键无反应这种情况:是接口插错了,一盘键盘的PS2接口是紫色,鼠标是绿色的,检查你插对了吗;是断针,PS2接口有6根针,中间是定位点,其中2根是电源,其他4根是数据,你看一下是丌是断针了。

相似回答