基于单片机的电脑弹簧机按键板的设计与实现
每一位数据的发送都是按PS/2协议的时序要求所编写的。接收数据子程序用于接收主机发来的数据帧,每一位数据的接收也是由时序规定的。行列扫描子程序作用是对按键板上键的识别,并将该键对应的码发送到按键缓冲区暂存起来。PS/2协议中,当一个键被按下或按住时就发送该键的通码 (MAKE),被释放时就发送断码(BREAK),每个按键都被分配了唯一的通码和断码(协议中统称为扫描码),这样主机通过扫描码就可识别按键的类别。在弹簧机的按键板中,因为面板中的键不全是标准的,对于那些自定义的键,可将该键与一标准键的扫描码对应起来,例如可将面板中的“启动”与标准键“A”对应,这样当“启动”被按下时,发送给主机的就是字母“A”的扫描码,通过重定义主机系统中的相关控制部分,就可实现启动弹簧机的功能。发送键码子程序用于发送按键缓冲区中的数据。而对于面板中的“锁键”,实现的是面板的锁死,在工控系统中,这个对于操作系统的可靠性是很有必要的,当该键按下时,则不发送缓冲区中的数据,同时清空缓冲区,多按一下则可解锁。为了防止死机现象的发生,在主程序的循环中加入软件看门狗。软件实现的流程图见下图:
图5 软件流程图
三.结论
本文介绍的电脑弹簧机按键板具有结构简单,设计灵活,安全可靠的特点,可在DOS及WINDOWS的系统中使用。作为一弹簧机的按键板,其已在实际中得到成功的应用。本设计也可广泛运用于以PC机为主机的控制系统中,可以根据实际需要,改变按键的阵列以及按键的功能,因而应用本设计可以实现丰富多彩的控制设备中所需的非标准的PC机键盘。
参考文献:
[1] Adam Chapweske. PS/2技术参考. Roy Show 译. 2002
[2] 何立民. MCS-51系列单片机应用系统设计系统配置与接口技术[M]. 北京: 北京航空航天大学出版社. 1999.6
[3] 何立民. 单片机高级教程-应用与设计[M]. 北京:北京航空航天大学出版社. 2000.8
[4] 赵亮,候国锐. 单片机C语言编程与实例[M]. 北京:人民邮电出版社. 2003.9
- 基于FPGA的DSP设计方法(08-26)
- 电力电子装置控制系统的DSP设计方案(04-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)