1 / 19
文档名称:

课程设计(论文)-基于嵌入式系统键盘设计.doc

格式:doc   大小:1,530KB   页数:19页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

课程设计(论文)-基于嵌入式系统键盘设计.doc

上传人:3346389411 2017/1/8 文件大小:1.49 MB

下载得到文件列表

课程设计(论文)-基于嵌入式系统键盘设计.doc

相关文档

文档介绍

文档介绍:课程名称: 基于嵌入式系统键盘设计专业班级: 姓名: 学号: 批阅时间: 指导教师: 成绩: 在ARM 嵌入式应用中,人机交互对话最通用的方法就是通过键盘和 LCD 显示进行的,本设计是通过键盘向系统发送各种指令或置入必要的数据信息。键盘模块设计的好坏,直接关系到系统的可靠性和稳定性。 1实例说明在ARM 应用系统中,键盘扫描只是 ARM 的工作之一,ARM 在忙于各项工作任务时, 如何兼顾键盘的输入,则取决于键盘的工作方式。键盘工作方式的选取原则是既要保证能及时响应按键操作,又要不过多占用 ARM 的工作时间。本实例介绍 ARM 系统中常用的行列式键盘电路的硬件设计、键盘扫描及键盘测试,行列式键盘适应于按键数量较多,又不想使用专用键盘芯片的场合。这种方式的按键接口由行线和列线组成,按键位于行、列的交叉点上。 2键盘工作原理 常用键盘接口常用按键接门可分为独立式按键接口、行列式按键接口和专用芯片式等。具体采用哪种方式,可根据所设计系统的实际情况而定。下面分别介绍这几种接口方式的优缺点及适用场合。 ,软件实现简单。但缺点也很明显,每个按键需要占用一根口线,若按键数量较多,资源浪费将比较严重,电路结构也变得复杂。因此本方法主要用于按键较少或对操作速度要求较高的场合。软件实现时,可以采用中断方式,也可以采用查询方式,示意图如图 13-1 所示。 13-4(a) 所示,其使用原理将在下节详细讲述。行列式按键接口适应于按键数量较多,又不想使用专用键盘芯片的场合。这种方式的按键接口由行线和列线组成,按键位于行、列的交叉点上。这种方式的优点就是相对于独立接口方式可以节省很多 I/O 资源,相对于专用芯片键盘可以节省成本,且更为灵活。缺点就是需要用软件处理消抖、重键等。行列式按键接口是一种老式的键盘接口,其键扫描方法是几乎所有 PC键盘所采用的方法。 ,芯片本身能完成对按键的编码、扫描、消抖和重键等问题的处理,甚至还集成了显示接口功能。专用键盘处理芯片的优点很明显,可靠性高,口简单,使用方便,适合处理按键较多的情况。但在很多应用场合,考虑成本因素,可能并不是最佳选择。 行列式键盘工作原理 ARM嵌入式系统使用常用的行列式键盘电路,此电路的优点是比较节省I/0口线, 并且接口简单。它的工作模式如图 13-2 所示。它的行线与按键的一个引脚相连,列线与按键的另一个引脚相连。平时列线被置成低电平,没有按键被按下时,行线保持高电平,而有按键被按下时,行线被拉成低电平。这时候控制器知道有按键被按下,但只能判断出在哪一行,不能判断出在哪一列,因此接下来就要进行键盘扫描,以确定具体是哪个按键被按下。 键盘扫描流程在行列式键盘方式中,ARM 对键盘的扫描采取程序控制方式,一旦进入键扫描状态,则反复地扫描键盘,等待用户从按键上输入命令或数据。而在执行键入命令或处理键入数据过程中, ARM 将不再响应键入要求,直到 ARM 返回重新扫描键盘为止。编程扫描程序流程图如图 13-3 所示。 3硬件电路设计 ARM 键盘接口 ARM 由通用接口 GPl 支持键盘行扫描(Scanning keyboard row) 和支持键盘阵列扫描(Scanning keyboard mattix) 。其中, Port A、Port B、Port D丰要用于外围芯片信号的控制, Port E有双重作用。例如,Port A控制键盘的行信号,Port B用于 RS-232 ,Port D用丁控制MODEM 、FPGA 。 ARM 内置点阵式键盘,专用的 8位列输出 COL[7 :0],Port A口可复用作键盘的行输入,任意一个键按下时都会产生中断。其特点如下: ·列输出能被驱动成全低、全高或者全高阻,允许 8x8 键矩阵的任意组和按键; ·Port A8位或的结果驱动一个键盘中断; ·键盘中断能够唤醒系统。 键盘电路原理图实现的系统硬件构成为 4×4的行列式键盘,键盘的连接电路如图 13-4 所示。行线通过一个电阻被上拉到 VCC ,VCC 是+5V 电压。行线与按键的一个引脚相连, 列线与按键的另一个引脚相连。平时列线被置成低电平,没有按键被按下时,行线保持高电平:而有按键被按下时,行线被拉成低电平,这时候控制器知道有按键被按下,但只能判断出在哪一行,不能判断出在哪一列,因此接下来就要进行键盘扫描,以确定具体是哪个按键被按下。键盘扫描的过程是将列线逐列置成低电平,然后读取行线状态,直到行线中出现低电平,这时可知哪一列是低电平;然后将行线与列线的状态装入键码寄存器, 进行按键译码,得到按下的按键的相应