图1该模块与上位单片机系统的连接关系及信号定义500)this.style.ouseg(this)">图2键盘接口时序(a)键盘发送时序;(b)键盘接收时"> 图1该模块与上位单片机系统的连接关系及信号定义500)this.style.ouseg(this)">图2键盘接口时序(a)键盘发送时序;(b)键盘接收时" />
单片机系统与标准pc键盘的接口模块设计

单片机系统与标准pc键盘的接口模块设计

ID:24485829

大小:49.50 KB

页数:3页

时间:2018-11-15

单片机系统与标准pc键盘的接口模块设计_第1页
单片机系统与标准pc键盘的接口模块设计_第2页
单片机系统与标准pc键盘的接口模块设计_第3页
资源描述:

《单片机系统与标准pc键盘的接口模块设计》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、单片机系统与标准PC键盘的接口模块设计

2、第1内容显示中lunouseg(this)">图1该模块与上位单片机系统的连接关系及信号定义500)this.style.ouseg(this)">图2键盘接口时序(a)键盘发送时序;(b)键盘接收时序500)this.style.ouseg(this)">图3单片机系统与标准PC键盘接口模块原理框图键盘与主机通过键盘插头相接,键盘插头有5芯大插头和6芯小插头(PS/2接口)两种。接口信号有:电源、地、键盘时钟KB_CLK、键盘数据KB_DAT。正常工作时,键盘电路不断地扫描键盘矩阵。若有键按下,则以串行方式

3、发送按键的位置扫描码给主板键盘接口电路。按下键时,发送接通扫描码,松开键时,发送该键的断开扫描码。断开扫描码一般是在接通扫描码前加一个断开标志字节F0H。若某键一直按下,则以按键重复率连续发送该键的接通扫描码。扫描码与按键的位置有关,与该键的ASCII码并无对应关系。表1第二列给出经实际测试得到的若干按键的位置扫描码。由表1可见,根据键的按下或释放及所按键的不同,这个序列可以是1、2、3、4、6、或8字节,可称之为位置扫描码序列。标准键盘与主机的通信是双向的,并采用11位的串行异步通信格式,这11位数据包括:起始位0、8位数据位(LSB在先)、奇校

4、验位P、停止位1。图2(a)给出了键盘发送时序。数据(KB_DAT)在时钟(KB_CLK)的上升沿改变,下降沿时有效,可被主机读取。图2(b)给出键盘接收时序。主机发送前,先将KB_CLK拉低,以抑制键盘发送,再将KB_DAT拉低发送起始位,然后释放KB_CLK线,键盘接管KB_CLK并产生时钟信号,主机在KB_CLK信号同步下发送其他位。标准PC键盘接口模块的工作原理基本工作原理概述该模块的原理框图如图3所示。PC键盘与该模块通过专用插座相连,数据KB_DAT接到AT89C2051的P3.0引脚,时钟KB_CLK接到引脚。在PC键盘有键按下时,K

5、B_CLK信号会引起AT89C2051的连续中断,通过定时器T0与外中断的协同工作,可将PC键盘发出的位置扫描码序列接收至缓冲区中。然后,在主程序中将位置扫描码解码、查表换算,再编码成一字节的扫描码与ASCII码,并存入系统中FIFO栈。在上位单片机可以接收新键值时,将FIFO栈中编码数据以并行或串行方式传送给上位单片机。为了能更清楚地指示系统当前的工作状态,在硬件上加装了电源、正在解码、FIFO栈溢出、码值准备好等指示灯。中断解码的工作原理由于键盘的按键输入是随机的,为了能实时地响应,在程序中使用定时器T0中断和中断协同工作,将位置扫描码序列恢复

6、至键盘接收缓冲区中。中断服务程序用来将码值的一位移入缓冲区中,T0溢出的中断服务程序主要用来判断一次按键所发出的码是否已全部接收。系统设置T0的定时间隔为5ms,并在系统启动后就开始定时。由于在正常接收每个按键的码值序列过程中,键盘发送的每位数据间隔不会大于5ms,因此在每次中断服务中,首先要判断T0是否溢出过,若曾经溢出,则认为该次中断是一次新码值接收的开始,需将位计数器清零,否则只需移入一位数据即可,然后重新启动定时器,退出中断服务程序。在新按键码值序列接收完成后,设置blnDataValid标志,以通知主程序。主程序的工作原理主程序主要有四个

7、任务:①将键盘接收缓冲区的位置扫描码通过查表等算法换成统一编码的一个字节LOCK及CAPLOCK键对编码的影响。对于DOS系统中CRTL+按键、ALT+按键等组合键,该模块并未考虑,但相对上位的单片机系统而言,目前所提供的按键数量已足够用了。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。