基于89C52的计算机专用键盘设计

发布者:Whisper123最新更新时间:2012-11-20 来源: 电子元器件应用 关键字:89C52  计算机  专用键盘 手机看文章 扫描二维码
随时随地手机看文章
0 引言
    AT89C52是美国ATMEL公司生产的低电压,高性能,片内含8 k可反复檫写的单片机,具有外围硬件电路简单,体积小,可靠性高,选用其完成键盘的监控任务,在实际应用中,有时侯可能不小心按下键盘的按键,改变了设备或仪器的参数和状态,使系统运行不正常。为计算机安全和防止误触发,需要将键盘锁定,还要对某些键采取屏蔽措施,但是PC标准键盘不能满足这些要求。本文介绍一种用89C52设计实现的可锁定加密PC/AT键盘。另外,本键盘固定于主机操控台,因此,又具有一定的抗振性和密封性。


1 键盘功能及工作原理
    PC键盘功能主要有按键识别、去抖、重键处理、发送扫描码、自动重发、接收键盘命令、处理命令等。键盘有编码键盘和非编码键盘。编码键盘程序设计简单,但硬件电路复杂,价格较高;非编码键盘用软件来实现识别键、编码转换、去抖等功能,硬件电路简单,价格便宜。本键盘采用非编码键盘,14行×8列的二维矩阵行列结构,采用行扫描法识别按下的按键。


2 PS/2协议
    PS/2协议是外设与主机之间通信的一种同步双向串行协议。在该协议中主机拥有较高的优先级,在一定条件下可以终止外设正在进行的发送过程。PS/2协议采用的传送数据帧的格式为:1位起始位(0)、8位数据位、1位奇偶校验位、1位停止位(1)。数据发送时低位在前,高位在后。外设每收到主机发来的1帧数据,都要紧随该帧的停止位发送一个握手位.ACK(0)应答主机。然后,外设还要发1帧应答数据(0xF0),表示外设已经完整地接收到了主机的命令;而主机则不需发送握手位,也不需要发送应答帧。
2.1 键盘到PC键盘接口的通信
    当时钟线和数据线均为高电平时,允许键盘发送数据。系统将接收数据;当时钟线被拉为低电平时,表明系统禁止数据传输。图1给出了发送时序,包含1个低电平触发的起始位、8位数据位、1个奇校验位和1个高电平的结束位。
2.1.1 PC系统到键盘的通信协议
    若时钟线出现高电平,数据线出现低电平,表明系统请求发送,键盘准备产生同步时钟脉冲串,并接收数据。包含了1个低电平触发的起始位、8位数据位、1个奇校验位、1个应答位、1个高电平的结束位。
2.1.2 键盘命令及执行过程
    (1)FFH:复位键盘。系统通过此软件复位命令使键盘进入程序复位和内部自测试,称为基本保证测试(BAT)。复位键盘的过程如下:
    ①键盘收到FFH后立即回送ACK(FAH)作答;
    ②键盘接口收到ACK后,将键盘时钟和数据线置为高电平;
    ③键盘检测到此状态后开始BAT操作;
    ④如果BAT正确完成,键盘发送AAH以表示结束,否则以FDH(或其它任何值)表示诊断有误。
    (2)FEH:重新发送。当系统检测到从键盘送来的任何传输错误时,它便向键盘发送FEH命令。键盘接收到此命令后,将重新送出原来的内容。
    (3)FDH~F7H:空操作(保留未用)。
    (4)F6H:设置缺省值。此命令使键盘所有条件复位到电源接通时的缺省状态,键盘继续扫描。
    (5)F5H:设置缺省值和停止键盘。此命令使键盘所有条件复位到电源接通时的缺省状态,并停止键盘扫描,等待下一个键盘命令。
    (6)F4H:启动键盘。键盘接收到此命令后,用ACK(FAH)作答,清除输出缓冲器,并启动键盘开始扫描。
    (7)F3H:设置拍发速率和延时参数。每当按下任一键时,键盘以拍发速率连续送出键的接通码,直到键被释放为止。延时参数是指按下一键后,键盘输出的响应时间。
    系统缺省设置:拍发速率=10个/s±20%,延时=500ms±20%。
    当要改变设置时可以使用F3H命令,并后跟一个字节的参数。
    计算拍发速率和响应延时的公式如下:
    拍发速率=1/[8+A]×2B×0.004 17](1/s)
    响应延时=(1+C)×250(ms)
    注:缺省的延时参数值为2CH。
    此命令的执行过程如下:
    ①键盘收到F3H命令后,用FAH予以响应,并停止扫描和等待随后的参数;
    ②键盘若收到随后的设置参数,用另一个ACK响应,并按其参数设置新的拍发速率和响应延时,之后重新开始扫描(若键盘原来是开放的);
    ③键盘若收到FAH命令,但无随后的设置参数,则键盘结束命令设置,并保持原来的拍发速率和响应延时,停止扫描。[page]

    (8)F2H,F1H,EFH:保留未用。
    (9)F0H:设置键盘扫描码命令。此命令用于设置键盘的扫描码,后跟参数指定三种扫描码的哪一种。键盘复位时,默认扫描码是第二种。
    (10)EEH:回送命令。此命令用于辅助诊断,要求键盘接收到EEH时也要回送
    EEH予以响应。若键盘原来是开放的,则继续扫描。
    EDH:置位/复位LED指示器。键盘右上角有三个LED指示器,分别反映Caps、Num和Scroll三个键的锁定情况。
    此命令执行过程与F3H相似。若命令后跟参数,则按参数设定LED状态并继续扫描。若仅有命令无参数,则不改变LED原状态,并停止扫描。
2.1.3 键盘响应
    键盘在下列四种情况下都会向键盘接口发送数据。
    (1)按下任一键,键盘以拍发速率向接口发送键盘接通扫描码。
    (2)释放所按下的键,键盘发送断开扫描码。
    (3)系统向键盘发送键盘命令后,键盘回送应答。
    (4)当用户按键速度超出键盘所能容纳的最大键个数时,键盘做出响应。
    后三种情况称为键盘响应。响应字节有7个,定义如下。
    ①FEH:重新发送响应。当键盘收到一个无效的键盘命令,或者检测到奇偶错的键盘命令时,键盘回送响应字节为FEH,要求系统重发键盘命令。
    ②FAH:正常应答。对任何一个有效的键盘命令,键盘回送FAH予以响应。
    ③00H:超限应答。当用户按键速度超出键盘所能容纳的最大键符个数时(16个字节的缓冲器),键盘发送00H。
    ④FDH:诊断故障应答。键盘接受软件复位命令,执行自测试过程中。若检测到故障,则以FDH应答。此时,键盘停止扫描并等待下一个键盘命令。
    ⑤AAH:诊断正常应答。键盘在软件复位过程中,正常完成BAT测试,以AAH应答。
    ⑥EEH:回响命令的应答,对键盘EEt{命令的应答。
    ⑦F0H:断开扫描码前缀,键盘对键符按下后释放的应答,第一个字节为F0H,第二个字节为接通扫描码(有几个键例外)。


3 硬件设计
    图1为电路结构框图,电路核心为单片机AT89C52,工作频率为8~11 MHz。图中可以看出,89C52单片机有4个8位I/O端口,因此可以采用PO再加上P2口的4个(P2.0到P2.5)作为行扫描线。P1口作为列输入线(如果用PO口作列输入线,必须加上拉电阻)。采用P3.0、P3.1作为数据线和时钟线与PC系统进行通信,用P3.4、P3.5、P3.6控制键盘上的3个指示灯。硬件原理如图1所示。键盘与计算机通过一个五芯(PS/2接口为六芯)插座相接,4个有效引脚的定义分别是电源(VCC)、地(GND)、串行时钟线(SCK)、串行数据线(SIO)。

[page]

4 软件设计
    (1)消抖及重键处理:通过软件上延时程序来消除抖动;采用后按键优先处理,即多键同时按下时,只重复发送最后按下键的扫描码。

    (2)程序包括键盘扫描子程序、发送键码子程序、发送数据子程序、接收命令子程序、定时器1中断服务程序、主程序等。键盘扫描子程序用于扫描键状态,将被按键的位置号存入缓冲器中;发送键码子程序用于将缓冲区键的接通码或断开码发送给计算机键盘接口或者存在键盘密码缓冲区中;发送数据子程序用于将数据发给计算机键盘接口;接收命令子程序用于接收计算机键盘接口发来的键盘命令;定时器1中断服务子程序用于给程序中的延时提供标准时钟,并具有软件看门狗功能,防止软件出现死机现象;主程序用于系统初始化,子程序调度,锁定状态的显示等。图2~4是主要软件模块的流程图。

5 结束语
    该键盘的设计从软、硬件都作了周密考虑,可靠性好,稳定性强,特别适合部队野外训练使用。本键盘可以在标准的键盘基础上进行改造,只需换掉原来的控制芯片即可,可节省设计成本。具有很好的发展前景。

关键字:89C52  计算机  专用键盘 引用地址:基于89C52的计算机专用键盘设计

上一篇:基于LTM8901的温湿度控制系统设计
下一篇:基于AD7896的激光器出射功率测量与控制设计

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

MIT研发高效计算机视觉AI模型 可助自动驾驶汽车实时做出决策
自动驾驶汽车必须可以快速、准确地识别遇到的物体,包括停在拐角处的送货卡车、正在接近十字路口的骑行者等。为此,自动驾驶汽车可能会使用一个强大的计算机视觉模型来对高分辨率场景图像中的每个像素进行分类,从而让其不会忽略在低质量图像中可能被遮挡的物体。但是,此种称作语义分割(semantic segmentation)的任务非常复杂,当图像分辨率高时,需要进行大量的计算。 据外媒报道,美国麻省理工学院(MIT)和麻省理工学院-IBM沃森人工智能实验室(MIT-IBM Watson AI Lab)及来自其他地方的研究人员合作研发了一款更高效的计算机视觉模型,大大降低了上述任务的计算复杂性。该款模型可在车载计算机等硬件资源有限的设备上实时
[汽车电子]
MIT研发高效<font color='red'>计算机</font>视觉AI模型 可助自动驾驶汽车实时做出决策
现实版“终结者”技术,中国将引领液态金属
液态金属 ,在普通人看来,它可能是体温计中流动的水银,是高温锅炉中沸腾的铁水。可在科学家眼中,它是流动的软体生命,是连接人体神经的桥梁,是未来机器人变革的核心材料……不久前,我国一个科研小组在国际上率先将液态金属与量子器件及计算技术联系起来。更快更智能的计算,一直是人类追求的目标。液态金属是否预示着一场新的计算革命的到来?   液态金属是常温常压下保持液态的一类合金,具有良好的导电性,蕴含着丰富的物理图景   液态金属,从字面上理解,就是保持液体状态的金属。如镓铟合金,是常温常压下保持液态的一类合金。液态金属具有良好的导电性,蕴含着丰富的物理图景。   那么,液态金属与计算变革又有啥关系?这得从 计算机 的原理谈起。   以晶体管
[嵌入式]
高速并行光互联技术及其应用
本文介绍高速并行互联技术和并行光模块的基本原理,以及在不同领域的应用和发展趋势。 并行光互连技术 伴随着数字化的进程,数据的处理、存储和传输得到了飞速的发展。高带宽的需求使得短距互联成了系统发展的瓶颈。受损耗和串扰等因素的影响,基于铜线的电互联的高带宽情况下的传输距离受到了限制,成本也随之上升。而且过多的电缆也会增加系统的重量和布线的复杂度。与电互连相比,基于多模光纤的光互连具有高带宽、低损耗、无串扰和匹配及电磁兼容等问题,而开始广泛地应用于机柜间、框架间和板间的高速互连。   图1是基于误码率小于10-12吉比特以太网联接模型的传输距离与带宽的关系曲线,光纤是500MHz.km,50/125vm多模光纤。可以看
[网络通信]
我国首台类脑计算机研制成功,神经元数堪比小鼠大脑
近日,浙江大学联合之江实验室共同研制成功了我国首台类脑计算机(Darwin Mouse),该计算机采用自主知识产权的类脑芯片,实现了与小鼠大脑相当的神经元数目。 据介绍,这台类脑计算机包含792颗浙江大学研制的达尔文2代类脑芯片,支持1.2亿脉冲神经元、近千亿神经突触,与小鼠大脑神经元数量规模相当,典型运行功耗只需要350-500瓦,同时它也是目前国际上神经元规模最大的类脑计算机。 与此同时,团队还研制了专门面向类脑计算机的操作系统——达尔文类脑操作系统(DarwinOS),实现对类脑计算机硬件资源的有效管理与调度,支撑类脑计算机的运行与应用。 类脑计算机与传统计算机有
[嵌入式]
我国首台类脑<font color='red'>计算机</font>研制成功,神经元数堪比小鼠大脑
地面计算机系统:指挥控制的灵魂
——— 中电科技集团保障“神舟七号”侧记之四 载人航天地面支持计算机系统是对飞船进行指挥控制的灵魂,是信息交换的枢纽和信息处理的中心,在载人航天工程中起着举足轻重的作用。十五所在从1995年至2008年的13年间,共为载人航天工程研制开发完成了20多套计算机系统。这些为载人航天工程提供坚实保障的地面支持计算机系统,其本身包含了多项卓越的技术创新成果。 在我国航天史上,载人航天工程是规模最大、系统最复杂、技术难度最高的航天系统工程,它标志着我国航天事业进入了具有里程碑意义的崭新阶段。而在此工程中,载人飞船从发射升空、在太空遨游直至安全返回地面,都是由地面测控中心计算机系统控制和管理的,如果没有计算机系统,飞船就
[焦点新闻]
地面<font color='red'>计算机</font>系统:指挥控制的灵魂
高压开关综合测试仪内计算机执行的测量步骤
高压开关综合测试仪是为适应现场测试高压开关动作特性的需要,开发研制的专用仪器。它以单片机为核心进行采样,处理和输出,其主要特点是采用汉字提示以人机对话的方式操作,汉字显示结果并打印输出,具有智能化、功能多、数据准确、抗干扰性强、操作简单、体积小、重量轻、外观美等优点,适用于各种户内、户外少油、多油开关、真空开关、六氟化硫开关的动特性测试。 该仪器是真空灭弧室的真空度的鉴定设备。它以单片计算机为主控单元,测试过程完全实现自动化。该仪器在原理上改变了国内外同类产品采用电流峰值做标定的方法,而采用离子电荷来做标定。这样,在物理原理上有更好的准确性,而且,有效地抑制了测试过程中脉冲电源的干扰,使测试稳定可靠。该仪器采用两次采样的方法扣
[测试测量]
台积电推出N5A 赋予汽车超级计算机能力
6月2日,台积电推出了先进逻辑技术、专业技术和TSMC 3DFabric™先进封装和芯片堆叠技术方面的最新成果,其中包括用于先进汽车应用的N5A工艺。 (图片来源:台积电) N5A工艺旨在满足最新且更强化的汽车应用(如支持AI的驾驶员辅助和车辆数字化驾驶舱)对计算能力不断增长的需求。N5A将当今超级计算机中使用的相同技术引入车辆,使其具备N5的性能、功耗效率和逻辑密度,同时还满足AEC-Q100 2级严格质量和可靠性要求,以及其他汽车安全和质量标准。由台积电汽车设计平台支持,N5A计划将于2022年第三季度上市。 该公司称,N5A是世界上最先进的半导体技术,并针对汽车应用进行了增强。此外,台积电的消费类N5半导体技术
[汽车电子]
台积电推出N5A 赋予汽车超级<font color='red'>计算机</font>能力
意法半导体发布最高性能的先进计算机安全处理器
开创性的32位可信平台模块(TPM)系统级芯片支持可信计算组(TCG)下一代攻击防御可信计算机硬件标准 中国,2011年11月22日 —— 横跨多重电子应用领域、全球领先的半导体供应商及主要个人电脑原始设备制造商的可信平台模块(TPM)提供商意法半导体(STMicroelectronics,简称ST;纽约证券交易所代码:STM)发布业界最高性能的可信平台模块,让电子商务和云计算服务实现更强的安全和可信性能。 作为可信计算机生态系统的组成部分,可信平台模块是安装在电脑主板上的高安全性处理器,用于加强电脑对软件攻击或盗窃或篡改事件等安全威胁的防御能力。可信平台模块能够保护敏感数据,如密钥、密码及数字证书,提供可信的系统数据完整性报
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

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

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