专栏中心

EEPW首页 > 专栏 > 一键多功能按键识别技术

一键多功能按键识别技术

发布人:patton 时间:2008-04-10 来源:工程师 发布文章

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.电路原理图

与上一个试验原理图相同

3.程序设计方法

(1. 设计思想由来
在我们生活中,我们很容易通过这个叫张三,那个叫李四,另外一个是王五;那是因为每个人有不同的名子,我们就很快认出,同样,对于要通过一个按键来识别每种不同的功能,我们给每个不同的功能模块用不同的ID号标识,这样,每按下一次按键,ID的值是不相同的,所以单片机就很容易识别不同功能的身份了。
(2. 设计方法
从上面的要求我们可以看出,L1到L4发光二极管在每个时刻的闪烁的时间是受开关SP1来控制,我们给L1到L4闪烁的时段定义出不同的ID号,当L1在闪烁时,ID=0;当L2在闪烁时,ID=1;当L3在闪烁时,ID=2;当L4在闪烁时,ID=3;很显然,只要每次按下开关K1时,分别给出不同的 ID号我们就能够完成上面的任务了。下面给出有关程序设计的框图。

4.程序框图


5.汇编源程序
ID EQU 30H
SP1 BIT P3.7
L1 BIT P1.0
L2 BIT P1.1
L3 BIT P1.2
L4 BIT P1.3
ORG 0
MOV ID,#00H
START: JB K1,REL
LCALL DELAY10MS
JB K1,REL
INC ID
MOV A,ID
CJNE A,#04,REL
MOV ID,#00H
REL: JNB K1,$
MOV A,ID
CJNE A,#00H,IS0
CPL L1
LCALL DELAY
SJMP START
IS0: CJNE A,#01H,IS1
CPL L2
LCALL DELAY
SJMP START
IS1: CJNE A,#02H,IS2
CPL L3
LCALL DELAY
SJMP START
IS2: CJNE A,#03H,IS3
CPL L4
LCALL DELAY
SJMP START
IS3: LJMP START
DELAY10MS: MOV R6,#20
LOOP1: MOV R7,#248
DJNZ R7,$
DJNZ R6,LOOP1
RET
DELAY: MOV R5,#20
LOOP2: LCALL DELAY10MS
DJNZ R5,LOOP2
RET
END

专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们

关键词:

相关推荐

基于MSPM0G3507的非接触门禁控制系统

消息称RTX 5090、5080首发供应量极为有限:1.6万起售价恐要加价1倍买!

设计指南-数字电位器

诺基亚智能手机正式停产

Motorola DSP56824 16位数字信号处理器

GPU芯片,巨变前夜

智能计算 2025-01-20

2029年,半导体行业「奇点」来临

智能计算 2025-01-20

晶圆级芯片迎来重磅玩家,未来可期

EDA/PCB 2025-01-20

如何选择一个电源模块

视频 2011-10-17

设计指南-为什么我们需要斩波放大器

极越启动用户定金退款登记,1月22日起退定金

汽车电子 2025-01-20

设计指南-低功耗压力传感器

设计功率器件中的散热考虑

视频 2011-10-17

IDC:2024 年中国智能手机出货量约 2.86 亿台同比增长 5.6%

消息称索尼 PS6 已完成芯片设计,采用 AMD \"gfx13\" GPU 早期分支

EDA/PCB 2025-01-20

国产GPU独角兽,开启IPO

智能计算 2025-01-20
更多 培训课堂
更多 焦点
更多 视频

技术专区