收藏本站 | 论文目录

关键词: python matlab plc 单片机 dsp fpga 仿真 stm32

当前位置: 毕业论文设计参考 >> 电子电气通信 >> 通信工程本科论文

键盘模块的扩展设计

[关键词:键盘模块]  [热度 ]
提示:此毕业设计论文完整版包含【论文
作品编号:txgc0533,word全文:48页,合计:21000

以下仅为该作品极少介绍,详细内容请点击购买完整版!
键盘模块的扩展设计毕业设计论文------

本题目利用Mega16单片机以及外围电路,以C程序设计语言为基础,通过使矩阵式键盘的行端口循环输出一定的电平,接着读取列端口的电平,经过比较就可以实现对矩阵式键盘的扫描,因为旋转编码器的正反方向输出电平序列的不同,因此通过对其输出端A和B的相位进行比较即可实现对旋转编码器的方向判定。根据PS/2协议的数据传输方式及其数据结构,以及对PS/2键盘发送的数据进行处理和分析,从而实现了正确接收PS/2键盘的数据。本题最终完整的实现矩阵式键盘的行列扫描,旋转编码器的正反及其按下等动作的判断,PS/2键盘的数据接收和数据处理的功能,最后利用JD12864LCD来直观的对结果进行显示。

系统设计 

在整个系统设计中,总共涉及到了4*4矩阵式键盘模块设计,旋转编码器模块的设计,PS/2键盘模块的设计,还有最基本的显示模块JD12864C-1模块的应用设计,以Mega16单片机为主要控制芯片,综合Mega16的自身资源及每部分硬件的特点和要求,总的设计方案如下:

在JD12864C-1液晶显示部分,单片机的PC7—PC0作为JD12864C-1的8位数据口,PA4—PA0作为控制端,其中PA4为使能E,PA3为读写控制RW,PA2为片选CS1,PA1为片选CS2,PA0为数据和指令选择控制,按照液晶显示模块的读写要求对其进行操作,就可以实现对该模块的设置,实现在任意位置对数据进行显示,及特殊效果的显示等。

在PS/2键盘模块的设计中出现的问题最多,同时也是最棘手的,主要有以下几点,首先,对于PS/2设备的时钟控制问题,因为它的时钟是集电极开路的,这就意味着它们通常保持高电平,而且很容易下拉到地,即逻辑0。其次是在接收PS/2键盘发送过来的数据时该怎么处理,因为所有数据安排在字节中,每个字节为一帧包含了11或12 个位,这些位的含义如下:1个起始位总是为0,8个数据位(低位在前),1个奇校验位,1个停止位总是为1,1个应答位(仅在主机对设备的通讯中出现)。而且起始位,校验位,停止位不需要,因此要舍弃它们。还有在处理PS/2键盘发送的数据时接收到的数据不对。

解决方法:针对PS/2设备的时钟特性,可以将单片机接时钟脚的内部电阻上拉,这样就保证在通常情况下保持高电平。在接收数据时,由于起始位,校验位,停止位不需要,所以在检测到后就不采取任何措施,这样就舍弃了上述几位。在接收数据时出现的数据错误方面,主要是由于我加了延迟程序,开始时我考虑的是,当CLK为15KHZ,而单片机的时钟为8MHZ,那么在PS/2出现时钟下跳沿时,如果立即读取数据线上的高低的话,那么此时数据线正好处于跳变期,即处在半坡上,而由于时钟不可能是没有斜坡的,因此读出来的数据肯定有问题了,因此根据时钟的频率可以加个适当的延迟,这样就可以保证数据处于稳定点。

 

 


以上仅为该作品极少介绍,详细内容请点击购买完整版!

提示:此毕业设计论文完整版包含【论文
作品编号:txgc0533,word全文:48页,合计:21000

本通信工程毕业设计论文作品由 毕业论文设计参考 [http://www.qflunwen.com] 征集整理——键盘模块的扩展设计(论文)!
相关毕业设计
    没有关键字相关信息!