项目5按键识别的设计PPT课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
CRYST AL
22p 18 XTAL2
P0.1/AD1 38 P0.2/AD2 37 P0.3/AD3 36
式的发光二极管(LED)和8个限流电阻,硬件电路原理 P0.4/AD4 35
C3
P0.5/AD5 34 P0.6/AD6 33
图所示。 10uF
R9
9 RST
P0.7/AD7 32 P2.0/A8 21
P3.0/RXD 10 P3.1/TXD 11 P3.2/INT0 12 P3.3/INT1 13
P3.4/T0 14 P3.5/T1 15 P3.6/WR 16 P3.7/RD 17
《单片机C语言应用技术与实践》 张永格 何乃味主编
北京交通大学出版社
2009年6月
任务1 单键控制LED的设计
• (2)独立式按键的软件设计 • 在单片机应用系统中主程序一般是循环结构,键盘程序
5 按键识别的设计
★ 知识目标: 1.了解单片机的定义、类型和应用领域; 2.掌握AT89S51单片机的封装形式、实物外形及各个引脚的功能; 3. 掌握AT89S51单片机最小系统的组成及相关电路的工作原理; 4. 掌握AT89S51单片机基本接口电路的组成及电路功能。
★: 1. 认识AT89S51单片机、晶体振荡器、RS-232串口端及电阻、电容
北京交通大学出版社
2009年6月
任务1 单键控制LED的设计 1.提出任务 • 用单键(即独立键盘中的按键)实现对LED进行控制,
每按一次按键时,LED显示方式变化一次,用以表示按 键控制的结果。
《单片机C语言应用技术与实践》 张永格 何乃味主编
北京交通大学出版社
2009年6月
任务1 单键控制LED的设计
《单片机C语言应用技术与实践》 张永格 何乃味主编
北京交通大学出版社
2009年6月
任务1 单键控制LED的设计 软件消抖流程图
《单片机C语言应用技术与实践》 张永格 何乃味主编
北京交通大学出版社
2wenku.baidu.com09年6月
任务1 单键控制LED的设计
3.源程序编写 • /* 文件名:xm5-1.c * /
• #include <reg51.h> // 包含头文件
作为子程序供主程序调用。单片机按键控制系统的主程 序结构图所示。
《单片机C语言应用技术与实践》 张永格 何乃味主编
北京交通大学出版社
2009年6月
任务1 单键控制LED的设计
• 上电初始化后便循环调用键盘程序、显示程序、功能处 理程序等。在循环的过程中还可能因中断而执行中断服 务程序。
• 另外,在键盘的软件设计中还要注意按键的去抖动问题。 由于按键一般是由机械式触点构成的,在按键按下和断 开的瞬间均有一个抖动过程,时间大约为5ms~10ms, 可能会造成单片机对按键的误识别。
2.任务分析
• (1)C硬1 件电路设计
• 以AT89S51单片机作为控制电路,按键连接至单片机的 22p U1 X1 19 XTAL1
P0.0/AD0 39
R8 R7 R6 R5 R4 R3 R2 R1
510 510 510 510 510 510 510 510
P1.0引脚,另一端接地,P2口外接8个采用共阳极连接方 C2
《单片机C语言应用技术与实践》 张永格 何乃味主编
北京交通大学出版社
2009年6月
任务1 单键控制LED的设计 •
物理按键抖动波形图
《单片机C语言应用技术与实践》 张永格 何乃味主编
北京交通大学出版社
2009年6月
任务1 单键控制LED的设计 • 按键消抖一般有两种方法,即硬件消抖和软件消抖。
硬件消抖方法
• 键盘上闭合键的识别由专用的硬件编码器实现,并产生 键编码号或键值的称为编码键盘,如计算机键盘。而靠 软件编程来识别的称为非编码键盘,在单片机组成的各 种系统中,使用最广泛的是非编码键盘。当然,也有用 到编码键盘的。
• 非编码键盘有分为:独立键盘和行列式(又称为矩阵式) 键盘。
《单片机C语言应用技术与实践》 张永格 何乃味主编
D8 D7 D6 D5 D4 D3 D2 D1
1k
P2.1/A9 22
P2.2/A10 23
29 PSEN
P2.3/A11 24
30 ALE
P2.4/A12 25
31 EA
AT 89S51
P2.5/A13 26
P2.6/A14 27
K
P2.7/A15 28
1 P1.0 2 P1.1 3 P1.2 4 P1.3 5 P1.4 6 P1.5 7 P1.6 8 P1.7
《单片机C语言应用技术与实践》 张永格 何乃味主编
北京交通大学出版社
2009年6月
任务1 单键控制LED的设计
在软件设计中,当单片机检测到有键按下时,可以先 延时一段时间越过抖动过程再对按键识别。
实际应用中,一般希望按键一次按下单片机只处理一 次,但由于单片机执行程序的速度很快,按键一次按 下可能被单片机多次处理。为避免此问题,可在按键 第一次按下时延时10ms之后再次检测按键是否按下, 如果此时按键仍然按下,则确定有按键输入。这样便 可以避免按键的重复处理。
• sbit key1=P1^0; // 按键定义
•
• void delay10ms(void)
// 延时10ms 子函数
•{
• unsigned char i,k;
// 变量定义
• for(i=20;i>0;i--)
// for语句循环体
• for(k=250;k>0;k--);
•}
《单片机C语言应用技术与实践》 张永格 何乃味主编
北京交通大学出版社
2009年6月
任务1 单键控制LED的设计
3.源程序编写
void main(void) {
char i=0xfe; P2=i; while(1) {
if(key1= =0) {
delay10ms(); if(key1==0) {
if((i&0x80)==0) i=i<<1; else i=(i<<1)+1; P2=i; while(key1==0); } } } }
等元器件。 2. 会搭建单片机最小系统应用电路; 3. 了解单片机应用系统的开发过程。
《单片机C语言应用技术与实践》 张永格 何乃味主编
北京交通大学出版社
2009年6月
任务1 单键控制LED的设计
• 在单片机应用系统中,键盘主要用于向计算机输入数据、 传送命令等,是人工干预计算机的主要手段。键盘要通 过接口与单片机相连,分为编码键盘和非编码键盘两类。