单片机原理与接口技术教学课件第9章键盘接口技术

上传人:w****i 文档编号:92665194 上传时间:2019-07-12 格式:PPT 页数:15 大小:103.50KB
返回 下载 相关 举报
单片机原理与接口技术教学课件第9章键盘接口技术_第1页
第1页 / 共15页
单片机原理与接口技术教学课件第9章键盘接口技术_第2页
第2页 / 共15页
单片机原理与接口技术教学课件第9章键盘接口技术_第3页
第3页 / 共15页
单片机原理与接口技术教学课件第9章键盘接口技术_第4页
第4页 / 共15页
单片机原理与接口技术教学课件第9章键盘接口技术_第5页
第5页 / 共15页
点击查看更多>>
资源描述

《单片机原理与接口技术教学课件第9章键盘接口技术》由会员分享,可在线阅读,更多相关《单片机原理与接口技术教学课件第9章键盘接口技术(15页珍藏版)》请在金锄头文库上搜索。

1、第9章 键盘接口技术,本章主要内容,9.1 键盘的工作原理 9.2 独立式键盘接口设计与应用举例 9.3 矩阵式键盘接口设计与应用举例,9.1.1 键盘的工作原理与特点,键盘实质上是一组按键开关的集合。按键的闭合与否通常用高电平或低电平来进行检测。按键闭合时为低电平;按键断开时为高电平。因此通过电平高低状态的检测,便可确认按键按下与否。 由于机械触点的弹性作用,在闭合及断开的瞬间均伴随有一连串的抖动,为了确保CPU对一次按键动作只确认一次按键,必须消除抖动的影响。可采用硬件或软件两种方式消除抖动。,9.1.2 键盘输入接口与软件应完成的任务,一个完善的键盘控制程序应完成下述任务: 检测并判断是

2、否有键按下; 有键按下后,在无硬件消抖电路的情况下,应用软件延时方法消除抖动影响; 计算并确定按键的键值或键号; 程序根据计算出的键值进行一系列的动作处理和执行。,9.2 独立式键盘接口设计与应用举例,9.2.1 独立式键盘的工作原理 独立式键盘是指直接用I/O口线构成的单个按键电路。每个独立式键盘单独占有一根I/O口线,每根I/O口线的按键工作状态不会影响其它I/O口线的工作状态。独立式键盘接口电路配置灵活,软件结构简单,按键数量少时可采用这种按键电路。,9.2.2 独立式键盘应用举例,【例】编写键盘接口程序,KEY0KEY2分别是每个按键的功能处理程序。 K0 EQU P1.0 ;K0 =

3、 P1.0 K1 EQU P1.1 ;K1 = P1.1 K2 EQU P1.2 ;K2 = P1.2 ORG 0000H ;程序执行开始地址 LJMP START ;跳转到标号START执行 ORG 0100H START:MOV SP,#60H ;设置堆栈 MOV A,#0FFH MOV P1,A ;置P1口为输入方式 LOOP: JNB K0,KEY0 ;K0 = 0 即K0按键按下,则转向KEY0执行 JNB K1,KEY1 ;K1 = 0 即K1按键按下,则转向KEY1执行 JNB K2,KEY2 ;K2 = 0 即K2按键按下,则转向KEY2执行 JMP LOOP,KEY0: LC

4、ALL DELAY_15MS ;延时15ms消除抖动 JNB K0,$ ;判断K0是否放开,若K0 = 0则原地等待 : ;K0 = 1放开,执行K0的功能 JMP START KEY1: LCALL DELAY_15MS ;延时15ms消除抖动 JNB K1,$ ;判断K1是否放开,若K1 = 0则原地等待 : ;K1 = 1放开,执行K1的功能 JMP START KEY2: LCALL DELAY_15MS ;延时15ms消除抖动 JNB K2,$ ;判断K2是否放开,若K2= 0则原地等待 : ;K2 = 1放开,执行K2的功能 JMP START DELAY_15MS: ;延时15m

5、s子程序 RET END,9.3 矩阵式键盘接口设计与应用举例,9.3.1 矩阵式键盘的结构与工作原理 矩阵式键盘又称行列式键盘。用I/O口线组成行、列结构,按键设置在行列的交点上。工作原理是:按键设置在行列线的交叉点上,行、列线分别和按键开关两端相连,即矩阵式键盘两端都与单片机I/O口相连,当按键被按下时,其交点的行线和列线接通,使相应行线和列线上的电平发生变化,根据电平变化情况确定被按下的键。,9.3.2 矩阵式键盘的工作方式,一、编程扫描方式 编程扫描方式是利用CPU在完成其它工作之余,调用键盘扫描子程序,来响应键盘输入的请求。即对键盘的扫描采取程序控制方式,一旦进入按键扫描状态,反复地

6、扫描键盘,等待用户从键盘上输入。在执行键功能程序时,CPU将不再响应键入要求,直到CPU返回重新扫描键盘为止。 二、定时扫描方式 定时扫描工作方式是利用单片机内部定时器产生定时中断(例如10ms)CPU响应中断后对键盘进行扫描,并在有键按下时识别出该键并执行相应键功能程序。定时扫描工作方式的键盘硬件电路与编程扫描工作方式相同。 三、中断扫描方式 只有在键盘有键按下时,才执行键盘扫描并执行该键功能程序;如果无键按下时,CPU将不理睬键盘。即前两种扫描方式,CPU对键盘的监视是主动进行的,而后一种扫描方式,CPU对键盘的监视是被动进行的。,9.3.3 矩阵式键盘的识别方式,一、行扫描法的原理 行扫

7、描法是在判定有键按下后逐行置低电平,其余各行置为高电平,同时读入列状态。若列状态出现非全1状态,这时0状态的行、列交点的键就是所按下的键。行扫描法的特点就是逐行(逐列)扫描查询。,二、线反转法的原理,线反转法的两个具体操作步骤: 第一步:将列线编程为输入线,将行线编程为输出线,并使输出线输出为全零电平,则列线中的电平由高到低发生变化的列为按键所在列。 第二步:将第一步中的传送方向反转过来,即将行线编程为输入线,列线编程为输出线,并输出第一步中的输入列值,则行线中电平由高到低发生变化的行即为按键所在行。 综合一、二两步的结果,可确定按键所在的行和列,从而识别出所按下的键。,线反转法原理图,9.3

8、.4 矩阵式键盘应用举例,单片机的P3口接44矩阵键盘,低4位P3.0P3.3用于行控制,作为输入线;高4位P3.4P3.7用于列控制,作为输出线,通过软件中的逻辑运算控制使同一个并行口的不同引脚工作在不同的输入输出方式下,来实现线反转法的键盘识别工作。P2口接一个数码管,用以显示每个按键的“0F”序号。,汇编语言源程序如下: ORG 0000H LJMP START ORG 0100H START: MOV SP,#60H ;设置堆栈 KEY0: MOV P3,#0EFH ;置P3.4=0 JNB P3.0,K0 ;P3.0=0则转移到K0 JNB P3.1,K4 JNB P3.2,K8 JNB P3.3,K12 . K0: MOV P2,#0C0H ;显示“0”(共阳极) LCALL DELAY ;延时 JMP KEY0 K1: MOV P2,#0F9H ;显示“1” LCALL DELAY ;延时 JMP KEY0,本章结束,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 其它相关文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号