微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 基于89C52的计算机专用键盘设计

基于89C52的计算机专用键盘设计

时间:11-15 来源:21IC 点击:
2.1.3 键盘响应

键盘在下列四种情况下都会向键盘接口发送数据。
(1)按下任一键,键盘以拍发速率向接口发送键盘接通扫描码。
(2)释放所按下的键,键盘发送断开扫描码。
(3)系统向键盘发送键盘命令后,键盘回送应答。
(4)当用户按键速度超出键盘所能容纳的最大键个数时,键盘做出响应。

后三种情况称为键盘响应。响应字节有7个,定义如下。
①FEH:重新发送响应。当键盘收到一个无效的键盘命令,或者检测到奇偶错的键盘命令时,键盘回送响应字节为FEH,要求系统重发键盘命令。
②FAH:正常应答。对任何一个有效的键盘命令,键盘回送FAH予以响应。
③00H:超限应答。当用户按键速度超出键盘所能容纳的最大键符个数时(16个字节的缓冲器),键盘发送00H。
④FDH:诊断故障应答。键盘接受软件复位命令,执行自测试过程中。若检测到故障,则以FDH应答。此时,键盘停止扫描并等待下一个键盘命令。

⑤AAH:诊断正常应答。键盘在软件复位过程中,正常完成BAT测试,以AAH应答。
⑥EEH:回响命令的应答,对键盘EEt{命令的应答。
⑦F0H:断开扫描码前缀,键盘对键符按下后释放的应答,第一个字节为F0H,第二个字节为接通扫描码(有几个键例外)。

3 硬件设计

图1为电路结构框图,电路核心为单片机AT89C52,工作频率为8~11 MHz。图中可以看出,89C52单片机有4个8位I/O端口,因此可以采用PO再加上P2口的4个(P2.0到P2.5)作为行扫描线。P1口作为列输入线(如果用PO口作列输入线,必须加上拉电阻)。采用P3.0、P3.1作为数据线和时钟线与PC系统进行通信,用P3.4、P3.5、P3.6控制键盘上的3个指示灯。硬件原理如图1所示。键盘与计算机通过一个五芯(PS/2接口为六芯)插座相接,4个有效引脚的定义分别是电源(VCC)、地(GND)、串行时钟线(SCK)、串行数据线(SIO)。


4 软件设计

(1)消抖及重键处理:通过软件上延时程序来消除抖动;采用后按键优先处理,即多键同时按下时,只重复发送最后按下键的扫描码。


(2)程序包括键盘扫描子程序、发送键码子程序、发送数据子程序、接收命令子程序、定时器1中断服务程序、主程序等。键盘扫描子程序用于扫描键状态,将被按键的位置号存入缓冲器中;发送键码子程序用于将缓冲区键的接通码或断开码发送给计算机键盘接口或者存在键盘密码缓冲区中;发送数据子程序用于将数据发给计算机键盘接口;接收命令子程序用于接收计算机键盘接口发来的键盘命令;定时器1中断服务子程序用于给程序中的延时提供标准时钟,并具有软件看门狗功能,防止软件出现死机现象;主程序用于系统初始化,子程序调度,锁定状态的显示等。图2~4是主要软件模块的流程图。


5 结束语

该键盘的设计从软、硬件都作了周密考虑,可靠性好,稳定性强,特别适合部队野外训练使用。本键盘可以在标准的键盘基础上进行改造,只需换掉原来的控制芯片即可,可节省设计成本。具有很好的发展前景。

编辑:博子

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top