(毕业设计论文)基于AT89C52单片机的PS2键盘设计

上传人:zhuma****mei1 文档编号:54413355 上传时间:2018-09-12 格式:DOC 页数:22 大小:246.50KB
返回 下载 相关 举报
(毕业设计论文)基于AT89C52单片机的PS2键盘设计_第1页
第1页 / 共22页
(毕业设计论文)基于AT89C52单片机的PS2键盘设计_第2页
第2页 / 共22页
(毕业设计论文)基于AT89C52单片机的PS2键盘设计_第3页
第3页 / 共22页
(毕业设计论文)基于AT89C52单片机的PS2键盘设计_第4页
第4页 / 共22页
(毕业设计论文)基于AT89C52单片机的PS2键盘设计_第5页
第5页 / 共22页
点击查看更多>>
资源描述

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

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

2、nt 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. P

3、S/2 simulate a phones dial keyboard. This systems feature is the circuit is sample and useful.Keywords: PS/2 keyboard, AT89C52, LCD1602,PS/2 interface,dial keyboardw目录目录1、前言前言12 2、整体方案设计、整体方案设计2 22.1 方案论证 .22.2 方案比较 .33 3、单元模块设计、单元模块设计4 43.1 PS2 键盘模块43.2 单片机模块 .63.3 LCD 显示模块74 4 、软件设计、软件设计 9 95 5、系统

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

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

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

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

8、动扫描,自动识别,自动编码,有键按下时才发送数据,因此减轻了 CPU 的负担,缺点是数码管显示不直观。PS2 键盘AT89C52 单片机数码管 显示w图 2.2 PS2 键盘整体方案一框图方案三:PS2 键盘方案见图 2.2.利用 PS2 键盘设计,优点是键盘自动扫描,自动识别,自动编码,有键按下时才发送数据,因此减轻了 CPU 的负担,用 LCD1602 显示方便直观。PS2 键盘AT89C52 单片机LCD1602 显示图 2.3 PS2 键盘整体方案二框图2.22.2 方案比较方案比较由于方案一采用的是 4X4 键盘,设计需要 CPU 不断的扫描键盘,占用了大量的 CPU 资源,方案二利

9、用 PS2 键盘,有键按下时才发送数据,减轻了 CPU 的负担,但是用数码管显示不够直观,交互界面不够好,因此综合方案一和方案二的优点,本设计采用了方案三。w3 3、 单元模块设计单元模块设计集成温度传感器实际上是一种半导体集成电路,它是利用晶体管的 be 结压降的不饱和值 Vbe 与热力学温度 T 和通过。3.13.1 PS2PS2 键盘模块键盘模块PS2 模块由 PS2 键盘和 PS2 接口组成,利用通信协议对 PS2 键盘进行操作,PS2 通讯协议是一种双向同步串行通讯协议。PS2 键盘连线图如图所示:图 3.1 PS2 键盘连线图PS2 接口操作时序如下图所示:图 3.2 时序图PS2

10、 接口通信协议表如下表所示:w图 3.3 通信协议表表中,如果数据位中的个数为偶数,校验位就为;如果数据位中的个数为奇数,校验位就为;总之,数据位中的个数加上校验位中的个数总为奇数,因此总进行奇校验。由于设备能提供串行同步时钟,因此,如果机发送数据,则机要先把时钟线和数据线置为请求发送的状态。机通过下拉时钟线大于来抑制通讯,并且通过下拉数据线发出请求发送数据的信号,然后释放时钟。当设备检测到需要接收的数据时,它会产生时钟信号并记录下面个数据位和一个停止位。主机此时在时钟线变为低时准备数据到数据线,并在时钟上升沿锁存数据。而设备则要配合机才能读到准确的数据。具体连接步骤如下:()等待时钟线为高电

11、平。()判断数据线是否为低,为高则错误退出,否则继续执行。()读地址线上的数据内容,共个,每读完一个位,都应检测时钟线是否被机拉低,如果被拉低则要中止接收。()读地址线上的校验位内容,个。()读停止位。()如果数据线上为(即还是低电平) ,设备继续产生时钟,直到接收到且产生出错信号为止(因为停止位是,如果设备没有读到停止位,则表明此次传输出错。 () 输出应答位。() 检测奇偶校验位,如果校验失败,则产生错误信号以表明此次传输出现错误。()延时 ,以便机进行下一次传输。PS2 键盘扫描方式:键盘的处理器如果发现有键被按下释放或按住键盘将发送扫描码的信息包到计算机扫描码有两种不同的类型通码和断码

12、,当一个键被按下或按住就发送通码,当一个键被释放就发送断码,每个按键被分配了唯一的通码和断码,这样主机通过查找唯一的扫描码就可以测定是哪个按键,每个键一整套的通断码组成了扫描码集有三套标准的扫描码集,分别是第一套、第二套、和第三套,所有现代的键盘默认使用第二套扫描码虽然多数第二套通码都只有一个字节宽但也有少数扩展按键的通码是两字节或四字节宽这类的通码第一个字节总是为 E0hw正如键按下通码就被发往计算机一样,只要键一释放断码就会被发送,每个键都有它自己唯一的通码,它们也都有唯一的断码,幸运的是你不用总是通过查表来找出按键的断码在通码和断码之间存在着必然的联系,多数第二套断码有两字节长它们的第一

13、个字节是 F0h ,第二个字节是这个键的通码,扩展按键的断码通常有三个字节,它们前两个字节是E0h,F0h ,最后一个字节是这个按键通码的最后一个字节。我在下面列出了几个按键的第二套通码和断码。3.23.2 单片机模块单片机模块STC89C52 单片机是 Atmel 公司生产的单片机,51 的内核,具有处理能强、运行速度快、功耗低等优点。最小系统包括单片机,电源,复位电路。单片机接收 PS2 键盘的键值,并控制 LCD 的显示。其系统框图如下图所示:接收 PS2 键 值盘STCAT89C2 单片机控制 LCD 显示电源供电复位电路图 3.4 单片机控制系统框图STC89C52 单片机有 4X8

14、 个 IO 口,其中 P0 口需外接上拉电阻,因此本次设计采用 P1 口作为 PS2 接口,P2 口作为与 LCD1602 的接口,其电路图如下图所示:w图 3.5 单片机最小系统图3.33.3 LCDLCD 显示模块显示模块LCD1602 采用 8 位并行数据传输,其操作时序如下图所示:图 3.6 LCD 单片机图LCD1602 接口由 8 位数据线,电源地电源正,液晶显示偏压信号(VL) ,数据命令选择端(RS) ,读写选择端(RW)组成。其接口信号说明如下图所示:w图 3.7 接口信号说明图可以在 1602 的液晶显示偏压信号端接一个可变电阻,调节显示亮度,初始状态时,调至 1602 上

15、面一排显示 12 个黑块为止,LCD1602 电路图如下图所示:图 3.8 LCD 电路图w4 4、 软件设计软件设计1、主程序设计:首先初始化 IO 口和键盘、LCD1602,然后接收按键的键值,并通过 8位并行传输方式传送给 LCD1602 显示。2、获取键值程序:按照 PS2 键盘协议操作,键盘按下时发送通码,弹起时发送断码,在单片机中,将接收到的码字与第二套扫描码比较,得出键值。本次设计共采用 12 个键,模拟电话的拨号键。3、LCD 显示程序:首先初始化 LCD1602 端口和寄存器,然后接收单片机传送的数据,通过 1602 写操作时序显示接收到的数据。开始初始化键 盘、LCD接收键

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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文 > 毕业论文

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