一键多功能按键识别技术.DOC

上传人:天*** 文档编号:909634 上传时间:2018-11-06 格式:DOC 页数:5 大小:45.50KB
下载 相关 举报
一键多功能按键识别技术.DOC_第1页
第1页 / 共5页
一键多功能按键识别技术.DOC_第2页
第2页 / 共5页
一键多功能按键识别技术.DOC_第3页
第3页 / 共5页
一键多功能按键识别技术.DOC_第4页
第4页 / 共5页
一键多功能按键识别技术.DOC_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、AT89S51 单片机实验及实践教程- 53 -9 一键多功能按键识别技术1 实验任务如图 4.9.1 所示,开关 SP1 接在 P3.7/RD 管脚上,在 AT89S51 单片机的 P1 端口接有四个发光二极管,上电的时候,L1 接在 P1.0 管脚上的发光二极管在闪烁,当每一次按下开关 SP1 的时候,L2 接在 P1.1 管脚上的发光二极管在闪烁,再按下开关 SP1的时候,L3 接在 P1.2 管脚上的发光二极管在闪烁,再按下开关 SP1 的时候,L4 接在 P1.3 管脚上的发光二极管在闪烁,再按下开关 SP1 的时候,又轮到 L1 在闪烁了,如此轮流下去。2 电路原理图图 4.9.1

2、3 系统板上硬件连线(1 把“单片机系统”区域中的 P3.7/RD 端口连接到 “独立式键盘”区域中的 SP1 端口上;(2 把“单片机系统”区域中的 P1.0P1.4 端口用 8 芯排线连接到“八路发光二极管指示模块”区域中的“L1L8”端口上;要求,P1.0 连接到L1,P1.1 连接到 L2,P1.2 连接到 L3,P1.3 连接到 L4 上。AT89S51 单片机实验及实践教程- 54 -4 程序设计方法(1 设计思想由来在我们生活中,我们很容易通过这个叫张三,那个叫李四,另外一个是王五;那是因为每个人有不同的名子,我们就很快认出,同样,对于要通过一个按键来识别每种不同的功能,我们给每

3、个不同的功能模块用不同的 ID 号标识,这样,每按下一次按键,ID 的值是不相同的,所以单片机就很容易识别不同功能的身份了。(2 设计方法从上面的要求我们可以看出,L1 到 L4 发光二极管在每个时刻的闪烁的时间是受开关 SP1 来控制,我们给 L1 到 L4 闪烁的时段定义出不同的 ID 号,当 L1 在闪烁时,ID0;当 L2 在闪烁时,ID 1;当 L3 在闪烁时,ID 2;当 L4 在闪烁时,ID3;很显然,只要每次按下开关 K1 时,分别给出不同的 ID 号我们就能够完成上面的任务了。下面给出有关程序设计的框图。5 程序框图AT89S51 单片机实验及实践教程- 55 -图 4.9.

4、26 汇编源程序ID EQU 30HSP1 BIT P3.7L1 BIT P1.0L2 BIT P1.1L3 BIT P1.2L4 BIT P1.3ORG 0MOV ID,#00HSTART: JB K1,RELLCALL DELAY10MSJB K1,RELINC IDMOV A,IDCJNE A,#04,RELMOV ID,#00HREL: JNB K1,$AT89S51 单片机实验及实践教程- 56 -MOV A,IDCJNE A,#00H,IS0CPL L1LCALL DELAYSJMP STARTIS0: CJNE A,#01H,IS1CPL L2LCALL DELAYSJMP ST

5、ARTIS1: CJNE A,#02H,IS2CPL L3LCALL DELAYSJMP STARTIS2: CJNE A,#03H,IS3CPL L4LCALL DELAYSJMP STARTIS3: LJMP STARTDELAY10MS: MOV R6,#20LOOP1: MOV R7,#248DJNZ R7,$DJNZ R6,LOOP1RETDELAY: MOV R5,#20LOOP2: LCALL DELAY10MSDJNZ R5,LOOP2RETEND7 C 语言源程序#include unsigned char ID;void delay10ms(void)unsigned ch

6、ar i,j;for(i=20;i0;i-)for(j=248;j0;j-);void delay02s(void)unsigned char i;for(i=20;i0;i-)delay10ms();void main(void) while(1) if(P3_7=0)AT89S51 单片机实验及实践教程- 57 -delay10ms();if(P3_7=0)ID+;if(ID=4)ID=0;while(P3_7=0);switch(ID) case 0:P1_0=P1_0;delay02s();break;case 1:P1_1=P1_1;delay02s();break;case 2:P1_2=P1_2;delay02s();break;case 3:P1_3=P1_3;delay02s();break;

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

当前位置:首页 > 重点行业资料库 > 1

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。