计算机标准键盘设计.doc_第1页
计算机标准键盘设计.doc_第2页
计算机标准键盘设计.doc_第3页
计算机标准键盘设计.doc_第4页
计算机标准键盘设计.doc_第5页
免费预览已结束,剩余6页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

合肥学院第七届电子设计大赛 合肥学院第七届电子设计竞赛设计报告作品名称: 计算机标准键盘的设计F题系 别: 合 肥 学 院 08 级 电 子 系 队员姓名: _ 2011年3月14日11合肥学院第七届电子设计大赛计算机标准键盘的设计F题 摘要:随着微机系统的发展,尤其是嵌入式计算机系统的发展,单片机在实现外设与PC机之间的交流发挥找越来越重要的作用。本文向大家介绍利用单片机如何制作计算机标准键盘。键盘在单片机应运系统中能实现向单片机输入数据,传送命令等功能,是人工干预计算机的主要手段。下面介绍键盘的工作原理,键盘按键的识别过程以及识别方法,以及键盘和计算机的接口技术和编程。 关键字:矩阵键盘;单片机;模块接口;RS-232。1、引言不用专用键盘控制接口芯片,设计一个计算机键盘,能够完成标准键盘所具有的一切功能。1.能实现下面的基本要求:键盘按键较多,要合理排列键盘的位置,才能使键盘扫描程序简单一些;按键要有去抖功能,无论是软件去抖还是硬件去抖; 要能实现标准键盘的一切功能,包括单击按键,连续按键(按住按键不动),和各种组合按键(两个按键或三个按键同时按)等功能;要有串口(RS-232或USB)能够与主机之间进行通讯。2.发挥部分:编写Windows程序,能够接受该键盘所发送的各种字符及命令。2、方案论证与比较2.1设计思路键盘与主机通过键盘插头相接,键盘插头有RS-232和USB两种接口。接口信号有:电源、地、键盘时钟KB_CLK、键盘数据KB_DAT 。正常工作时,键盘电路不断地扫描键盘矩阵。若有键按下,则以串行方式发送按键的位置扫描码给主板键盘接口电路。按下键时,发送接通扫描码,松开键时,发送该键的断开扫描码。断开扫描码一般是在接通扫描码前加一个断开标志字节F0H。若某键一直按下,则以按键重复率连续发送该键的接通扫描码。扫描码与按键的位置有关,与该键的ASCII码并无对应关系。那么我们可以用AT89S52单片机进行处理,利用单片机上的24个I/O端口来设计8*16的行列键盘,用MAX232来实现键盘的接口模块。再通过单片机软件部分来处理信号,从而实现标准键盘的功能。2.2方案比较与选择2.2.1 系统方案方案一:由83键和108键构成的按键阵列,内部集成intel8048片机核心扫描电路,intel8048是一个40个引脚的单片机,8048单片机周期性的执行固化在其ROM中的键盘扫描程序,承担键盘扫描,消除按键抖动,生成扫描码等功能。当有按键按下时,8048产生扫描码,并采用串行通信方式由8048的P22引脚经键盘与PC机相连的五芯电缆将扫描码传送给PC机的键盘接口,同时由8048的P21引脚经键盘与PC机相连的RS_232接口将串行时钟信号传送给PC机的键盘接口,以此时钟的上升沿(或下降沿)来分割串行数据线上的8位扫描码(PC机主板键盘接口接收到P21,P22两个个信号后,完成串并转换工作,并调用硬中断和软中断将键盘扫描码最终传送给PC机的CPU处理.方案二:另外一种方法就是PC键盘与该模块通过专用插座相连,数据KB_DAT接到AT89S52的P3.0引脚,时钟KB_CLK接到引脚。在PC键盘有键按下时,KB_CLK信号会引起AT89S52的连续中断,通过定时器T0与外中断的协同工作,可将PC键盘发出的位置扫描码序列接收至缓冲区中。然后,在主程序中将位置扫描码解码、查表换算,再编码成一字节的WINDOWS虚拟键代码或两字节的OEM扫描码与ASCII码,并存入系统中FIFO栈。在上位单片机可以接收新键值时,将FIFO栈中编码数据以并行或串行方式传送给上位单片机。由以上所述,单片机处理方便,我们采取方案二,即用AT89S52来做标准键盘。2.2.2按键去抖方案一:硬件去抖在键数较少时可用硬件方法消除键抖动。下图所示的RS触发器为常用的硬件去抖。图中两个“与非”门构成一个RS触发器。当按键未按下时,输出为1;当键按下时,输出为0。此时即使用按键的机械性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),中要按键不返回原始状态A,双稳态电路的状态不改变,输出保持为0,不会产生抖动的波形。也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。这一点通过分析RS触发器的工作过程很容易得到验证。利用电容的放电延时,采用并联电容法,也可以实现硬件消抖:方案二:软件去抖如果按键较多,常用软件方法去抖,即检测出键闭合后执行一个延时程序,产生5ms10ms的延时,让前沿抖动消失后再一次检测键的状态,如果仍保持闭合状态电平,则确认为真正有键按下。当检测到按键释放后,也要给5ms10ms的延时,待后沿抖动消失后才能转入该键的处理程序。所以综上所述我们采用方案二。3、系统的硬件设计3.1硬件系统原理图硬件系统原理图3.2单片机核心模块这次我们采用最基础的AT89S52单片机来进行处理,下面是AT89S52的引脚与接口图,以及相关的一些资料。AT89S52模块原理图功能特性描述: AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案AT89S52具有以下标准功能: 8k字节Flash,256字节RAM,32 位I/O 口线看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。另外,AT89S52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。空闲模式下,CPU停止工作,许RAM、定时器/计数器、串口、中断继续工作。掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。3.3键盘按键模块利用AT89S52的P1,P0,P2三个端口来实现8*16的键盘按键,其中P1.0P1.7作为矩阵行线,p0.0P0.7和P2.0P2.7端口作为其矩阵列线,在行列线上加上一个5.1K的限流电阻。具体按键排布如下图所示:矩阵键盘模块原理图3.4键盘输出接口模块 我们这次是用RS232接口,没有用到USB接口,这是为了避免硬件方面的不好实现。当键盘上有按键按下时,经过单片机扫描程序的处理确定其具体位子和相应的功能将ASCII码输出经过MAX232这块片子的电平转换,经过RS-232接口传入PC机,这样就实现人机交流,这其中的重点还是得靠软件来实现。下面是大致的原理图,如下图所示:输出模块原理图4、系统软件设计软件的实现是在我们熟悉掌握矩阵键盘的基础上慢慢拓展而来的,先是键盘扫描程序的编写,类似于简单的4*4矩阵键盘扫描程序,在确定了键盘上那个按键按下之后,第二点就是去除键盘的机械抖动,方法是判别出键盘上有键闭合后,延迟一段时间再判断别的键盘的状态,若果还有闭合,则认为键盘上有一个键处于稳定的闭合期,不然认为键盘有抖动。键盘扫描子程序流程图系统软件流程图5、系统测试 我们可以将做好的标准键盘通过RS232接口与PC机相连,通过在键盘上按键,查看PC机显示屏上的输出情况,以及组合键的功能情况。6、总结由于标准键盘按键比较多,功能比较复杂,对于我们开始参加电子设计大赛的学生来说,难度还是有一点的。但是,经过这几天的各种途径查找资料、请教同学和我们三个人的相互配合下,基本弄清楚了标准键盘的实现以及各个部分的模块化设计。我们用到AT89S52单片机芯片来处理,接口部分我们选择了RS-232接口。通过这几天我们三个人的共同努力下,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论