第一范文网 - 专业文章范例文档资料分享平台

(完整版)基于arm键盘课程设计doc毕业论文

来源:用户分享 时间:2025/5/17 11:51:00 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

·列输出能被驱动成全低、全高或者全高阻,允许8x8键矩阵的任意组和按键;

·Port A8位或的结果驱动一个键盘中断;

·键盘中断能够唤醒系统。

3.2键盘电路原理图

实现的系统硬件构成为4×4的行列式键盘,键盘的连接电路如图13-4所示。行线通过一个电阻被上拉到VCC,VCC是+5V电压。行线与按键的一个引脚相连,列线与按键的另一个引脚相连。平时列线被置成低电平,没有按键被按下时,行线保持高电平:而有按键被按下时,行线被拉成低电平,这时候控制器知道有按键被按下,但只能判断出在哪一行,不能判断出在哪一列,因此接下来就要进行键盘扫描,以确定具体是哪个按键被按下。

键盘扫描的过程是将列线逐列置成低电平,然后读取行线状态,直到行线中出现低电平,这时可知哪一列是低电平;然后将行线与列线的状态装入键码寄存器,进行按键译码,得到按下的按键的相应编码,这样就完成了按键扫描过程。当然,一个完整的按键扫描过程还需要配合相应的键盘去抖动手段才能正确地识别按键,不会发生重键和错误判断等情况。

对于使用者来说,利用此电路可以作为底层嵌入式的键盘控制器,即实现对键盘的扫描,识别出键码。控制器与ARM的通信协议可以采用串口、并行、PS2、USB等。

4软件设计

4.1键盘扫描程序

键盘扫描程序的实现是首先给两个(矩阵中的2)口线上送高电平,然后在一个循环体内依次在端口PO(矩阵中的8)经锁存器送一个只有一位为O其余为1的电平(即十六进制数0xFE循环左移一位实现),判断移位的次数和两个口线中的哪个为低电平亦即逻辑O来实现。下面通过具体程序来说明。

当然这只是最基本的键盘扫描子程序,当扫捕到键号以后还要根据其他一些具体条件来进行相应的译码,才能决定最后按下的键代表什么具体值。键值有功能键、数字键和字母键,每种键值都有不同的译码处理。键盘扫描子程序是与硬件结构相对应的,因此考虑到端口资源的充分利用,改用4×4的矩阵键盘结构可以节省两个IO端口,但是键盘扫描程序要稍微复杂一些;但由于ARM其运

行速度远远超过传统的微处理器,这一点带来的影响可以忽略不计。下面是改进后的键盘扫描子程序。

(完整版)基于arm键盘课程设计doc毕业论文.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c8jxlb302lp1od1e2lms547le14lox100wgo_2.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top