1.功能描述
KC-103为单片机按键板,可以与KC-10151单片机最小系统核心板进行连接,板子小巧,做工优良,板子按键种类齐全,包括直控按键、矩阵键盘、PS/2键盘接口,同时带有外扩展插针。KC-103单片机键盘板模块如图11-25所示。
图11-25 KC-103单片机键盘板模块
2.硬件资源描述
1)4个I/O口直控按键:非常实用的键盘,通过简洁的程序即可完成键盘输入控制,编程方面更不需要像矩阵键盘那样绞尽脑汁。
2)4×4矩阵键盘接口:共16个键位,可以试验和仿真相关教程的键盘有关的程序。
3)PS/2链盘接口:支持PS/2接口的104键标准键盘的解码试验,大家也许还觉得上述这些不够过瘾,那就再看看板上的PS2接口,一个足以让常用按钮键盘退休的强悍接口。通过随机光盘中的例程,大家一旦玩转了PS接口键盘,我们会突然发现单片机竟然可以接这么强大的键盘。写好程序就一切“OK”了,此例程是一个“键盘指法练习器”。在此,我们会发现单片机简直是个万能器件,它真是太神奇了。
3.硬件接口描述
J1(H1~H4):矩阵键盘的4条行线。
J1(L1~L4):矩阵键盘的4条列线。
J2:直控按键(S17~S20)的接口。
J3:PS/2标准键盘接口。
4.电路原理与元器件分布
电路原理和元器件分布如图11-26所示。
图11-26 电路原理和元器件分布
a)电路原理
(www.xing528.com)
图11-26 (续)
b)元器件分布
5.模块相关背景知识
直控按键、矩阵键盘的接线及使用方法请参考本书前面部分。
(1)PS/2键盘接口
早期的键盘实际上是一种5pin的键盘,称为AT键盘,是1984年IBM PC的标准键盘。在1987年IBM进行了改进,从而变成了现在的PS/2键盘。
当按下一个键或释放一个键,键盘都会发送键盘扫描码到主机。比如按A,键盘就会发送0x1C到主机。如果持续按A,当经过一个给定时间后,就会发送0x1C到主机。当键盘被释放,键盘会发送0xF0加键码到主机,告诉主机键盘哪个键被释放。当再次按下A,键盘就会再次发送0x1C到主机。键盘的每一个键都有一个特定的键码,无论SHIFT、Num Lock、Caps Lock、Scroll Lock键是否被按下,键盘总是发送同样的键码,主机的键盘BIOS负责区分SHIFT、Num Lock、Caps Lock、Scroll Lock键的状态。键盘有101个键,而PS/2接口只有8比特。因此,并不是所有的键都只有一个字节的键码。扩展键盘中有一些键的键码是双字节的,以E0开头,比如向左键为E06B。有些键的扫描码非常夸张,比如Pause Brk键的键码为E1177E1F014F077!。
(2)PS/2协议
PS/2协议是外设与主机之间通信的一种同步双向串行协议。在该协议中主机拥有较高的优先级,在一定条件下可以终止外设正在进行的发送过程。PS/2协议采用的传送数据帧的格式为:1位起始位(0)、8位数据位、1位奇偶校验位、1位停止位(1)。数据发送时低位在前,高位在后。外设每收到主机发来的1帧数据,都要紧随该帧的停止位发送一个握手位ACK(0)应答主机。然后,外设还要发1帧应答数据(0xF0),表示外设已经完整地接收到了主机的命令;而主机则不需发送握手位,也不需要发送应答帧。
(3)C语言实例程序
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。