C51矩阵式键盘程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
14Fra Baidu bibliotek1 键盘接口概述
• 在单片机的人机交互系统中,键盘用于向单片机 输入控制信号或数据。单片机识别键盘的不同输 入信号,并做出相应的反应。
14.1.1 独立式按键和矩阵式键盘
• 键盘有很多种类型,对于简单的系统,如果需要 的按键比较少,单片机引脚比较宽裕,则可以使 用独立式按键结构。对于比较复杂的系统或者按 键比较多的场合,可用采用矩阵式键盘。 • 1.独立式按键结构 • 2.矩阵式键盘结构
独立式按键的电路结构
4×4矩阵式键盘的结构
14.1.2 键盘设计注意事项
• 对于键盘的程序设计,需要及时并且准确地响应 按键的动作。在进行单片机键盘接口设计的时候, 需要注意如下几个方面。 • 1.合理的按键编码 • 2.可靠的输入检测 • 3.程序响应
14.2
矩阵式键盘C51程序设计
• 在实际应用中,大多采用矩阵式键盘。在程序设 计中,矩阵式键盘的扫描和检测有三种:扫描法、 线反转法和中断法。
C51矩阵式键盘程序设计
第14章 C51矩阵式键盘程序设计
• 在单片机应用系统中,除了完成基本的功能外,另一个最 重要的任务是设计优秀的人机交互接口。人机交互接口用 来实现控制命令及数据的输入,并且将系统运行信息显示 反映给操作者。键盘以按键的形式来设置控制功能或数据, 其是人机交互的最基本的途径。在键盘中,按键的输入状 态本质上是一个开关量。通过键盘为按键编码,从而实现 命令或数据的输入,以达到控制的目的。 • 在单片机应用系统中,有两种常用的键盘结构:独立式按 键和矩阵式按键。其中,独立式按键比较简单,适合于较 少开关量的输入场合,而矩阵式键盘则适合于输入命令或 者数据较多、功能复杂的系统。采用矩阵式键盘结构可以 最大限度地使用单片机的引脚资源,因此应用十分广泛。
14.2.1 扫描法及C51程序设计
• 扫描法是在程序中逐行或者逐列扫描查询键盘接口,根据端口的输入情况, 判断是哪一个按键被按下,然后分别调用不同的按键处理子程序。这里以 4×4矩阵式键盘为例进行介绍列扫描法。 在使用列扫描时,矩阵式键盘的电路结构如图所示,其中应将矩阵式键盘 的行线通过上拉电阻接正电源。此时,如果没有按键按下,则对应的行线 为高电平;如果有按键按下,对应交叉点的行线和列线短路,行线的输出 依赖于与此行连接的列的电平状态。由此逐列扫描键盘,便可以实现矩阵 式键盘的检测。 1.扫描法的流程 2.扫描法C51程序设计
•
• •
中断法原理图
14.3 C51矩阵式键盘设计实例
• 这里给出一个完整的矩阵式键盘设计实例,包括 电路图以及C51程序。其中,采用了应用最为广泛 的4×4矩阵式键盘和线反转法。单片机通过循环 调用线反转法子函数来获取按键的键值,然后根 据根据键值的大小,使发光二极管闪烁相应的次 数。
14.3.1 电路图
线反转法的流程图
14.2.3 中断法及C51程序设计
• 中断法是将键盘扫描程序放置在单片机的中断服务例程中的方法。当有按 键动作时,单片机响应中断,在中断服务例程中获取键值,然后根据键值 进行后续的按键处理子程序。 中断法的电路原理图,如图所示。其中,4×4矩阵式键盘的列线与单片机 P1口的高4位相连,行线与单片机P1口的低4位相连。P1.0~P1.3作为输入 端,P1.4~P1.7作为输出端。另外,矩阵式键盘的4根行线通过一个4输入 与门连接单片机的外部中断#INT0。当有按键动作的时候,触发外部中断0, 进而扫描键值。 1.中断法的流程 2.中断法C51程序设计
•
• •
扫描法的电路结构
14.2.2 线反转法及C51程序设计
• 线反转法是通过两次端口电平的反转操作来检测 按键输入,然后分别调用不同的按键处理子程序。 这里以4×4矩阵式键盘为例进行介绍。 • 在使用线反转法时,矩阵式键盘的电路结构如图 所示,其中应将矩阵式键盘的行线和列线通过上 拉电阻接正电源。 • 1.线反转法的流程 • 2.线反转法C51程序设计
• 该实例完整的电路图,如图所示。
电路图
14.3.2 程序设计
• 本例的程序功能是扫描查询4×4矩阵式键盘,如 果检测到按键按下,则根据键值的大小来控制发 光二极管闪烁的次数,否则将熄灭发光二极管。 程序中采用了线反转法。 • 1.创建项目 • 2.程序代码
14.4 小结
• 本章首先介绍了独立式按键和矩阵式键盘的结构, 以及键盘设计的注意事项。接着,重点介绍了3种 矩阵式键盘的设计方法,包括扫描法、线反转法 和中断法。在讲解过程中,均给出了键盘扫描流 程以及C51代码实例。最后通过一个完整实例,来 实现了矩阵式键盘在单片机系统的应用。在实例 中,采用的是4×4矩阵式键盘,并通过线反转法 来获取键值。矩阵式键盘应用十分广泛,熟练掌 握矩阵式键盘的使用是单片机人机接口设计的基 础。