当前课程知识点:单片机原理及应用 >  7 I/O扩展及应用 >  7.6 按键处理程序及举例 >  按键处理程序及举例

返回《单片机原理及应用》慕课在线视频课程列表

按键处理程序及举例在线视频

按键处理程序及举例

下一节: 键盘扫描子程序

返回《单片机原理及应用》慕课在线视频列表

按键处理程序及举例课程教案、知识点、字幕

同学

你好

我们前面介绍了一下单片机的键盘技术

今天我们就来介绍一下

单片机键盘的程序编写的具体的思路

硬件键盘接了之后

我们就要进行程序的编写

通过程序来进行按键的处理

键盘处理程序要考虑的问题是什么

我们这里面就给出了这个按键处理程序的

设计的具体的思路

我们给出了是延时消抖扫描法

来进行按键处理程序的逻辑框图

请同学们仔细地阅读该框图

理解每一步模块的具体功能

在具体的案件程序编写中

同学们可以按照这种逻辑步骤

用具体的指令来实现每一个模块的功能

最终实现按键处理程序的编写

下面让我们来具体的来看一看

键盘处理程序的逻辑功能模块

首先第一步我们要编一个模块

来测试一下是否有按键输入

如果有下一步就要进行延时消抖

当然如果没有

就再返回来继续等待按键的输入

如果下一步就是要进行延时消抖

延时消抖之后再来确认是不是真的有按键

有时候会把这个抖动误认为是有按键按下

所以当进一步确定确实有按键按下之后

就是yes之后再进行下一步

通过键的扫描法来求取键号

获得键号之后再来进行延迟

等待按键的按下

因为如果你按键不按下就进一步处理

可能我们单片机就对同一个按键

会进行反复的处理

在这里面要判断一下按键是否释放

如果没有释放继续等待

一旦有了释放

下一步就是键的译码

通过键的译码方法来求取这个键的键值

有了键值之后

如果是数字键就对数字键

来进行相应的处理

如果不是数字键

可能是功能符号键

就跳转到功能符号的子程序去处理

以上就是按键处理程序逻辑的框图

当然具体程序编写中

你需要用具体的指令来实现框图中的

每一个模块

好了

了解了这个案件处理程序之后

下面我们来看一下51单片机

外接矩阵键盘的一个实例

如图所示

我们利用的是一个8155的芯片

来扩展51单片机的并口

并利用8155的八位PA口

和这个PC口的低四位

构建了一个含有32个按键的矩阵式的键盘

按键位置的编号如图所示

根据硬件连线可知

8155的PA口的地址是0101H

PC口的地址是0103H

键盘我们采用扫描法

列线输出

行线输入

列线逐列输出0

某行如果有按键行线的输入就为0

若没有按键

行线的输入全部为1

在具体的按键处理程序中

我们首先来看一看怎么来进行处理

那么在具体的按键处理中

我们将首先判断有无按键按下

为此我们设计了这么一个有无键按下的子程序KS1

请同学们根据注释仔细地阅读该段程序

我们可以看出

那么执行KS1子程序的结果就是

如果键盘有键按下

累加器A不等于0

如果没有键按下

累加器就为0

当然该子程序只能判断出键盘中有没有键按下

至于具体是哪一个键按下

该键的键码是多少

还需要进一步的编写程序来处理

我们会在后面的课程中

来详细的写程序

按键的哪个键被按下

键号是多少

键码是多少

我们在下面的课程中会进行详细的讲解

好的

今天我们主要介绍了一下

按键处理程序设计的逻辑框图

通过一个具体的实例

看到了怎么样利用8155并口扩展芯片

来设计一个外接的一个矩阵式的键盘

同时给出了有无按键按下的一个子程序

好的

就到这里

同学们再见

单片机原理及应用课程列表:

1 单片机系统概述

-1.1 单片机的名称

--单片机的名称

-1.2 单片机的相关概念

--单片机的相关概念

-1.3 单片机的设计语言及软件

--单片机的设计语言及软件

-1.4 单片机的发展

--单片机的发展

-1.5单片机的应用

--单片机的应用

-1.6 第一单元作业

2 单片机的硬件结构

-2.1 单片机的结构框图

--单片机的结构框图

-2.2 80C51内部结构

--80C51内部结构

-2.3 信号引脚

--信号引脚

-2.4 内部数据存储器RAM

--内部数据存储器RAM

-2.5 特殊功能寄存器

--特殊功能寄存器

-2.6 堆栈

--堆栈

-2.7 内部程序存储器ROM

--内部程序存储器ROM

-2.8 存储器的结构特点

--存储器的结构特点

-2.9 并行输入输出接口电路

--并行输入输出接口电路

-2.10 并口功能与时序

--并口功能与时序

-2.11 工作方式

--工作方式

-2.12 最小应用系统

-- 最小应用系统

-2.13 第二单元作业

3 指令系统

-3.1 指令格式

--指令格式

-3.2 立即寻址与直接寻址

--立即寻址与直接寻址

-3.3 寄存器寻址与寄存器间接寻址

--寄存器寻址与寄存器间接寻址

-3.4 变址间接寻址与位寻址

--变址间接寻址与位寻址

-3.5 内部RAM传送指令

--内部RAM传送指令

-3.6 外部RAM传送指令

--外部RAM传送指令

-3.7 ROM传送指令

--ROM传送指令

-3.8 交换指令

--交换指令

-3.9 堆栈操作指令

--堆栈操作指令

-3.10 传送类指令习题讲解

--传送类指令习题讲解

-3.11 算术运算类指令特点

--算术运算类指令特点

-3.12 加法指令

--加法指令

-3.13 加法习题、减法和乘除指令

--加法习题、减法和乘除指令

-3.14 逻辑运算指令

--逻辑运算指令

-3.15 布尔变量操作指令

--布尔变量操作指令

-3.16 无条件转移指令

--无条件转移指令

-3.17 条件转移指令

--条件转移指令

-3.18 循环转移指令

--循环转移指令

-3.19 子程序相关指令

--子程序相关指令

-3.20 并口访问指令及指令小结

--并口访问指令及指令小结

-3.21 第三单元作业

4 汇编语言程序设计

-4.1 汇编程序约定

--汇编程序约定

-4.2 宏指令

--宏指令

-4.3 汇编控制指令

--汇编控制指令

-4.4 汇编语言程序设计步骤

--汇编语言程序设计步骤

-4.5 顺序程序举例

-- 顺序程序举例

-4.6 单重分支结构

--单重分支结构

-4.7 多重分支结构

--多重分支结构

-4.8 单重循环结构

--单重循环结构

-4.9 计数控制循环程序

--计数控制循环程序

-4.10 特征控制循环程序

-- 特征控制循环程序

-4.11 多重循环程序

--多重循环程序

-4.12 子程序的概念

--子程序的概念

-4.13 子程序设计注意事项

--子程序设计注意事项

-4.14 子程序举例

--子程序举例

-4.15 第四单元作业

5 单片机存储器扩展

-5.1 系统扩展

--系统扩展

-5.2 51单片机扩展方法

--51单片机扩展方法

-5.3 存储器单元位数扩充方法

--存储器单元位数扩充方法

-5.4 存储器容量单元扩充方法

--存储器容量单元扩充方法

-5.5 译码线选法

--译码线选法

-5.6 程序存储器的类型

--程序存储器的类型

-5.7 程序存储器的扩展

--程序存储器的扩展

-5.8 数据存储器的扩展

--数据存储器的扩展

-5.9 存储器综合扩展

--存储器综合扩展

-5.10 单片机存储器系统的特点

-- 单片机存储器系统的特点

-5.11 第五单元作业

6 中断与定时系统

-6.1 中断技术

--中断技术

-6.2 中断优先级及中断系统内部结构

--中断优先级及中断系统内部结构

-6.3 中断控制寄存器及中断响应过程

--中断控制寄存器及中断响应过程

-6.4 中断请求的撤消

--中断请求的撤消

-6.5 外部中断举例

--外部中断举例

-6.6 定时器/计数器

--定时器/计数器

-6.7 定时计数器工作方式及程序编写

--定时计数器工作方式及程序编写

-6.8 定时器举例

--定时器举例

-6.9 第六单元作业

7 I/O扩展及应用

-7.1 并行接口

-- 并行接口

-7.2 并口举例

--并口举例

-7.3 并口扩展芯片

--并口扩展芯片

-7.4 8155连接方式及编程

--8155连接方式及编程

-7.5 键盘接口技术

--键盘接口技术

-7.6 按键处理程序及举例

--按键处理程序及举例

-7.7 键盘扫描子程序

-- 键盘扫描子程序

-7.8 显示接口技术

--显示接口技术

-7.9 多位字符静态显示

--多位字符静态显示

-7.10 多位字符动态显示

--多位字符动态显示

-7.11 第七单元作业

8 单片机实验

-8.1 流水灯控制系统设计

--html

-8.2 数码管显示系统设计

--html

-8.3 按键控制系统设计

--html

-8.4 中断控制系统设计

--html

-8.5 定时计数器系统设计

--html

-8.6 串口通信系统设计

--html

-8.7 汉字显示系统设计

--html

-8.8 单片机烧录方法

--单片机烧录方法

-8.9 第八章作业-作业

按键处理程序及举例笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。