0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用单片机实现一键多功能按键识别的设计实验说明

Wildesbeast ? 来源:单片机教程网 ? 作者:h1654155169.2086 ? 2020-05-30 11:01 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

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

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.程序框图

图4.9.2

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 《AT89X51.H》

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;

}

}

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 二极管
    +关注

    关注

    148

    文章

    10122

    浏览量

    172208
  • 单片机
    +关注

    关注

    6068

    文章

    45037

    浏览量

    652443
  • AT89S51
    +关注

    关注

    3

    文章

    229

    浏览量

    34553
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    图解单片机功能与应用(完整版)

    过程通道图解、单片机显示电路图解、51单片机按键识别电路图解、51单片机常用算法图解、单片机常用
    发表于 06-16 16:52

    基于51单片机多功能万年历设计

    基于51单片机多功能万年历设计? ? 本项目是基于51单片机STC89系列,运用protues仿真软件开发,使用模块化编程方法,模块化电路设计,硬件部分采用
    发表于 06-03 17:17 ?0次下载

    电源一键多用:POWER_ON从开机到场景指挥官!

    按键,即开关机,在结构设计上可以实现 一键多用 ——既可以有效减少结构的按键设计,也可以使整机更加简洁。 本文以Air8000核心板为例,
    的头像 发表于 05-15 14:10 ?1969次阅读
    电源<b class='flag-5'>键</b>的<b class='flag-5'>一键</b>多用:POWER_ON从开机到场景指挥官!

    U盘一键制作

    在电脑维修中启动盘很重要,靠谱的u盘一键启动制作方法
    发表于 05-06 16:10 ?44次下载

    基于51/32单片机按键控制步进电机正反转,A4988驱动

    基于51/32单片机按键控制步进电机正反转,A4988驱动
    发表于 04-14 15:05 ?5次下载

    LoRa无线一键报警安防建设方案

    SOS紧急呼叫按钮具有紧急情况下一键报警的功能,可与报警主机配合使用,支持标准LoRaWAN协议。lora紧急按钮具有紧急情况下一键报警功能,可与报警主机配合使用,支持标准LoRaWA
    的头像 发表于 02-28 14:41 ?625次阅读
    LoRa无线<b class='flag-5'>一键</b>报警安防建设方案

    开关柜一键顺控在一键停电、一键送电中的作用

    蜀瑞创新为大家科普,开关柜一键顺控技术在一键停电和一键送电中发挥了快速响应、减少人为错误、提高安全性、简化操作流程、降低操作风险、提高送电成功率等综合优势,对于提升电力系统的运行效率、安全性以及自动化水平具有重要意义。
    的头像 发表于 02-27 09:13 ?786次阅读

    蓝桥杯中GPIO输入之按键实验

    常见的是触点式开关按键。在单片机应用系统中,除了复位按键有专门的复位电路及专的复位功能外,其他按键
    的头像 发表于 01-09 21:02 ?881次阅读
    蓝桥杯中GPIO输入之<b class='flag-5'>按键</b><b class='flag-5'>实验</b>

    上位如何实现发送参数给单片机单片机保存接收的参数重复运行指定的功能

    简单说明下发这个贴子/问答的原因,很早以前就想实现这个功能了,但是直没有找到好的方法,也没有什么思路,所以发帖问
    发表于 12-04 08:19

    开关柜一键顺控在化工领域的应用

    蜀瑞创新为大家分享:在化工生产线中,电气控制系统是保障生产顺利进行的关键。一键顺控技术可以应用于生产线上的电气控制,实现设备的自动启停、顺序控制等功能,提高生产线的自动化水平和生产效率。通过
    的头像 发表于 11-29 10:50 ?644次阅读

    在中压开关柜上使用微机五防锁是否可以实现一键顺控

    蜀瑞创新为大家科普:虽然微机五防锁是实现一键顺控”的重要组成部分之,但它本身并不能单独完成整个过程。需要结合其他自动化控制技术和设备,以及合适的软件平台来实现真正的“
    的头像 发表于 11-06 11:58 ?786次阅读
    在中压开关柜上使用微机五防锁是否可以<b class='flag-5'>实现</b><b class='flag-5'>一键</b>顺控

    人机界面在开关柜一键顺控中起到什么作用?

    人机界面在一键顺控系统中发挥着操作指令输入、状态显示与反馈、参数设置与配置以及提升操作便利性和安全性等重要作用。它是实现一键顺控功能不可或缺的关键组成部分。蜀瑞创新专注智能开关柜
    的头像 发表于 11-05 10:02 ?667次阅读
    人机界面在开关柜<b class='flag-5'>一键</b>顺控中起到什么作用?

    一键开关机电路的工作原理是什么

    一键开关机电路的工作原理涉及多个电子元件的协同工作,主要包括MOS管、三极管、电容、电阻以及可能的单片机(MCU)等。 、电路组成 一键开关机电路通常由以下几个关键元件组成: MOS
    的头像 发表于 10-07 18:11 ?2700次阅读
    <b class='flag-5'>一键</b>开关机电路的工作原理是什么

    一键断电开关的种类有哪些

    一键断电开关的种类主要可以从其功能实现方式上进行分类。以下是些常见的一键断电开关种类: 1. 继电器式
    的头像 发表于 09-13 16:45 ?3448次阅读

    一键断电开关的控制原理是什么

    一键断电开关,也被称为紧急断电开关或紧急停止开关,是种安全装置,用于在紧急情况下迅速切断电源,以防止事故的发生或扩大。这种开关的设计和应用在工业、实验室、医疗设备以及任何需要快速断电的场合都
    的头像 发表于 09-13 16:28 ?3933次阅读