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

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

3天内不再提示

基于51单片机的独立按键设计

天才小狸花 来源:Sigle_chip 作者:Sigle_chip 2022-08-22 10:11 次阅读

导语:

单片机在运用到实际的产品中,不仅仅只使用IO输出去控制,更多的时候,我们需要收到一些信号,比如数字信号interwetten与威廉的赔率体系 量信号等。

按键作为一种人机交互的方式,被广泛的应用在各个工业控制领域。

通过单片机的轮询来检测按键的电平变化,实现相应的功能。独立按键通过独占IO,简化程序的设计,但与此对于的是需要占用IO,比较浪费IO,所以可以通过分时片选复用的方式实现8个IO使用16个按键,本节介绍单个IO的输入。

pYYBAGL7qIGAbCo7AACQhIq-5iA209.png

轻触开关

俗称按键,常开型,按下后会自动弹起,恢复到断开状态。机械开关都伴随着抖动,由于金属触点的弹性作用,一个按键开关在闭合时不会马上就稳定的接通,在断开时也不会一下子彻底断开,而是在闭合和断开的瞬间伴随了一连串的抖动。

poYBAGHBTkGAXCPsAABGPFd25HE781.png

常见的解决方法有硬件电路解决,RS触发器,电容等方法。但与之对应的是成本的上升与电路的复杂性上升。

平时更常见的有软件上的算法,如延时等待按键抖动结束,但会导致程序运行的实时性降低。

51单片机上电后,除P0端口外,其余默认为高电平,单片机内部自带上拉电阻把电平拉高。在传统8051中,并不能设置单片机IO的输入输出模式。通过编写按键程序,识别电平从高到低的过程,从而实现交互。

在程序编写中,需要实现检测IO电平是否为低,同时需要实现

  1. 自锁,按键按下一次只运行一次任务,当按键松开后,才能按下下一次实现功能,不然一直执行功能。不要去实现长按功能。
  2. 消抖,按下后不稳定的电平变化会影响程序,通过延时去屏蔽掉这段时间。
  • if(Key0 == 0)
    {
    delay(20);
    if(Key0 == 0)
    {
    //功能代码;
    while(key0 == 0);
    }
    }

按键的抖动时间跟按下力度,本身属性有关,抖动时间不定,通常取经验值20ms。

独立按键较为简单,独立按键和矩阵按键本质上都是通过单片机的轮询来检测IO电平。

审核编辑:汤梓红

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

    关注

    6036

    文章

    44557

    浏览量

    635125
  • 51单片机
    +关注

    关注

    274

    文章

    5702

    浏览量

    123586
  • 独立按键
    +关注

    关注

    1

    文章

    45

    浏览量

    11562
收藏 人收藏

    评论

    相关推荐

    51单片机独立按键检测的学习笔记

    51单片机独立按键的结构图:当按下开关后,由于开关的两端是线与关系,因此导线上的电平时0,也就是说如果我们初始化与开关连接的IO口电平为1,当我们按下去以后,我们只要检测这个IO口的电
    发表于 04-02 11:35

    51单片机_独立按键延时消抖器消抖

    51单片机_独立按键延时消抖_独立按键定时器消抖_矩阵键盘定时器消抖1.
    发表于 07-16 13:56

    请问怎么实现51单片机独立按键和矩阵按键

    请问怎么实现51单片机独立按键和矩阵按键
    发表于 08-30 06:17

    什么是51单片机独立按键

    什么是51单片机独立按键
    发表于 11-03 06:04

    51单片机独立按键按键消抖及矩阵按键的电路与程序免费下载

    本文档的主要内容详细介绍的是51单片机独立按键按键消抖及矩阵按键的电路与程序免费下载。
    发表于 07-26 17:36 28次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>独立</b><b class='flag-5'>按键</b>和<b class='flag-5'>按键</b>消抖及矩阵<b class='flag-5'>按键</b>的电路与程序免费下载

    使用51单片机独立按键的程序免费下载

    本文档的主要内容详细介绍的是使用51单片机独立按键的程序免费下载。
    发表于 07-05 17:41 3次下载
    使用<b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>独立</b><b class='flag-5'>按键</b>的程序免费下载

    51单片机独立按键程序免费下载

    本文档的主要内容详细介绍的是51单片机独立按键程序免费下载。
    发表于 06-20 17:43 7次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>独立</b><b class='flag-5'>按键</b>程序免费下载

    51单片机独立按键

    独立按键就是每一个按键链接一个 MCU的引脚,每个按键之间没有任何关系,和LED 的操作类似,不过LED是写高低电平,而独立
    发表于 11-20 14:51 6次下载
    【<b class='flag-5'>51</b><b class='flag-5'>单片机</b>】<b class='flag-5'>独立</b><b class='flag-5'>按键</b>

    基于51单片机独立按键实验

    #include<reg51.h>#define uint unsigned int#define uchar unsigned charsbit duan = P2^6
    发表于 11-23 16:36 2次下载
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>独立</b><b class='flag-5'>按键</b>实验

    51单片机——独立按键

    独立按键介绍初始相邻两脚导通,另外两脚不导通。在闭合和断开时,会存在按键抖动现象。在代码中,需要进行消抖处理。按键连接引脚处一般有上拉电阻,故一般为高电平,
    发表于 11-23 16:36 42次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>——<b class='flag-5'>独立</b><b class='flag-5'>按键</b>

    51单片机独立按键

    1.原理:1.按键是一种电子开关,使用时轻轻按开关按钮就可使开关接通,当松开手时, 开关断开。2.由于机械点的弹性作用,按键开关在闭合时不会马上稳定的接通,在断开时 也不会一下 子断开,因而在闭合
    发表于 11-23 16:36 6次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>独立</b><b class='flag-5'>按键</b>

    51单片机——独立按键

    独立按键介绍初始相邻两脚导通,另外两脚不导通。在闭合和断开时,会存在按键抖动现象。在代码中,需要进行消抖处理。按键连接引脚处一般有上拉电阻,故一般为高电平,
    发表于 11-23 16:51 0次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b>——<b class='flag-5'>独立</b><b class='flag-5'>按键</b>

    51单片机独立按键数码管(模块化)

    51单片机独立按键数码管(C语言)基于普中51单片机开发板,运用定时器/计数器0。
    发表于 11-23 17:06 19次下载
    <b class='flag-5'>51</b><b class='flag-5'>单片机</b><b class='flag-5'>独立</b><b class='flag-5'>按键</b>数码管(模块化)

    基于89C51单片机独立按键依次输入数据源程序

    基于89C51单片机独立按键依次输入数据源程序
    发表于 05-16 09:12 3次下载

    基于51单片机独立按键实现原理

    I/O口,I代表Inpout,O代表Output。前面的所讲的点亮LED,是单片机输出高低电平,从而达到控制LED;这一讲将会通过按键输入电平,单片机检测到输入高低电平,将会有对应的动作。
    的头像 发表于 10-31 17:45 1375次阅读
    基于<b class='flag-5'>51</b><b class='flag-5'>单片机</b>的<b class='flag-5'>独立</b><b class='flag-5'>按键</b>实现原理