一种基于单片机技术的PS2计算机键盘接口设计

著录项
  • CN201610283350.2
  • 20160504
  • CN107346180A
  • 20171114
  • 长沙闽壹湖电子科技有限责任公司
  • 不公告发明人
  • G06F3/02
  • G06F3/02 G06F13/38

  • 湖南省长沙市天心区木莲西路187号天天向上家园第1、5、6栋1323房
  • 湖南(43)
摘要
本发明属于单片机技术领域,尤其涉及一种基于单片机技术的PS2计算机键盘接口设计,本发明提出用一种AT89C52单片机实现具有标准PS/2接口的矩阵键盘。针对一些在各种恶劣环境中使用的高精度、高可靠性测量系统的要求,设计了适合这种系统使用的专用键盘,该键盘硬件电路简单,软件设计具有安全可靠、容错能力强,可以直接应用于各种使用PS2协议的操作系统中,并保留标准键盘的全部功能。
权利要求

1.本发明专利属于温度控制技术领域,尤其涉及一种基于单片机技术的PS2计算机键盘接口设计,本发明专利属于单片机技术领域,尤其涉及一种基于单片机技术的PS2计算机键盘接口设计,本发明提出用一种AT89C52单片机实现具有标准PS/2接口的矩阵键盘,具有简单,实用的特点。

2.根据权利要求1所述的一种基于单片机技术的PS2计算机键盘接口设计,其特征在于,本发明采用89C52单片机为核心,通过模拟接口硬件设计和模拟接口软件设计,使由89C52做成的键盘发送的数据可以通过PS/2协议被PC机识别,以达到将89C52作为键盘使用于PC机的目的。

3.根据权利要求1所述的一种基于单片机技术的PS2计算机键盘接口设计,其特征在于,本发明采用ATMEL公司的AT89C52单片机作为模拟键盘。

4.根据权利要求1所述的一种基于单片机技术的PS2计算机键盘接口设计,其特征在于,本发明程序使用C语言编写,在Keil uVision2中进行编译。

说明书

一种基于单片机技术的 PS2 计算机键盘接口设计

技术领域

本发明专利涉及单片机技术领域,尤其涉及一种基于单片机技术的PS2计算机键盘接口设计。

背景技术

在野外工作中,很多工控PC机的键盘因受恶劣环境影响不利于键盘的使用而处于闲置状态,从而降低了工作效率。因此需要设计一种适用性比较广,并且可以克服恶劣环境的键盘。单片机因其性价比高,处理能力强,且抗干扰能力好,在医疗器械、机电液控制、数据传输等各类工控系统和设备仪器中得到广泛应用。一方而,在实际应用中,单片机经常需要将采集到的数据发送给PC机进行处理或保存等;另一方而,工控系统和设备仪器设计,因环境或软硬件资源的限制,也往往需要不同的通信接口。因此,设计一个具有通用性的PS/2键盘既方便PC机进行外设扩展,又丰富了单片机的接口资源。单片机与PC机常用的数据通信协议为RS-232通信协议,传输数据格式是二进制,而单片机通过PS/2键盘协议传输的数据格式是ASCII码,可以直接以常用的文本文件和表格文件的形式进行处理和保存。目前,单片机采用PS/2协议进行通信较多的是单片机接收PS/2键盘设备的数据,而以单片机作为键盘与PC机通信则较为少见。AT 89C52是美国ATMEL公司生产的低电压,高性能,片内含8K可反复擦写的单片机,具有外围硬件电路简单,体积小,可靠性高,选用其完成键盘的监控任务,在实际应用中,有时候可能不小心按下键盘的按键,改变了设备或仪器的参数和状态,使系统运行不正常。为计算机安全和防止误触发,需要将键盘锁定,还要对某些键采取屏蔽措施,但是PC标准键盘不能满足这些要求。

发明专利内容

本发明专利属于单片机技术领域,尤其涉及一种基于单片机技术的PS2计算机键盘接口设计,本发明提出用一种AT89C52单片机实现具有标准PS/2接口的矩阵键盘。

针对一些在各种恶劣环境中使用的高精度、高可靠性测量系统的要求,设计了适合这种系统使用的专用键盘,该键盘硬件电路简单,软件设计具有安全可靠、容错能力强,可以直接应用于各种使用PS2协议的操作系统中,并保留标准键盘的全部功能。

附图说明

图1:系统原理框图。

图2:AT89C52与PC机接口电路示意图。

图3:键盘按键构成电路图。

图4:标准键盘接头插座示意图。

图5:键盘到PC机的数据发送时序图。

图6:PC机到键盘的数据发送时序图。

具体实施方式

为了使本发明专利的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明专利进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明专利,并不用于限定本发明专利。

本发明专利属于单片机技术领域,尤其涉及一种基于单片机技术的PS2计算机键盘接口设计,本发明提出用一种AT89C52单片机实现具有标准PS/2接口的矩阵键盘。

针对一些在各种恶劣环境中使用的高精度、高可靠性测量系统的要求,设计了适合这种系统使用的专用键盘,该键盘硬件电路简单,软件设计具有安全可靠、容错能力强,可以直接应用于各种使用PS2协议的操作系统中,并保留标准键盘的全部功能。

硬件设计

进一步的,系统原理框图如图1所示,根据设计要求,采用89C52单片机为核心,通过模拟接口硬件设计和模拟接口软件设计,使由89C52做成的键盘发送的数据可以通过PS/2协议被PC机识别,以达到将89C52作为键盘使用于PC机的目的。52内核具有处理能力强、运行速度快、功耗低的特点。此方案具有效率、稳定、简便的优点。

(1)接口电路设计

进一步的,本发明采用ATMEL公司的AT89C52单片机作为模拟键盘,与PC机的接口电路如图2所示。因为本设计为键盘通信模块,需要运行的任务较少,所以在电路设计时可直接将单片机上的P1.0口作为数据线,P1.1口作为时钟线。单片机的供电可直接从PC机的PS/2接口上获取。

(2)键盘按键设计

进一步的,键盘构成电路如图3所示,键盘由按键阵列和识键、通讯电路构成。按键设置在行列线交叉点上,行列线分别连接到按键开关的两端。行线通过上拉电阻接到+5V上。平时无按键动作时,行线处于高电平状态,当有按键按下时,行线电平状态将由与此行线相连的列线电平决定。如果列线为低电平,则行线为低电平;如果列线为高电平,则行线也为高电平。这是识别矩阵键盘按键是否被按下的关键。

(3)标准键盘工作原理

进一步的,标准键盘接口如图4所示,插头(Plug)由一个定位销和六根金属引脚组成。各引脚定义分别是电源(VCC)、电源地线(GND),串行时钟线(CLK)和串行数据线(DATA)剩余两根引脚保留。PC机通过电源线和地线向PS/2键盘提供+5V电源。插座(Socket)与插头配套使用,其各引脚的定义和插头类似。标准键盘(也称设备或外设)与PC机(也称主机)可以相互传送数据,采用的是双向同步串行协议。PC机具有总线控制权,可以拉低时钟线来抑制或终止键盘的数据发送。PS/2通信协议采用的是标准的串行异步通信数据格式,数据帧的格式为:1位起始位(总为0),8位数据位、1位奇偶校验位(奇校验)、1位停止位(总为1)和1个应答位ACK(ACK仅存在于主机对设备的通讯中)。数据发送时低位在前,高位在后。外设每收到主机发来的1帧数据,都要紧随该帧的停止位发送一个应答位ACK(0)应答主机。然后,外设还要发应答命令,表示外设已经完整地接收到了主机的命令。PC机和键盘进行通信时,不管是PC机发送数据还是键盘发送数据,都是由键盘给出时钟脉冲。PS/2通信协议规定传输数据最大时钟频率是33kHz,大多数PS/2设备的工作频率为10~20 kHz,推荐值为15kHz。PC机发送的数据是在时钟脉冲的上升沿被键盘读取,而键盘发送的数据是在时钟脉冲的下降沿被PC机读取。PC机给键盘发送数据应至少拉低时钟线100us来抑制通信,在拉低时钟线约60us后拉低数据线,然后释放时钟线来申请发送数据。如果键盘没有改变时钟线,PC机将维持这个状态长达约15ms的时间,所以键盘应在不超过10ms的时间间隔内检测出这个PC机数据发送请求状态。在检测到这个状态后,键盘将按对应数据包格式发出时钟脉冲,PC机在脉冲低电平时改变数据线状态。在接收停止位后,键盘拉低数据线一个时钟周期以产生应答位 ACK来响应PC机。如果在第11个时钟脉冲后,PC机仍不释放数据线,则键盘应继续给出时钟信号直至PC机释放数据线,然后认为该帧数据接收错误。键盘给PC机发送数据应先检测是否为空闲状态,即时钟线和数据数是否全为高。如果检测到是空闲状态,键盘就可以发送数据给PC机。键盘发送数据过程和PC机发送数据过程类似,都是由键盘根据数据包格式给出时钟脉冲,但键盘是在脉冲线为高电平时改变数据。图5为键盘到PC机的数据发送时序,图6为PC机到键盘的数据发送时序图。简要说明PS/2接口总线的三种主要状态:空闲状态,时钟线和数据线全为高电平,此时键盘和PC机都可以申请发起一次数据传输,PS/2接口总线大部分时问都是这种状态;PC机申请发送状态,时钟线为高电平,数据线为低电平,在这种状态下,键盘应在10ms内响应并接收数据;PC机禁止通信状态,时钟线为低电平,数据线为高电平,PC机会以拉低时钟线的方式来准备申清传输数据或放弃一次正在传输的数据。键盘和PC机是通过发送扫描码来实现信息的传输。扫描码分为通码和断码两种,当一个键被按下时,就发送通码,松开时就发送断码。通码为一个十六进制字节,断码由0xF0和通码字节组成。比如,当按下键盘的空格键时,键盘发送通码(0x29 ),松开时,键盘相继发送断码(0xF0,0x29)。当按组合键,应该依照按键次序发送扫描码,比如“shift + q”时,应该发送(0x12),(0x15), (0xF0, 0x12)和(0xF0,0x15)。现在通用的键盘采用的是第二套扫描码,扫描码和ASCⅡ码没有逻辑上的关系,所以编程时可用表格方式来设计。

软件设计

(1)软件开发平台

进一步的,本发明程序使用C语言编写,在Keil uVision2中进行编译。Keil uVision2是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,使用接近于传统C语言的语法来开发,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用,而且大大的提高了工作效率和项目开发周期,他还能嵌入汇编,可以在关键的位置嵌入,使程序达到接近于汇编的工作效率。Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面,使您能在很短的时间内就能学会使用keil C51来开发单片机应用程序。

(2)键盘扫描子程序

进一步的,键盘在有按键按下时,向主机发送该按键的通码,当按键释放时,发送断码。程序必须对键盘阵列进行扫描,当识别到某个按键刚刚按下时,便向主机发出该键通码;识别到某按键刚刚松开时,便向主机发送该键断码。

(3)通讯子程序

进一步的, PS/2键盘设备总是产生时钟信号。如果主机要发送数据,它必须首先把时钟和数据线设置为“请求发送”状态,如下所示:

(a)通过下拉时钟线至少100微秒来抑制通讯;

(b)通过下拉数据线来应用“请求发送”,然后释放时钟。键盘设备应该在不超过10毫秒的间隔内就要检查这个状态。当键盘设备检测到这个状态,它将开始产生时钟信号,并且时钟脉冲标记下输入八个数据位和一个停止位。主机仅当时钟线为低的时候改变数据线,而数据在时钟脉冲的上升沿被锁存。这在发生在设备到主机通讯的过程中正好相反。在停止位发送后,键盘设备要应答接收到的字节,就是把数据线拉低并产生最后一个时钟脉冲。

(4)键盘接收系统初始化

进一步的,因为PS/2接口不支持热插拔,且开机需要通过PC机的自检。如果在PC机已经开启后再接上键盘,由于PC机自检时未检测到键盘,就会认为没有键盘外设,所以这时候键盘是无法使用的。PC机初始化键盘的主要步骤包括:

(A)键盘上电首先发送自检通过命令(0xAA);

(B)PC机发送重置状态指示灯命令(0xED);

(C)PC机发送关闭所有指示灯命令(0x00);

(D)PC机发送读取设备D命令(0xF2);

(E)PC机发送重置状态指示灯命令(0xED);

(F)PC机发送打开所有指示灯命令(0x02);

(G)PC机发送设置机打速率命令(0xF3)。

以上所述仅为本发明专利的较佳实施例而已,并不用以限制本发明专利,凡在本发明专利的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明专利的保护范围之内。

本文发布于:2024-09-22 18:21:16,感谢您对本站的认可!

本文链接:https://www.17tex.com/tex/2/71872.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议