毕业设计----基于单片机的PS键盘设计.doc

上传人:marr****208 文档编号:133553508 上传时间:2020-05-28 格式:DOC 页数:22 大小:286.52KB
返回 下载 相关 举报
毕业设计----基于单片机的PS键盘设计.doc_第1页
第1页 / 共22页
毕业设计----基于单片机的PS键盘设计.doc_第2页
第2页 / 共22页
毕业设计----基于单片机的PS键盘设计.doc_第3页
第3页 / 共22页
毕业设计----基于单片机的PS键盘设计.doc_第4页
第4页 / 共22页
毕业设计----基于单片机的PS键盘设计.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

《毕业设计----基于单片机的PS键盘设计.doc》由会员分享,可在线阅读,更多相关《毕业设计----基于单片机的PS键盘设计.doc(22页珍藏版)》请在金锄头文库上搜索。

1、 PS2PS2 键盘在单片机上的应用键盘在单片机上的应用 摘摘 要要 在嵌入式 PC 应用系统中 作为人机交互设备的键盘 往往采用结构简单 按键少的矩阵键盘 标准键盘虽然能直接与嵌入式 PC 机的 PS 2 接口相连 但是体 积大 按键多 不能满足需求 本文提出用一种 AT89C52 单片机实现具有标准 PS 2 接口的矩阵键盘 具有便捷 实用的特点 关键词 关键词 PS 2 接口 PS 2 键盘 拨号键 AT89C52 LCD1602 Abstract PS 2 interface is one of the most useful mouse interface It was IBM s

2、patent named osulum before It is the dedicate interface of mouse and keyboard This text implied a plan using PS 2 to make a system PS 2 tansmit the data which was pressed and AT89C52 receive it disposed it and transmit it to Lcd1602 Lcd1602 discover it to make us know which key has been pressed PS 2

3、 simulate a phone s dial keyboard This system s feature is the circuit is sample and useful Keywords PS 2 keyboard AT89C52 LCD1602 PS 2 interface dial keyboard 第 I 页 目录目录 1 前言前言 1 2 2 整体方案设计 整体方案设计 2 2 2 1 方案论证 2 2 2 方案比较 3 3 3 单元模块设计 单元模块设计 4 4 3 1 PS2 键盘模块 4 3 2 单片机模块 6 3 3 LCD 显示模块 7 4 4 软件设计 软件设

4、计 9 9 5 5 系统技术指标及精度和误差分析 系统技术指标及精度和误差分析 1010 6 6 结论 结论 1111 7 7 设计小结 设计小结 1212 8 8 致谢 致谢 1414 9 9 参考文献 参考文献 1414 附录附录 1 1 电路总图 电路总图 1515 附录附录 2 2 仿真图 仿真图 1616 附录附录 3 3 软件代码 软件代码 1717 第 1 页 1 1 前言前言 单片机因其性价比高 处理能力强 且抗干扰能力好 在医疗器械 机电液控制 数据 传输等各类工控系统和设备仪器中得到广泛应用 一方面 在实际应用中 单片机经常需要 将采集到的数据发送给PC机进行处理或保存等

5、另一方面 工控系统和设备仪器设计 因环 境或软硬件资源的限制 也往往需要不同的通信接口 比如 很多工控PC机的键盘接口因受 恶劣环境不利于键盘的使用而处于闲置状态 因此 设计一个具有通用性的PS 2键盘通信接 口既方便PC机进行外设扩展 又丰富了单片机的接口资源 单片机与PC机常用的数据通信协 议为RS 232通信协议 传输数据格式是二进制 而单片机通过PS 2键盘协议传输的数据格 式是ASC II码 可以直接以常用的文本文件和表格文件的形式进行处理和保存 目前 单片 机采用PS 2协议进行通信较多的是单片机接收PS 2键盘设备的数据 而以单片机做为键盘与 PC机通信则较为少见 本文的新颖之处

6、主要表现为 1 本文主要着眼于基于单片机的PS 2键盘通信模块的实现 本模块可通过RS 232 RS 485接口或数据总线从其它系统上获取要传给PC机的数据 单片机把二进制数据转换成对 应的键盘扫描码后上传给PC机 本模块只需要简单的软硬件改动 甚至于有时不需要改动 就可以扩展大部分工控系统和设备仪器的通信功能 具有较大的通用性 2 本文比较深入地分析了PC机与键盘之间相互通信的时序 并介绍了PC机开机自检时 键盘模块需要响应的几个主要命令 3 本模块在条形码扫描系统中进行了应用测试 实验证明了本模块具有较好的稳定性 和可靠性 有较广泛的应用范围 第 2 页 2 2 整体方案设计 整体方案设计

7、 本设计的整体思路是 利用 PS2 键盘 通过 AT89C52 单片机接收 PS2 键盘的键值 并 显示在 LCD1602 上 PS2 键盘模拟电话的拨号键 2 12 1 方案论证方案论证 设计中采用了三个方案 具体的方案见方案一 方案二和方案三 方案一 普通键盘设计方案 采用普通的 4X4 键盘 通过键盘扫描得到键值 有单片机控制并显示在 LCD 上 优点 是成本低 设计简单 缺点是键盘扫描效率不够且容易出错 4X4 键盘AT89C52 单片机 LCD1602 显示 图 2 1 普通键盘整体方案一框图 方案二 数码管显示设计方案 采用普通的 PS2 键盘 通过键盘扫描得到键值 由单片机控制并

8、显示在数码管上 优 点是成本低 设计简单 键盘自动扫描 自动识别 自动编码 有键按下时才发送数据 因 此减轻了 CPU 的负担 缺点是数码管显示不直观 PS2 键盘AT89C52 单片机 数码管 显示 图 2 2 PS2 键盘整体方案一框图 方案三 PS2 键盘方案 见图 2 2 利用 PS2 键盘设计 优点是键盘自动扫描 自动识别 自动编码 有键按下时 才发送数据 因此减轻了 CPU 的负担 用 LCD1602 显示方便直观 PS2 键盘AT89C52 单片机 LCD1602 显示 第 3 页 图 2 3 PS2 键盘整体方案二框图 2 22 2 方案比较方案比较 由于方案一采用的是 4X4

9、 键盘 设计需要 CPU 不断的扫描键盘 占用了大量的 CPU 资 源 方案二利用 PS2 键盘 有键按下时才发送数据 减轻了 CPU 的负担 但是用数码管显示 不够直观 交互界面不够好 因此综合方案一和方案二的优点 本设计采用了方案三 第 4 页 3 3 单元模块设计单元模块设计 集成温度传感器实际上是一种半导体集成电路 它是利用晶体管的 b e 结压降的不饱 和值 Vbe 与热力学温度 T 和通过 3 13 1 PS2PS2 键盘模块键盘模块 PS2 模块由 PS2 键盘和 PS2 接口组成 利用通信协议对 PS2 键盘进行操作 PS2 通讯协 议是一种双向同步串行通讯协议 PS2 键盘连

10、线图如图所示 图 3 1 PS2 键盘连线图 PS2 接口操作时序如下图所示 图 3 2 时序图 PS2 接口通信协议表如下表所示 第 5 页 图 3 3 通信协议表 表中 如果数据位中 的个数为偶数 校验位就为 如果数据位中 的个数为奇数 校验位就为 总之 数据位中 的个数加上校验位中 的个数总为奇数 因此总进行奇校 验 由于 设备能提供串行同步时钟 因此 如果 机发送数据 则 机要先把 时钟线和数据线置为请求发送的状态 机通过下拉时钟线大于 来抑制通讯 并且通过下拉数据线发出请求发送数据的信号 然后释放时钟 当 设备检测到需要 接收的数据时 它会产生时钟信号并记录下面 个数据位和一个停止位

11、 主机此时在时钟线 变为低时准备数据到数据线 并在时钟上升沿锁存数据 而 设备则要配合 机才 能读到准确的数据 具体连接步骤如下 等待时钟线为高电平 判断数据线是否为低 为高则错误退出 否则继续执行 读地址线上的数据内容 共 个 每读完一个位 都应检测时钟线是否被 机拉低 如果被拉低则要中止接收 读地址线上的校验位内容 个 读停止位 如果数据线上为 即还是低电平 设备继续产生时钟 直到接收到 且产生出错信号为止 因为停止位是 如果 设备没有读到停止位 则表明此次 传输出错 输出应答位 检测奇偶校验位 如果校验失败 则产生错误信号以表明此次传输出现错误 延时 以便 机进行下一次传输 PS2 键盘

12、扫描方式 键盘的处理器如果发现有键被按下释放或按住键盘将发送扫描码的 信息包到计算机扫描码有两种不同的类型通码和断码 当一个键被按下或按住就发送通码 当一个键被释放就发送断码 每个按键被分配了唯一的通码和断码 这样主机通过查找唯一 的扫描码就可以测定是哪个按键 每个键一整套的通断码组成了扫描码集有三套标准的扫描 码集 分别是第一套 第二套 和第三套 所有现代的键盘默认使用第二套扫描码 虽然多数第二套通码都只有一个字节宽但也有少数扩展按键的通码是两字节或四字节宽 第 6 页 这类的通码第一个字节总是为 E0h 正如键按下通码就被发往计算机一样 只要键一释放断码就会被发送 每个键都有它自 己唯一的

13、通码 它们也都有唯一的断码 幸运的是你不用总是通过查表来找出按键的断码在 通码和断码之间存在着必然的联系 多数第二套断码有两字节长它们的第一个字节是 F0h 第二个字节是这个键的通码 扩展按键的断码通常有三个字节 它们前两个字节是 E0h F0h 最后一个字节是这个按键通码的最后一个字节 我在下面列出了几个按键的第二 套通码和断码 3 23 2 单片机模块单片机模块 STC89C52 单片机是 Atmel 公司生产的单片机 51 的内核 具有处理能强 运行速度快 功耗低等优点 最小系统包括单片机 电源 复位电路 单片机接收 PS2 键盘的键值 并控 制 LCD 的显示 其系统框图如下图所示 接

14、收 PS2 键 值盘 STCAT89C2 单片机 控制 LCD 显示 电源供电 复位电路 图 3 4 单片机控制系统框图 STC89C52 单片机有 4X8 个 IO 口 其中 P0 口需外接上拉电阻 因此本次设计采用 P1 口 作为 PS2 接口 P2 口作为与 LCD1602 的接口 其电路图如下图所示 第 7 页 图 3 5 单片机最小系统图 3 33 3 LCDLCD 显示模块显示模块 LCD1602 采用 8 位并行数据传输 其操作时序如下图所示 图 3 6 LCD 单片机图 LCD1602 接口由 8 位数据线 电源地电源正 液晶显示偏压信号 VL 数据命令选 择端 RS 读写选择

15、端 RW 组成 其接口信号说明如下图所示 第 8 页 图 3 7 接口信号说明图 可以在 1602 的液晶显示偏压信号端接一个可变电阻 调节显示亮度 初始状态时 调 至 1602 上面一排显示 12 个黑块为止 LCD1602 电路图如下图所示 图 3 8 LCD 电路图 第 9 页 4 4 软件设计软件设计 1 主程序设计 首先初始化 IO 口和键盘 LCD1602 然后接收按键的键值 并通过 8 位并行传输方式传送给 LCD1602 显示 2 获取键值程序 按照 PS2 键盘协议操作 键盘按下时发送通码 弹起时发送断码 在单片机中 将接收到的码字与第二套扫描码比较 得出键值 本次设计共采用

16、 12 个键 模拟电话的拨号键 3 LCD 显示程序 首先初始化 LCD1602 端口和寄存器 然后接收单片机传送的数据 通过 1602 写操作时序显示接收到的数据 开始 初始化键 盘 LCD 接收键值 LCD1602 上显示 处理键值 4 1 程序整体设计框图 第 10 页 5 5 系统技术指标及精度和误差分析系统技术指标及精度和误差分析 随着计算机工业的发展 作为计算机最常用输入设备的键盘也日新月异 IBM 推出 PS2 键盘接口标准 该标准定义了 84 101 键 采用 6 脚 mini DIN 连接器 用双向串行通讯协议 并且提供有可选择的第三套键盘扫描码集 同时支持 17 个主机到键盘的命令 本系统利用 PS2 键盘作为交互接口 操作方便 比普通键盘精度高 在机械键盘中需要 考虑键盘去抖的问题 硬件去抖或软件去抖 但是在 PS2 键盘中不需要考虑键盘去抖 因为 PS2 键盘采用按键发送通码 弹起发送断码的方式 不易出错 只要将接口连线处理好 单 片机处理数据时不出错 本次设计实现了软件的设计和电路设计和仿真 实现了系统功能 完成了系统设计指标 按下一个键 准确的显示在 LCD

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号