单片机一键多功能控制识别技术解析

在一些单片机系统中,有时候需要采用一些一键多功能的技术,今天在这里小编就给大家介绍一下。
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.电路原理图
3.系统板上硬件连线 (1).把“单片机系统”区域中的p3.7/rd端口连接到“独立式键盘”区域中的sp1端口上;
(2).把“单片机系统”区域中的p1.0-p1.4端口用8芯排线连接到“八路发光二极管指示模块”区域中的“l1-l8”端口上;要求,p1.0连接到l1,p1.1连接到l2,p1.2连接到l3,p1.3连接到l4上。
4.程序设计方法 (1)设计思想由来 在我们生活中,我们很容易通过这个叫张三,那个叫李四,另外一个是王五;那是因为每个人有不同的名子,我们就很快认出,同样,对于要通过一个按键来识别每种不同的功能,我们给每个不同的功能模块用不同的id号标识,这样,每按下一次按键,id的值是不相同的,所以单片机就很容易识别不同功能的身份了。
(2)设计方法 从上面的要求我们可以看出,l1到l4发光二极管在每个时刻的闪烁的时间是受开关sp1来控制,我们给l1到l4闪烁的时段定义出不同的id号,当l1在闪烁时,id=0;当l2在闪烁时,id=1;当l3在闪烁时,id=2;当l4在闪烁时,id=3;很显然,只要每次按下开关k1时,分别给出不同的id号我们就能够完成上面的任务了。下面给出有关程序设计的框图。
5.程序框图
6.汇编源程序 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
7.c语言源程序 #include
unsigned char id;
void delay10ms(void)
{
unsigned char i,j;
for(i=20;i》0;i--)
for(j=248;j》0;j--);
}
void delay02s(void) {
unsigned char i;
for(i=20;i》0;i--)
{delay10ms();
}
}
void main(void)
{ while(1)
{ if(p3_7==0)
{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;
}
}

7年前乔布斯发布了iPad,今天它正走向衰亡!新iPad Pro该走向何方?
灯丝灯的2016:踏上渠道的争途
Petal Search首次亮相国内,HMS或将替代谷歌GMS
基于数字孪生的工艺设计体系框架应用
基于专网LTE和公网全网通的智能通讯终端产品——GH820
单片机一键多功能控制识别技术解析
ADI公司最近推出了三路输出DC-DC控制器Power by Linear® LTC7815
加拿大专家警告:白领办公应远离白色办公桌
用特定晶体关联可见光与红外光:开启红外传感新视野
英特尔|在 AI、5G 和云产品组合方面为客户提供帮助
FPC柔性电路板性能测试是工艺流程中的重要环节
关于双通道Crucial英睿达DDR5-5600的评测分析
MAX14583E 高密度8:2多路复用器
用于无人机的毫米波雷达微带天线设计与实现
蓝牙/NFC结合 磁共振无线充电技术前景无限
浅谈单片机和嵌入式芯片方案选型问题
全球工业机器人需求旺盛 各巨头机器抢滩布局
A/D转换的原理以及相应的电路连接方法
从主流电动车企技术路线 聊聊动力电池的未来趋势
你知道IPC二级和IPC三级有什么区别吗?两者对PCB产品的影响又是什么呢?