作为主要输入设备之一的键盘,在完成其主要功能一一将输入
数据送往计算机时,需要
键盘和
计算机、
软件和
硬件协同工作。
键盘的功能就是及时发现被按下的键,并将该键的信息送入
计算机。实际上,这一工作是由键盘控制电路来完成,即由发现下按键位置的键扫描电路,由编码电路产生被按下键
代码,并将产生代码送入计算机的
接口电路,但在产生代码过程中,有两种不同的代码,依据传送代码,计算机键盘分为编码键盘和非编码键盘。
1、编码键盘是键盘控制电路在某个键被按下时,应能提供该按键所代表的信息代码(如
ASCII码),并以并行或串行信号输给
CPU。编码键盘响应快,但它以复杂的硬件结构为代价,而且其复杂性随着按键功能的增加而增加。
2、非编码键盘只简单提供键盘矩阵中被按键的行列坐标,作为键盘接口的输入信息。整个键盘的输入过程全部由软件(键盘控制程序)控制完成。它可以通过软件为键盘的某些按键重新定义,为扩充键盘功能提供了极大的方便,得到广泛使用,微机所采用的便是非编码键盘。
主程序调用传送程序将得到的行列坐标码通过键盘与主机第三条连线传送给位于主机内的键盘
接口电路。
键盘输入信息经接口传向
CPU,是采用中断方式完成的。接口在接到键盘传来的信息后向中断控制器发一键盘中断请求信号(09H号中断),中断控制器对键盘接口口中断请求进行处理,传向CPU。
键盘为接口传送数据时以串行方式提供的,CPU内部数据以并行方式传送,在给CPU提供数据时须将串行数据化为并行数据,因此,键盘接口将数据传向具有串并转换功能的并行接口芯片,并行芯片在接收到数据后将数据转换为并行数据并保存。
键盘在接收和传送按键时,每次只能以一个键的单位进行,即在接收到一个键值后要等该值被CPU接收才能继续接收下一键值,为了确保这一过程的实现,键盘接口在接收到键盘传送来的信息后会向键盘通过连线发送一禁止键盘工作的信号,这一信号持续时间极短,对用户不会产生影响。