欢迎来到天天文库
浏览记录
ID:38547894
大小:375.31 KB
页数:12页
时间:2019-06-14
《C51矩阵式键盘程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第14章C51矩阵式键盘程序设计在单片机应用系统中,除了完成基本的功能外,另一个最重要的任务是设计优秀的人机交互接口。人机交互接口用来实现控制命令及数据的输入,并且将系统运行信息显示反映给操作者。键盘以按键的形式来设置控制功能或数据,其是人机交互的最基本的途径。在键盘中,按键的输入状态本质上是一个开关量。通过键盘为按键编码,从而实现命令或数据的输入,以达到控制的目的。在单片机应用系统中,有两种常用的键盘结构:独立式按键和矩阵式按键。其中,独立式按键比较简单,适合于较少开关量的输入场合,而矩阵式键盘则适合于输入命令或者数据较多、功能复杂的系
2、统。采用矩阵式键盘结构可以最大限度地使用单片机的引脚资源,因此应用十分广泛。14.1键盘接口概述在单片机的人机交互系统中,键盘用于向单片机输入控制信号或数据。单片机识别键盘的不同输入信号,并做出相应的反应。14.1.1独立式按键和矩阵式键盘键盘有很多种类型,对于简单的系统,如果需要的按键比较少,单片机引脚比较宽裕,则可以使用独立式按键结构。对于比较复杂的系统或者按键比较多的场合,可用采用矩阵式键盘。1.独立式按键结构2.矩阵式键盘结构独立式按键的电路结构4×4矩阵式键盘的结构14.1.2键盘设计注意事项对于键盘的程序设计,需要及时并且准确
3、地响应按键的动作。在进行单片机键盘接口设计的时候,需要注意如下几个方面。1.合理的按键编码2.可靠的输入检测3.程序响应14.2矩阵式键盘C51程序设计在实际应用中,大多采用矩阵式键盘。在程序设计中,矩阵式键盘的扫描和检测有三种:扫描法、线反转法和中断法。14.2.1扫描法及C51程序设计扫描法是在程序中逐行或者逐列扫描查询键盘接口,根据端口的输入情况,判断是哪一个按键被按下,然后分别调用不同的按键处理子程序。这里以4×4矩阵式键盘为例进行介绍列扫描法。在使用列扫描时,矩阵式键盘的电路结构如图所示,其中应将矩阵式键盘的行线通过上拉电阻接正
4、电源。此时,如果没有按键按下,则对应的行线为高电平;如果有按键按下,对应交叉点的行线和列线短路,行线的输出依赖于与此行连接的列的电平状态。由此逐列扫描键盘,便可以实现矩阵式键盘的检测。1.扫描法的流程2.扫描法C51程序设计扫描法的电路结构14.2.2线反转法及C51程序设计线反转法是通过两次端口电平的反转操作来检测按键输入,然后分别调用不同的按键处理子程序。这里以4×4矩阵式键盘为例进行介绍。在使用线反转法时,矩阵式键盘的电路结构如图所示,其中应将矩阵式键盘的行线和列线通过上拉电阻接正电源。1.线反转法的流程2.线反转法C51程序设计线
5、反转法的流程图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程序设
6、计中断法原理图14.3C51矩阵式键盘设计实例这里给出一个完整的矩阵式键盘设计实例,包括电路图以及C51程序。其中,采用了应用最为广泛的4×4矩阵式键盘和线反转法。单片机通过循环调用线反转法子函数来获取按键的键值,然后根据根据键值的大小,使发光二极管闪烁相应的次数。14.3.1电路图该实例完整的电路图,如图所示。电路图14.3.2程序设计本例的程序功能是扫描查询4×4矩阵式键盘,如果检测到按键按下,则根据键值的大小来控制发光二极管闪烁的次数,否则将熄灭发光二极管。程序中采用了线反转法。1.创建项目2.程序代码14.4小结本章首先介绍了独立
7、式按键和矩阵式键盘的结构,以及键盘设计的注意事项。接着,重点介绍了3种矩阵式键盘的设计方法,包括扫描法、线反转法和中断法。在讲解过程中,均给出了键盘扫描流程以及C51代码实例。最后通过一个完整实例,来实现了矩阵式键盘在单片机系统的应用。在实例中,采用的是4×4矩阵式键盘,并通过线反转法来获取键值。矩阵式键盘应用十分广泛,熟练掌握矩阵式键盘的使用是单片机人机接口设计的基础。
此文档下载收益归作者所有