浅谈键盘技术应用及实现方案Word文件下载.docx

上传人:b****3 文档编号:15759013 上传时间:2022-11-15 格式:DOCX 页数:14 大小:293.79KB
下载 相关 举报
浅谈键盘技术应用及实现方案Word文件下载.docx_第1页
第1页 / 共14页
浅谈键盘技术应用及实现方案Word文件下载.docx_第2页
第2页 / 共14页
浅谈键盘技术应用及实现方案Word文件下载.docx_第3页
第3页 / 共14页
浅谈键盘技术应用及实现方案Word文件下载.docx_第4页
第4页 / 共14页
浅谈键盘技术应用及实现方案Word文件下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

浅谈键盘技术应用及实现方案Word文件下载.docx

《浅谈键盘技术应用及实现方案Word文件下载.docx》由会员分享,可在线阅读,更多相关《浅谈键盘技术应用及实现方案Word文件下载.docx(14页珍藏版)》请在冰豆网上搜索。

浅谈键盘技术应用及实现方案Word文件下载.docx

随着计算机技术的不断发展,如今鼠标应用越来越广泛,但在文字输入领域,键盘依旧有着不可动摇的地位。

作为重要的输入工具,键盘并不因循守旧,为了顺应潮流,向着多媒体、多功能和人体工程学方向不断研发,凭借新奇、实用、舒适,不断巩固着输入设备巨人的地位。

本论文简单说明键盘的应用与实现方案。

本文简单介绍了键盘的发展史及键盘的工作原理。

概述了8086、AT89C51作为CPU如何接,进行了键盘扫描电路的硬件设计,介绍按键式和编码式两种方法。

着重就矩阵式键盘做了详细说明,设计了主程序及子程序。

关键词:

键盘;

矩阵式;

键盘扫描电路;

程序设计。

一、引言

1873年的肖尔斯打字机以“QwERTY”布局排列键盘最初只是为了减慢打字的速度,而在推广这种打字机的时候,发明者们说这是最科学的排列方法,能够有效地提高打字速度。

这一谣言被人们相信了接近100年之久。

早期键盘实物图见图1。

图1早期键盘图

今天的计算机键盘虽然无论是材质还是原理都和打字机相差甚远,但是键位的排列是相同的。

这种现象被叫做“路径依赖”:

当人们一旦做出了某种选择,惯性的力量就会让选择不断自我强化。

即便有更好的方案,也因为改变的成本太高而不得不被放弃。

今天的键盘布局,可以追溯到140年之前的灵机一动和120年前的一次意外,但是它们却能够决定了今天数十亿人的使用习惯。

计算机键盘和打字机之间的血缘关系一望可知。

今天的键盘看起来和IBM公司在上世纪50年代开发的电动打字机键盘十分相似,而再向前追溯,则是更早的机械打字机。

它的历史可以追溯到18世纪早期——为了让盲人也能够书写,1714年,一位名叫亨利·

米尔的英国人申请了打字机的专利。

可惜他的专利文献和设计图现在都已经遗失,我们再也无缘看见世界上第一部打字机是什么样子。

显然,这种小众工具没能流行开来。

那个时代的人们依然满足于用手书写,他们对速度和整齐的要求似乎还不是很高。

直到资本主义变得越来越成熟,人们对文字的需求越来越大的时候,打字机的市场才真正开始培育起来。

在十九世纪,人们已经设计出了数十种打字机:

从能够打出精美的印刷字体的到模仿手工书写的,一应俱全。

早期的打字机有一个问题。

当按下一个按键后,会拉动一根钢丝,钢丝连接着上方字盘中的杠杆,每个杠杆末端都有一个字母的凸模,把字母像是盖章那样敲在纸面上。

如果打字速度过快的话,上方的杠杆往往来不及弹回,就会卡住。

不得不承认,解决这个问题的办法很有创意。

肖尔斯找到了他的妹夫詹姆斯-登斯莫尔帮忙,而这位数学老师建议减慢打字的速度,以尽可能避免卡键的状况。

他认为把字母乱序排列会有好处。

事实上这种以“QWERTY”布局排列的打字机的确减少了卡键的发生,而在推广这种打字机的时候,发明者们说这是最科学的排列方法,能够有效地提高打字速度。

英国打字机博物馆馆长、《打字机世纪》一书的作者威尔弗雷德·

比彻声称,“这种所谓科学安排以减少手指移动距离的说法,是彻头彻尾的谎言。

”,而且,“对字母的任何一种随机性的安排,都会比现在这种安排合理。

”虽然今天的卡键问题早已不存在了,但是这种布局已经固定了下来。

直到今天,我们还会在大多数英文键盘上看到它,完全无法想象,在过去的100年里,它浪费了多么惊人的时间。

二、浅谈键盘技术应用及实现方案

(一)8086作为CPU如何接

Intel8086集成2.9万只晶体管,时钟频率为4.77MHz,内部数据总线(CPU内部传输数据的总线)、外部数据总线(CPU外部传输数据的总线)均为16位,地址总线为20位,可寻址1MB内存。

Intel8086拥有四个16位元一般的暂存器,也能够当作八个8位元暂存器来存取,以及四个16位元索引暂存器(包含了堆栈指标)。

资料暂存器通常由指令隐含地使用,针对暂存值需要复杂的暂存器配置。

它提供64K8位元的输出输入(或32K16位元)埠,以及固定的向量中断。

大部分的指令只能够存取一个内存位址,所以其中一个运算子必须是一个暂存器。

运算结果会储存在运算子中的一个。

Intel8086有四个内存区段(segment)暂存器,可以从索引暂存器来设定。

区段暂存器可以让CPU利用奇怪的方式存取内存的1MB。

在现今有区段的处理器中,8086把区段暂存器左移4位元然后把它加上去位址。

大部分的人都认为这是一个很不好的设计,因为这样的结果是会让各区段有重叠。

尽管这样对组合语言而言大部分被接受(也甚至有用),可以完全地控制区段,但是在语言中,让使用指标(像是C编程语言)变得困难。

它导致指标的高效率表示变得困难,且有可能产生两个指向同一个地方的指标拥有不同的位址。

更坏的是,这种方式产生要让内存扩充到大于1MB的困难。

而80286的寻址方式改变让内存扩充较有效率。

(二)AT89C51作为CPU如何接,比较之后用AT89C51

AT89C51是一种带4K字节FLASH存储器(FPEROMFlashProgrammableandErasableReadOnlyMemory)的低电压、高性能CMOS8位微处理器,俗称单片机。

AT89C2051是一种带2K字节闪存可编程可擦除只读存储器的单片机。

单片机的可擦除只读存储器可以反复擦除1000次。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。

AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

外形及引脚排列如图2所示。

图2AT89C51结构框图

三、键盘扫描电路的硬件设计

单片机键盘根据不同的驱动控制方式,大体可分为两大类,一类是独立式键盘;

一类是矩阵式键盘。

独立式键盘是键盘发展的早期阶段,应用在对按键复杂度要求较低的设备上。

独立式键盘的原理非常简单,就是将单片机的I/O口(输入/输出口)与按键物理连接起来,键盘有多少按键,每个按键都要和单片机的一个I/O口相连。

这样设计的优点是结构简单,不需要过多的连线。

但是缺点也非常明显:

常见的80系列单片机总共只有四十个端口,而I/O口只有三十二个,一个键盘就占去了其中大部分的I/O口,那单片机就没有足够的端口去控制其它设备了。

(一)按键式和编码式

1.简要说明一下键盘的工作原理:

按键设置在行、列线交点上,行、列线分别连接到按键开关的两端。

行线通过上拉电阻接到+5V电源上。

无按键按下时,行线处于高电平的状态,而当有按键按下时,行线电平与此行线相连的列线电平决定。

2.行列扫描法原理第一步,使行线为编程的输入线,列线是输出线,拉低所有的列线,判断行线的变化,如果有按键按下,按键按下的对应行线被拉低,否则所有的行线都为高电平。

第二步,在第一步判断有键按下后,延时10ms消除机械抖动,再次读取行值,如果此行线还处于低电平状态则进入下一步,否则返回第一步重新判断。

第三步,开始扫描按键位置,采用逐行扫描,每间隔1ms的时间,分别拉低第一列,第二列,第三列,第四列,无论拉低哪一列其他三列都为高电平,读取行值找到按键的位置,分别把行值和列值储存在寄存器里。

第四步,从寄存器中找到行值和列值并把其合并,得到按键值,对此按键值进行编码,按照从第一行第一个一直到第四行第四个逐行进行编码,编码值从“0000”至“1111”,再进行译码,最后显示按键号码。

3.数码管动态扫描原理:

数码管动态扫描原理:

数码管的7个段及小数点都是由LED块组成的,显示方式分为静态显示和动态显示两种。

数码管在静态显示方式时,其共阳管的位选信号均为低电平,四个数码管的共用段选线a、b、c、d、e、f、g、dp分别与CPLD的8根I/O口线相连,显示数字时只要给相应的段选线送低电平。

数码管在动态显示方式时,在某一时刻只能有一个数码管被点亮显示数字,其余的处于非选通状态,位选码端口的信号改变时,段选码端口的信号也要做相应的改变,每位显示字符停留显示的时间一般为1-5ms,利用人眼睛的视觉惯性,在数码管上就能看到相当稳定的数字显示。

通用键盘长按键实现方法及其在输入中的应用方法,属于计算机应用领域。

通用键盘长按键实现方法包括:

创建并安装键盘钩子动态链接程序,当使用键盘时,获取底层键盘消息并记录键盘的“按下消息”和“放开消息”的顺序和次数;

根据重复键与“按下消息”和“放开消息”顺序和次数的关系判断出当前按键是否为长按键。

长按键在输入中的应用方法包括:

监控当前按键是否为长按键,如果是,查询是否存在与当前按键匹配的汉字首编码,如果存在,将修改光标定位到对应的汉字或编码上,更新显示提示行并等待修改。

本发明通过识别通用键盘的长按键,实现了输入时快速定位和修改错误汉字功能,明显地增强了通用键盘的实用功能。

(二)矩阵式

1.4*4矩阵式键盘识别显示系统概述

矩阵式键盘模式以N个端口连接控制N*N个按键,实时在LED数码管上显示按键信息。

显示按键信息,省下了很多的I/O端口为他用,相反,独立式按键虽编程简单,但占用I/O口资源较多,不适合在按键较多的场合应用。

并且在实际应用中经常要用到输入数字、字母、符号等操作功能,如电子密码锁、电话机键盘、计算器按键等,至少都需要12到16个按键。

矩阵式键盘简介:

矩阵式键盘又称行列键盘,它是用N条I/O线作为行线,N条I/O线作为列线组成的键盘。

在行线和列线的每个交叉点上设置一个按键。

这样键盘上按键的个数就为N*N个。

这种行列式键盘结构能有效地提高单片机系统中I/O口的利用率。

最常见的键盘布局如图1所示。

一般由16个按键组成,在单片机中正好可以用一个P口实现16个按键功能,这也是在单片机系统中最常用的形式,本设计就采用这个键盘模式。

阵式键盘提高效率进行按键操作管理有效方法,它可以提高系统准确性,有利于资源的节约,降低对操作者本身素质的要求。

2.路硬件说明

(1)在“单片机系统”区域中,把单片机的P1.0-P1.7端口通过8联拨动拨码开关JP3连接到“4*4行列式键盘”区域中的M1-M4,N1-N4端口上[3]。

即将P1口作为整个系统的输入接口电路。

(2)在“单片机系统”区域中,把单片机的P0.0-P0.6端口通过上拉电阻连接到“静态数码显示模块”区域中的任何一个a-g端口上。

(3)此实验采用的是共阴极LED显示块,只有当a-g端口输入高电平时才有效,即显示块中的对应的发光二极管才发光,低电平时不显示,通过a-g端口的不同输入使显示器显示不同的字符。

3.硬件电路设计及电路图

硬件电路设计图如下图3所示。

把单片机的P1.0-P1.7端口通过8联拨动拨码开关连接到“4*4行列式键盘”,其中P1.0-P1.3作为列线,P1.4-P1.7作为行线,把单片机的P0.0-P0.6端口连接到共阴极“静态数码显示模块”区域中对应的a-g端口上;

系统首先通过CPU对全部键盘进行扫描,即把第一根行线置为“0”状态,其余行线置于“1”状态,读入输入缓冲器的状态,若其状态全为“1”表明该行无键按下,再将第二根行线置为“0”状态,同样读入输入缓冲器的状态,如其状态也全为“1”,则置第一根行线置为“0”状态,以此类推[5]。

如读入输入缓冲器的状态不全为“1”,确定哪一根列线为“0”状态,当某个键的行线和列线都为“0”状态时,表明该键按下。

最后通过显示程序将该键的序号显示出来。

图3硬件电路图

四、程序说明及其流程图

(一)汇编程序

KEYEQU30H

ORG0000H;

入口地址

SJMPSTART

START:

MOVP0,#00H

JIXU:

MOVP1,#0FFH;

判第0行是否有键按下

CLRP1.4;

将P1.4清零

MOVA,P1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 法律文书 > 判决书

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1