基于AT89C51的操控键盘的设计

发布者:omicron25最新更新时间:2015-07-31 来源: eefocus关键字:操控键盘  PC机  按键 手机看文章 扫描二维码
随时随地手机看文章
引 言 

在一些自动化测量或智能设备中,微机作为控制中枢,对多个功能单元进行控制与管理,以实现仪器设备的系统功能。键盘是人机通信的基本设备,操作者通过它完成对设备的操控。PC机通用键盘是与主机分开的独立设备,其结构外形已经固定,需要较大的安装空间。但在所研制的产品设备中,系统上电运行后,往往只需通用键盘中的少量按键即可完成人机通信或控制,如数字键O~9、→、←、↑、↓、Esc等按键。在这种情况下,因为结构尺寸的限制,并为了使操控方便、设备简化等,不便采用通用键盘,而需使通用键盘小型化,并且与产品设备融为一体。因此需要研制小型一体化专用键盘。 

采用小型一体化专用键盘不但可完成按键的功能,而且要求根据仪器外形进行一体化优化设计,使产品外型美观、布局合理。小型一体化专用键盘不仅适用于一般的仪器控制系统,而且可以用于军工加固计算机系统中。军工产品中的微机多为加固PC类计算机,其采用PC机通用键盘。本文以PC机通用键盘为例,阐述研制小型一体化专用键盘的方法。 

1 设计原理 

PC机通用键盘通过“PS/2”5芯电缆与主机相连。该5芯电缆是键盘与主机之间信息与数据传输的路径,定义如下:1端,RESET;2端,+5 V;3端,CLOCK;4端,地;5端,按键波形。其中1、2、4端的信号由主机内部确定;3端为时钟信号CLOCK;5端为按键波形,此波形随按下按键的不同而变化。 

采用本文介绍的单片机控制系统和软件编程的方法,可以准确模拟按键波形,使小型专用键盘的按键波形与PC机通用键盘对应按键波形一致。具体方法如下:首先用示波器测出PC机通用键盘各按键按下时的波形,并保存起来;然后用单片机控制系统和软件编程模拟出各按键的CLOCK波形和按键波形,并确保各按键的CLOCK波形和按键波形时序匹配、形状逼真,再将按键信息通过5芯电缆传输给主机。所选按键可根据需要安装在产品的面板上等易于操作的地方。当操作者按下某键时,单片机控制系统产生相应的CLOCK波形与按键波形送给主机,实现按键功能。这样就完成了小型专用键盘的设计。 

2 硬件电路及软件 

2.1 单片机控制电路 

采用单片机系统实现小型专用键盘的硬件电路,如图1所示,设计完成的小型专用键盘的按键有18枚,排成6行×3列的矩阵。单片机可根据需要安装在主机内部的接口板上,按键则安装在产品的面板等易操作的地方。当按下某按键时,单片机控制系统将产生的CLOCK信号与按键信号通过“PS/2”5芯电缆传送给主机。此硬件电路简单,可充分利用软件编程来模拟按键波形,实现键盘功能。系统要判断某一按键是否按下,可以利用软件逐一查询6行×3列矩阵中的按键,然后输出相应的按键模拟波形,从而实现按键功能。 

2.2 举 例 

下面以按键“8”为例,说明如何从PC机通用键盘中“取出”所需按键,并保持各按键功能,形成小型专用键盘。首先用示波器测出在PC机通用键盘上按下“8”键时,5芯键盘通信电缆的3端和5端的波形。按键“8”的波形测量波形如图2所示。 

示波器通道1指示信号电缆3端的CLOCK波形,通道2为电缆5端的按键“8”的波形。用单片机软件编程模拟图2所示波形。按照图1所示硬件电路,编程使单片机89C51的P2.4端产生CLOCK波形,P2.6端产生按键波形;P2.4端与5芯键盘电缆的3端相连,P2.6端与电缆的5端相连。当操作者按下产品面板上的“8”键时,程序执行模拟“8”键波形的子程序,并将模拟出的波形传送给主机,这样就完成了按键“8”的设计。用同样的方法,可以设计出小型专用键盘上其他按键。 [page]

3 设计中要注意的问题 

3.1 准确地模拟按键波形 

每一枚按键的波形包括电缆3端的CLOCK波形与电缆5端的按键波形。各按键的CLOCK波形相同,如图2所示通道1的波形,由10个脉宽为40μs且间隔也为40μs的脉冲和1个脉宽为500 μs的脉冲形成CLOCK波形;而5端的按键波形则因按键的不同而各异。要准确地模拟按键波形并使之时序匹配,即准确地计算出脉冲的宽度,必须精确地计算出时间常数,做好延时程序。如果单片机控制电路采用12 MHz晶振,则一个机器周期为1μs,时间常数X的计算公式为: 

(循环体字节数)×机器周期×时间常数X=延时时间 

在上式中,循环体字节数、机器周期、延时时间都已知,则时间常数x易求得。例如,延时1 ms程序如下: 

利用上面公式可得到:(1+1+2)×1×X一1 000 μs则X=250μs,将其带入上面的程序段中,执行该段程序,能实现1 ms精确延时。准确地计算出时问常数,精确地实现延时,就能确保模拟波形的准确性。3.2按键的抖动问题 

凡有按键操作的系统,在设计中一般都要考虑按键的去抖。由于按键的机械触点有弹性作用,在闭合及断开瞬间均有抖动过程,抖动的时间长短与开关的机械特性有关,一般为5~lO ms。为了保证按键的1次闭合仅作1次按键输入处理,就必须消除按键抖动对系统的影响。 

采用软件编程消除按键抖动影响的方法是:当检测到某一按键按下时,执行相应模拟按键波形的子程序后,应再判断该键是否弹起,若没有弹起则等待,直至按键弹起;按键弹起后,延时20 ms再继续执行后面的程序,以消除按键抖动现象。 

3.3 同行多个按键同时有效的问题 

当有按键操作,按下某一键时,可能出现该键同一行线上的其他多个按键同时有效的现象。采用屏蔽非当前列线的方法可解决这一问题:当检测有无键按下时,须对列线和行线依次扫描,当扫描至某一列线时,该列线置“O”,同时其他列线置“1”,这样就屏蔽了非当前列线,从而准确地判断出某键是否按下。 

3.4 按键波形被吃掉的问题 

有些按键的波形只有1段,如图2所示“8”键的波形;而有些按键的波形有2段或2段以上,如图3所示“十”上移键的波形。2段波形间隔1.6 μs,用单片机仿真按键波形时,可看到第1段波形形成后,其后3 ms的时间内时钟CLOCK保持低电平,导致按键第2段波形被吃掉。为了解决这一问题,在模拟具有2段以上波形的按键时,在2段波形之间应加入3 ms的延时,使按键的第2段波形脱离时钟CLOCK的低电平区。这样按键的第2段波形就不会被吃掉,从而保证了按键波形的完整,实现按键功能。 

结 语 

采用本文介绍的设计方法制作的小型一体化加固机专用键盘,已应用到产品中,其功能稳定可靠,取得了良好效果。实际工作中,可根据产品的结构特点和需要,应用该设计方法研制小型一体化专用键盘,具有推广意义。
关键字:操控键盘  PC机  按键 引用地址:基于AT89C51的操控键盘的设计

上一篇:基于AT89S52的智能快速充电器控制系统的设计与实现
下一篇:基于嵌入式器件AT89C51SNDlC的电子治疗仪设计

推荐阅读最新更新时间:2024-03-16 14:26

基于电场传感器MC33794的触摸按键设计
  引言   随着触摸按键技术的不断发展,触摸式按键已经在电器、移动电话、厨房设备、家电产品、工控开关等方面大量应用。触摸式按键与传统的机械按钮、塑料薄膜开关相比具有很多优势,如不存在机械磨损,耐用性好,可靠性较高,而且触摸式按键界面更直观、更易于操作。   电场传感器MC33794是Freeseale公司推出的一种新型传感器产品,适用于需要对物体非触摸式感应的应用。利用MC33794设计了一种新型的触摸按键控制系统。该触摸按键系统通过电场传感器的电极,可以非接触感知手指的按键情况。该系统设计只需一个微控制器和MC33794就可实现对按键的触摸检测和控制,电路相对简单,适用于许多家用电器。    2 电场传感器MC33794
[单片机]
单片机定时器占空比按键调整Proteus仿真程序
仿真原理图如下 单片机源程序如下: #include reg52.h #define uchar unsigned char #define uint unsigned int uchar COUNT100,PWMCOUNT; /*LCD 端口定义*/ sbit RS=P3^7; sbit RW=P3^6; sbit E=P3^5; sbit PWM=P1^0; sbit K1=P3^0;//加1 sbit K2=P3^1;//减1 sfr LCDData=0x80;//0x80--P0,0X90--P1,0xa0--P2,0xb0--P3 /************液晶驱动程序**********
[单片机]
单片机定时器占空比<font color='red'>按键</font>调整Proteus仿真程序
MSP430 DM430-A开发板学习笔记(五)IO中断方式来实现按键检测
1.按键说明 在MSP430开发板中,有四个按键连接到P1,即 2.中断流程图 中断流程图如下,在用C语言实现我们想要的功能的时候,我们可能需要使用switch、if语句对某些变量进行多次判别,这样会加长我们的代码并且不易观看,使用外部中断的好处就是: 1.可以在中断服务程序中对变量的值进行修改,从而达到随时更改变量值的目的 2.对一些变量可以进行单独控制,减少主程序代码的长度 3.中断配置 我们要开启P1口的低四位中断,使用下降沿触发中断,意思就是,我们按下按键,某个p1口由高电平状态→低电平状态,便产生了一个下降沿,从而触发了中断程序,代码如下: //*******************************
[单片机]
MSP430 DM430-A开发板学习笔记(五)IO中断方式来实现<font color='red'>按键</font>检测
4个独立式按键控制LED移位
程序源代码: /* 4个独立式按键控制LED移动 */ #include reg51.h typedef unsigned char uint8; typedef unsigned int uint16; void delay(uint16 x) { uint16 i,j; for(i = x; i 0; i --) for(j = 114; j 0; j --); } uint8 i = 0,j = 0; void Move_LED() { if ((P1 & 0x01) == 0x00) i = (i - 1) & 0x07; else if((P1 & 0x02) == 0x00) i = (i
[单片机]
4个独立式<font color='red'>按键</font>控制LED移位
51单片机 4个独立按键控制LED灯 (protues仿真)(C语言版)
一、思路及相关问题 1、逻辑思路: 当按下key1时 led1亮起来 因为按下去具有瞬时性不用while,用if语句,当松开时,用while(!key1) ,函数调用。 先在脑海里想象它的大致运行过程,其次在仿真软件protues上摆好元器件并连接,最后用keil4写对应代码。 需注意keil4软件上的设置如波特率,添加文件,勾选等等。 至少要了解C语言程序设计的基本功。 2、关于消抖: 通常的按键所用开关为机械性开关,当机械触电断开、闭合时、由于机械触点的弹性作用,一个按键开关在闭合时不会马上稳定的接通,在断开时也不会一下子断开、因而在闭合及断开的瞬间均伴随有一连串的抖动,为了不产生这种现象而作的措施就是按键消抖 按
[单片机]
51单片机 4个独立<font color='red'>按键</font>控制LED灯 (protues仿真)(C语言版)
基于nRF401的PC机无线收发模块的设计
    摘要: 介绍了基于nRF401无线收发芯片的PC机串口通信模块和PC机ISA插槽通信模块的设计思路实现方案。通过该两种模块可以方便地实现PC机数字信号的载频传播,使计算机之间的无线数据传输成为可能。     关键词: 无线收发 nRF401 串口 ISA ActiveX 很多PC机应用系统需要增加无线数据传输功能。本文基于挪威NORDIC公司最新推出的单片无线收发一体芯片nRF401,设计出两种无线通信模块:具有标准RS232C接口的串行模块和具有标准PC机ISA总线插槽的通信模块。系统由基于nRF401的高频头(UFH)和连接PC机的接收适配器(ADAPTER)两部分组成。 1 高频头设计
[网络通信]
单片机独立按键检测程序
/******************************************************** 功能:独立按键测试 时间:2010—7—17 **********************************************************/ #include reg52.h sbit key1=P3^0; sbit key2=P3^1; sbit key3=P3^2; sbit key4=P3^3; void delay(unsigned int cnt) { while(--cnt); } main() { P2=0x09; while(1) {
[单片机]
电容感应式触摸按键方案在电磁炉中的应用
1 引言 相较于机械式按键和 电阻 式触摸按键,电容式触摸按键不仅耐用,造价低廉,机构简单易于安装,防水防污,而且还能提供如滚轮、滑动条的功能。但是电容式触摸按键也存在很多的问题,因为没有机械构造,所有的检测都是电量的微小变化,所以对各种干扰敏感得多。ST针对家电应用特别是电磁炉应用,推出了一个基于STM8系列8位通用微控制器平台的电容式触摸感应方案,无需增加专用触摸 芯片 ,仅用简单的外围 电路 即可实现电容式触摸感应功能,方便客户二次开发。 2 方案介绍 ST的电容式触摸按键方案通过一个电阻和感应电极的电容CX构成的阻容网络的充电/放电时间来检测人体触摸所带来的电容变化。如图1所示,当人手按下
[电源管理]
电容感应式触摸<font color='red'>按键</font>方案在电磁炉中的应用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved