标签:
EDN PS2 键盘 接口 程序
EDN板之PS2键盘接口程序
大家可以在此基础上实现输入法等功能哦
认为好饿就顶哈
下载区:

键盘数据发送原理(键盘内部原理):
键盘内部原理
键盘有许多种,PS2键盘是当今PC机最常用的种类,这里仅涉及最常用的键盘,也就是6引脚发送数据的键盘. 与PC机相同,它与单片机进行通信时我们只需要选择数据,时钟,电源,接地4个接口,结构较为简单。
键盘内部由键盘阵列、键盘控制器(伟单片机)、译码器及其他电路组成。工作时单片机扫描键盘,当单片机检测到键盘连接的相应引脚电平的变化时便会根据软件的设计判断按下键的位置,并准备发送相应的键盘扫描码。它由以下几部分构成:1个起始位,总是为0;8个数据位,低位在前;1个校验位奇校验;1个停止位,总是为1。其有效位部分可用两位十六进制数表示。如A 0X1C。
键盘通信时需要四根连接线,电源线、地线、时钟线CLK、数据线DATA。DATA和CLK是可双向通信的 I/O线,也就是说 通过这两根线,既可以把主机的数据发送到PS/2设备,又可以把设备的数据发向主机。 在无键按下时,DATA和CLK一直处于高电平状态。但有键按下时,键盘先检查CLK,看它是否处于高电平,如果是处在低电平,说明主机无空闲接收数据,这时键盘将会把数据放在自己的缓冲区.直到CLK重新被拉高。键盘
时钟首先产生一下降沿,这时已在数据线上产生信号,如起始位,总是为0。之后每一个时钟周期时钟电平为高时数据线上加将要输出的电平,在时钟的下降沿它将被主机读取。键盘发送两种码:扫描码及断开码,当键按下时发送扫描码,而键松开时发送断开码。断开码一般是在扫描码的基础上加上0xf0以示区别,其作用是通知主机键盘一松开可以接收下一键值。这样键盘就完成了与主机的通信。

3.2数据接收原理:将单片机的一引脚与键盘的数据发送引脚相接,设置此引脚为输入,当此引脚的电平发生变化时,将电平的数值纪录下来.同时采取同样的方式将单片机另一引脚与键盘的clock引脚相连.将纪录下来的数值用led的亮灭显示出来,这样便可以确定所读出的扫描码是否与PS2键盘协议中的扫描码对应,以便对程序进行调试.在正确检测到键盘的扫描码之后,将其翻译成所对应的键盘值并且通过特定的软件模块显示在液晶屏上。
系统分类:
单片机 | 用户分类:
单片机 | 来源:
原创 | 【推荐给朋友】 | 【添加到收藏夹】