项目六按键识别的设计
时间:2026-01-21
时间:2026-01-21
《单片机C语言应用技术与实践》 语言应用技术与实践》讲课稿主讲人: 计算机科学与技术系 主讲人: 陈爱文
YangZhou Vocational college of environment and resources
项目6 项目6
按键识别的设计
★ 知识目标: 1.了解单片机的定义、类型和应用领域; 了解单片机的定义、类型和应用领域; 2.掌握AT89S51单片机的封装形式、实物外形及各个引脚的功能; 掌握AT89S51单片机的封装形式、实物外形及各个引脚的功能; AT89S51单片机的封装形式 掌握AT89S51单片机最小系统的组成及相关电路的工作原理; AT89S51单片机最小系统的组成及相关电路的工作原理 3. 掌握AT89S51单片机最小系统的组成及相关电路的工作原理; 掌握AT89S51单片机基本接口电路的组成及电路功能。 AT89S51单片机基本接口电路的组成及电路功能 4. 掌握AT89S51单片机基本接口电路的组成及电路功能。 ★ 能力目标: 认识AT89S51单片机、晶体振荡器、RS-232串口端及电阻 AT89S51单片机 串口端及电阻、 1. 认识AT89S51单片机、晶体振荡器、RS-232串口端及电阻、电容 等元器件。 等元器件。 了解单片机应用系统的开发过程。 2. 了解单片机应用系统的开发过程。
任务1 任务1
单键控制LED的设计 单键控制LED的设计 LED
任务1 任务1
单键控制LED的设计 单键控制LED的设计 LED
按键按照结构原理可分为两类,一类是触点式开关按键, 如机械式开关、导电橡胶式开关等;另一类是无触点开关按键, 如电气式按键,磁感应按键等。前者造价低,后者寿命长。按 键按照接口原理可分为编码键盘与非编码键盘两类。 这两类键盘的主要区别是识别键符及给出相应键码的方法。 编码键盘主要是用硬件来实现对按键的识别,硬件结构复杂; 非编码键盘主要是由软件来实现按键的定义与识别,硬件结构 简单,软件编程量大。这里将要介绍的独立式按键和矩阵式键 盘都是非编码键盘。 键盘上闭合键的识别由专用的硬件编码器实现,并产生键 编码号或键值的称为编码键盘,如计算机键盘。而靠软件编程 来识别的称为非编码键盘,在单片机组成的各种系统中,使用 最广泛的是非编码键盘。当然,也有用到编码键盘的。
任务1 任务1
单键控制LED的设计 单键控制LED的设计 LED
按键的去抖机械式按键在按下或释放时,由于机械弹性作用的影响, 通常伴随有一定时间的触点机械抖动,然后其触点才稳 定下来,抖动时间一般为5~10ms,在触点抖动期间检测 按键的通与断状态,可能导致判断出错。键按下
前沿抖动
后沿抖动
闭合 稳定
任务1 任务1
单键控制LED的设计 单键控制LED的设计 LED
按键的去抖
(a)检测按键 按键去抖
流程图
(b)释放按键
任务1 任务1
单键控制LED的设计 单键控制LED的设计 LED
独立式按键
独立式按键电路配置灵活,软件结构简单,但每个按键必须占 用一根I/O口线,因此,在按键较多时,I/O口线浪费较大,不宜采 用。
任务1 任务1
单键控制LED的设计 单键控制LED的设计 LED
矩阵式按键
通常,矩阵式键盘的列线由单片机输出口控制, 行线连接单片机的输入口。
任务1 任务1
单键控制LED的设计 单键控制LED的设计 LED
矩阵式按键键盘编程扫描法识别按键一般应包括以下内容: (1)判别有无键按下。 (2)键盘扫描取得闭合键的行、列号。 (3)用计算法或查表法得到键值。 (4)判断闭合键是否释放,如没释放则继续等待。 (5)将闭合键的键值保存,同时转去执行该闭合键的 功能。
任务1 单键控制LED LED的设计 任务1 单键控制LED的设计 1.提出任务 用单键(即独立键盘中的按键)实现对LED进行控制, 每按一次按键时,LED显示方式变化一次,用以表示按 键控制的结果。 2.任务分析C122p
U1 X119 XT AL1 CRYST AL 18 XT AL2 P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7 P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15 P3.0/RXD P3.1/T XD P3.2/INT0 P3.3/INT1 P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD 39 38 37 36 35 34 33 32 21 22 23 24 25 26 27 28 10 11 12 13 14 15 16 17
R8510
R7510
R6510
R5510
R4510
R3510
R2510
R1510
C222p
C39 10uF RST
D8
D7
D6
D5
D4
D3
D2
D1
R91k 29 30 31 PSEN ALE EA
AT 89S51
K1 2 3 4 5 6 7 8 P1.0 P1.1 P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
任务1 任务1
单键控制LED的设计 单键控制LED的设计 LED
(2)独立式按键的软件设计 在单片机应用系统中 主程序一般是循环结构,键盘程 序作为子程序供主程序调用。单片机按键控制系统的主 程序结构图所示。
任务1 任务1
单键控制LED的设计 单键控制LED的设计 LED
物理按键抖动波形图
任务1 任务1
单键控制LED的设计 单键控制LED的设计 LED
按键消抖一般有两种方法,即硬件消抖和软件消抖。
硬件消抖方法
任务1 任务1
单键控制LED的设计 单键控制LED的设计 LED
在软件设计中,当单片机检测到有键按下时, 可以先延时一段时间越过抖动过程再对按键识 别。 实际应用中,一般希望按键一次按下单片机 只处理一次,但由于单片机执行程序的速度很 快,按键一次按下可能被单片机多次处理。为 避免此问题,可在按键第一次按下时延时10 …… 此处隐藏:1053字,全部文档内容请下载后查看。喜欢就下载吧 ……
上一篇:早期教育对孩子的作用是什么