导语:

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

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

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

轻触开关

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

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

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

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

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

  1. 自锁,按键按下一次只运行一次任务,当按键松开后,才能按下下一次实现功能,不然一直执行功能。不要去实现长按功能。

  2. 消抖,按下后不稳定的电平变化会影响程序,通过延时去屏蔽掉这段时间。

    if(Key0 == 0)
    {delay(20);if(Key0 == 0){// 功能代码;while(key0 == 0);}
    }
    

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

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

元器件是电路良好运行的基本保证,找元器件现货上唯样商城,原厂授权 正品保障,品类齐全。

02_51入门_独立按键相关推荐

  1. 51单片机入门教程_独立按键控制系列

    一.老规矩 先上代码 #include <REGX52.H>void main() {while(1){if(P3_1==0 || P3_0==0) //如果K1按键或K2按键按下{P2_ ...

  2. 矩阵键盘程序_独立按键与矩阵按键

    一.独立按键原理 按键在闭合和断开时,触点会存在抖动现象 硬件消抖电路 独立按键控制程 二.独立按键控制程序 #include "reg52.h" typedef unsigned ...

  3. 51单片机入门学习------独立按键控制LED亮灭

    一.独立按键 1.特点:同侧导通,异侧断开 2.独立按键的I/O口  单片机上电后,所有I/O口默认都是高电平.没有按开关时都是高电平,按下后变成低电平. 寄存器通过检测高低电平检测按键是否被按下 1 ...

  4. 单片机独立式按键c语言程序,(原创)51单片机C语言程序设计--速学教程实例(入门篇)之独立按键(查询)...

    (原创)51单片机C语言程序设计--速学教程实例(入门篇)之独立按键(查询) /************************************************************ ...

  5. for循环延时_单片机的独立按键学习,实现60秒循环数字的启动暂停与清零

    想要学习单片机必须要准备单片机开发板一块,和单片机C语言版本的书籍,我会把每天录制视频的源代码到头条,并且录制相同文章名字视频到西瓜视频,如果你再学习独立按键这一块有不明白的地方可以点开我的头像,进入 ...

  6. 单片机按键防抖程序_单片机独立按键使用程序

    独立按键是单片机中很重要的一个器件,在这篇文章里,通过这个用独立按键控制LED灯的小程序来介绍独立按键开关的使用. 1.按键分类与输入原理         按键按照结构原理科分为两类,一类是触点式开关 ...

  7. 【Java从0到架构师】SpringBoot - 入门_配置文件_YAML

    SpringBoot - 入门_配置文件_YAML SpringBoot - 入门 @SpringBootApplication 可运行 jar - spring-boot-maven-plugin ...

  8. iHRM 人力资源管理系统_第9章_文件上传与PDF报表入门_第二节_PDF报表入门

    iHRM 人力资源管理系统_第9章_文件上传与PDF报表入门_第二节_PDF报表入门 文章目录 iHRM 人力资源管理系统_第9章_文件上传与PDF报表入门_第二节_PDF报表入门 PDF报表入门 3 ...

  9. (含代码)基于51单片机的红外遥控(独立按键)舵机开关灯控制

    硬件说明: 采用STC89C51作为主控芯片,结合SG90舵机模块,红外遥控(独立按键),等电路模块实现远程控制舵机. 应用实例: 在不改变外部电路的情况下,实现远程开灯,关灯. 远程控制机器开关状态 ...

最新文章

  1. spring 定时任务执行两次解决办法
  2. python特征选择的过程_【来点干货】机器学习中常用的特征选择方法及非常详细的Python实例...
  3. 机智云获取树莓派传来的数据_哪些数据对云来说太冒险了?
  4. LeetCode笔记:39. Combination Sum
  5. vmware workstation不可恢复错误:(vthread-7)
  6. java 配对问题_Java中的配对类是什么?
  7. php商品详情页页面代码,商品详情页是怎么生成的?
  8. 微信小程序倒计时功能
  9. 代码审查工具rietveld的安装与使用(一)
  10. SAP官方培训课程级别和PA认证介绍
  11. Justoj 2388最短区间 贪心
  12. 谷歌 发布android 8,2017谷歌大会正式发布Android 8.0!
  13. 八防区模块接线图_消防模块接线方法和接线图【借鉴实操】
  14. MP2451的BUCK电路
  15. 金仓数据库KingbaseES的表空间
  16. python 保障系统(一)
  17. 2020第二篇TED:The case for student health days
  18. 别让外包关系在谈判后止步(转)
  19. 【网页设计】基于HTML+CSS+JavaScript学生网上报到系统响应式网站
  20. 每日一个小技巧:如何去水印而不损图片?赶紧学起来

热门文章

  1. 运气比选择重要,选择比努力重要
  2. 硬盘低级格式化需谨记
  3. C#毕业设计——基于C#+asp.net+sqlserver的图书销售管理系统设计与实现(毕业论文+程序源码)——图书销售管理系统
  4. 万物心选——找到那份属于自己的归属
  5. 索泰新款 ZBox 怎么样
  6. 03_基于CNN的猫狗大战实现
  7. ppt最全的网站,你想要的应有尽有,模板素材图片都包含在内!
  8. 100张经典信息可视化图表,让你脑洞大开
  9. 2021年煤矿采煤机(掘进机)操作考试报名及煤矿采煤机(掘进机)操作考试技巧
  10. http协议基础笔记(请求报文及响应报文的组成)