中国投资研究网

用户名:

密 码:

010-80782106 15611620612

可行性研究报告

技术百科

更多>>

PS/2接口在单片机中的研究与应用

2013-10-29 12:14:06 来源:中国投资研究网 【字体: 【收藏本页】【打印】【关闭】

更多

核心提示:单片机系统中所用的键盘输入设备,由于需要专门单独的设计,使得通用性较差,可靠性不够高,成本也相对较高。PS/2接口的输入键盘由于具有的以上诸多特点,应用在单片机系统中可以非常好的满足系统的诸多要求,并且很好的降低成本。


关键词: 单片机

  PS/2接口是由IBM公司在上世纪80年代设计开发,作为输入装置接口,主要用于连接键盘、鼠标,是目前应用最广泛的计算机输入接口。单片机系统中所用的键盘输入设备,由于需要专门单独的设计,使得通用性较差,可靠性不够高,成本也相对较高。PS/2接口的输入键盘由于具有的以上诸多特点,应用在单片机系统中可以非常好的满足系统的诸多要求,并且很好的降低成本。PS/2鼠标所用的TTL电平和单片机接口非常方便,兼容性也很强。所以,PS/2接口在单片机系统的输入装置中,能够发挥相当大的作用。

  (一)PS/2接口的物理特性

  PS/2接口分为5脚的DIN和6脚的mini-DIN两种连接器。目前6脚的mini-DIN连接器较为普遍,其连接器有6个脚,分别为:1.数据线data。2.预留N/C。3.地线GND4.Vcc+5。5.时钟线CLK。6.预留N/C。物理接口图如下图1:

PS/2接口

  通常情况下PS/2接口1、3、4、5脚有效,2、6脚为预留脚。PS/2接口在使用时必须接电阻使电平上拉。平时保持高电平,数据输出时把电平拉低,信息输出后电平再被拉高。

  PS/2键盘、鼠标接口的物理设计:

  物理上PS/2键盘现在仍然沿用IBM在1987年推出的PS/2键盘接口标准。该标准采用6脚mini-DIN连接器,电源为键盘提供+5V电,键盘地与电源地连接,键盘定义为84~101键。本设计采用ATM89C52单片机,单片机P0.0为数据端,P0.1接时钟端,P0.2为模拟选通端,键盘地接P0,.单片机地。PS/2鼠标的接口与PS/2键盘的接口相同,而且比键盘通信更加简单,只是与键盘的数据传输内容不同。

  (二)PS/2接口的通信协议

  PS/2接口通信协议是标准的异步串行通信格式。其数据有1位起始位总是逻辑0,1位奇偶校验位,8位数据位(低位在前)和1位停止位总是逻辑1。1帧数据中数据位和校验位1的个数之和总为奇数。在整个通信过程中都要依赖键鼠发送的频率为10~20KHz的时钟脉冲作为时钟信号。时钟信号一般都按照数据帧格式顺序发送。设备通过判断脉冲的下降沿来逐位读取数据。PS/2设备的时钟脚(5脚)和数据脚(1脚)通常都保持高电平,用来检测是否与主机通信。如果时钟脚和数据脚同时保持高电平,则键鼠可以发数据给主机。发数据时要先将数据脚高电平拉低,通知主机准备接受数据,然后通过高电平时的时钟脚修改数据,在时钟脚电平下降沿时发送数据。如果检测到时钟脚为低电平时,则认为通信被抑制,无法进行通信。

  (三)PS/2接口的软件设计

  本设计选用ATM89C52单片机作为处理芯片。PS/2接口第5脚时钟CLK脚与单片机外部中断INTO连接,第1脚数据脚与单片机I/O脚P0.0连接。键鼠产生的时钟CLK信号作为外部中断信号进入单片机INT0脚,触发单片机外部中断,通过I/O脚P0.0传输数据。当键/鼠发送数据时,单片机通过同/异步串行口来接收数据。单片机每接收到一次数据就会产生一次外部中断,单片机进入中断后执行接收数据的命令。键/鼠在接收数据之前,先由单片机对其初始化:主机向键/鼠发送初始化命令后,开始对键/鼠进行复位,然后设置键/鼠的采样率、分析度等。

  对键/鼠初始化完成后,ATM89C52单片机对键/鼠进行扫描。扫描过程中对按键是否按下的检测同ATM89C52单片机的矩阵键盘检测原理相同:首先逐行扫描行信号,确认是否有键按下。如果行信号无导通时,输全为1,再读列信号,如果列信号也为1,说明无导通信号,键/鼠无按键按下。当行信号有导通时,有按键摁下。然后,扫描列信号,当列信号有导通时,通过行、列导通信号,最终确认按键的位置。

  键/鼠在有键按下后,会产生一个CLOCK时钟信号,ATM9C52单片机接收到CLOCK信号后,会自动进入中断。进入中断后,单片机首先检查数据是否已经进入缓存。如果数据进入缓存,单片机就将内部的计时器清零,对相应位进行置位,以便对接下来的数据进行接收。如果接收到完整的数据包,数据接收完成,单片机退出中断。如果单片机检查到数据没有进入缓存,则直接退出中断。


相关资讯