单片机应用技术项目教程(C语言版)项目四 键盘设计与实现
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
工作任务:使用AT89S52单片机,设计一个具有8个按键 的独立式键盘,每个按键对应一个发光二极管。功能要求: 无键按下时,键盘输出全为“1”,发光二极管全部熄灭; 有键按下时,其所对应发光二极管点亮。
C3
R9
10k 10uF
C1 30pF X1
CRYSTAL
C2
30pF
U1
19 XTAL1
18 XTAL2
软件上采取的措施是在检测到有按键按下时,执 行一个10ms左右(具体时间应视所使用的按键进 行调整)的延时程序,再确认该键电平是否仍保持 闭合状态电平,若仍保持闭合状态电平,则确认 该键处于闭合状态,从而消除抖动的影响。
这里我们主要介绍单片机中常用的非编码键盘 (用的是触点式开关按键)
4.1.2 独立式键盘电路设计
C1
C2
R10
30pF X1
30pF
U1
10k
C3
R9
10k 10uF
CRYSTAL
19 XTAL1 18 XTAL2 9 RST
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
R16
10k
R17
10k
4.1.1 认识键盘
键盘是单片机应用系统中人机交流不可缺少的输 入设备。用于输入数据和控制信息。
键盘由一组规则排列的按键组成,键盘通常使用 机械触点式按键开关。
常见的种类有:
➢ 查询(独立)式键盘:结构简单、占资源多、适合按 键少的单片机应用系统。
➢ 矩阵式键盘:结构复杂、占资源少、适合按键多的单 片机应用系统。
I/O线的状态。
4.1.3 独立式键盘程序设计
1、功能分析: 无键按下时,P0的8个I/O口线均通过电阻接高电
平,信息为“1” ,P1口输出全为“1”发光二极 管全部熄灭。
有键按下,将使对应的I/O口线通过该键接地,信 息为“0” ,P1口对应的口线输出低电平,其连接 的发光二极管点亮。
因此,CPU可以通过检测P0的8个I/O口线哪个是 “0”就可以识别是否有键按下,并能识别出是哪 一个键按下。另外注意键盘防抖的问题。
P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
AT89S52
P0.0/AD0 P0.1/AD1 P0.2/AD2 P0.3/AD3 P0.4/AD4 P0.5/AD5 P0.6/AD6 P0.7/AD7
39 38 37 36 35 34 33 32
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/TXD P3.2/INT0 P3.3/INT1
P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
10 11 12 13 14 15 16 17
10k
R16
10k
R17
10k AT89S52
1、画出按键电路简化图 2、特点:每个按键单独占有一根I/O线,每个按键的工作不会影响其它
39 38 37 36 35 34 33 32
R11
10kLeabharlann Baidu
R12
10k
R13
R8
R7
R6
R5
R4
R3
R2
R1
220
220
220
220
220
220
220
220
D8
LED-RED
D7
LED-RED
D6
LED-RED
D5
LED-RED
D4
LED-RED
D3
LED-RED
D2
LED-RED
D1
29 30 31
PSEN ALE EA
LED-RED
P2.0/A8 P2.1/A9 P2.2/A10 P2.3/A11 P2.4/A12 P2.5/A13 P2.6/A14 P2.7/A15
21 22 23 24 25 26 27 28
10k
R14
10k
R15
1 2 3 4 5 6 7 8
P1.0/T2 P1.1/T2EX P1.2 P1.3 P1.4 P1.5 P1.6 P1.7
21 22 23 24 25 26 27 28
P3.0/RXD P3.1/TXD P3.2/INT0 P3.3/INT1
P3.4/T0 P3.5/T1 P3.6/WR P3.7/RD
10 11 12 13 14 15 16 17
R10
10k
R11
10k
R12
10k
R13
10k
R14
10k
R15
10k
2、独立式键盘程序:
独立式键盘程序 演示 某一键按下,对应LED亮,多个按键按下 LED不
亮,为什么?分析程序。
如果在多个键按下时,对应的LED都亮,怎么修 改程序?
假设8个按键分别为1~8,用数码管显示按下的按 键编号。怎样设计?
4.1.4 键盘防抖动措施
机械式按键在按下或释放时, 由于机械弹性作用的影响, 通常伴随有一定时间的触点 机械抖动,然后其触点才稳 定下来。
其抖动过程如右图所示,若 有抖动,按键按下会被错误 地认为是多次操作。抖动时 间的长短与开关的机械特性 有关,一般为510ms。
键按下
前沿抖动
后沿抖动
闭合 稳定
按键触点的机械抖动
防抖动措施
为了克服按键触点机械抖动所致的检测误判,必 须采取去抖动措施,可从硬件、软件两方面予以 考虑。
➢ 键数较少时,采用硬件去抖; ➢ 键数较多时,采用软件去抖。
R8
220
D8
LED-RED
R7
220
D7
LED-RED
R6
220
D6
LED-RED
R5
220
D5
LED-RED
R4
220
D4
LED-RED
R3
220
D3
LED-RED
R2
220
D2
LED-RED
R1
220
D1
LED-RED
9 RST
29 30 31
PSEN ALE EA
1 2 3 4 5 6 7 8
“十二五”职业教育国家规划教材
(经全国职业教育教材审定委员会审定)
单片机应用技术项目教程--C语言版 (第二版)
项目四 键盘的设计与实现
教学目的
掌握键盘电路的设计方法和编程方法 。 了解中断的基本概念和功能。 掌握51单片机中断系统的结构和控制方式。 掌握中断系统的中断处理过程。
4.1 模块9 独立式键盘设计与实现
■ 键盘分类:
按键按照结构原理可分为两类
触点式开关按键,如机械式开关、导电橡胶式开关等; 无触点开关按键,如电气式按键,磁感应按键等。前
者造价低,后者寿命长。
按键按照接口原理可分为两类
编码键盘,主要是用硬件来实现对按键的识别,硬件 结构复杂;
非编码键盘,主要是由软件来实现按键的定义与识别, 硬件结构简单,软件编程量大。