微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于单片机的电脑弹簧机按键板的设计与实现

基于单片机的电脑弹簧机按键板的设计与实现

时间:02-06 来源:互联网 点击:

每一位数据的发送都是按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

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

网站地图

Top