独立按键是单片机中很重要的一个器件,在这篇文章里,通过这个用独立按键控制LED灯的小程序来介绍独立按键开关的使用。

1.按键分类与输入原理
        按键按照结构原理科分为两类,一类是触点式开关按键,如机械式开关、导电橡胶式开关灯;另一类是无触点式开关按键,如电气式按键,磁感应按键等。前者造价低,后者寿命长。目前,微机系统中最常见的是触点式开关按键。
        在单片机应用系统中,除了复位按键有专门的复位电路及专一的复位功能外,其他按键都是以开关状态来设置控制功能或输入数据的。当所设置的功能键或数字键按下时,计算机应用系统应完成该按键所设定的功能,键信息输入时与软件结构密切相关的过程。
         对于一组键或一个键盘,总有一个接口电路与CPU相连。CPU可以采用查询或中断方式了解有无将按键输入,并检查是哪一个按键按下,将该键号送人累加器,然后通过跳转指令转入执行该键的功能程序,执行完成后再返回主程序。
        2.按键结构与特点
        微机键盘通常使用机械触点式按键开关,其主要功能式把机械上的通断转换为电气上的逻辑关系。也就是说,它能提供标准的TTL逻辑电平,以便于通用数字系统的逻辑电平相容。机械式按键再按下或释放时,由于机械弹性作用的影响,通常伴随有一定的时间触点机械抖动,然后其触点才稳定下来。其抖动过程如下图1所示,抖动时间的长短与开关的机械特性有关,一般为5-10ms。在触点抖动期间检测按键的通与断,可能导致判断出错,即按键一次按下或释放错误的被认为是多次操作,这种情况是不允许出现的。为了克服你、按键触点机械抖动所致的检测误判,必须采取消抖措施。按键较少时,可采用硬件消抖;按键较多式,采用软件消抖。

#includetypedef unsigned int u16;typedef unsigned char u8;sbit key=P3^1; sbit led=P2^0;void delay(u16 num)//延时函数{ u16 x,y; for(x=num;x>0;x--)  for(y=110;y>0;y--) {  ; }}void main(void){ led=1; while(1){ if(key==0) {    delay(10);//消抖程序  if(key==0)  {  led=~led;//取反  }  while(!key);//使灯在开关下一次按下之前不发生变化,不跳出大循环 }}}

两次按下按键的结果图:

单片机按键防抖程序_单片机独立按键使用程序相关推荐

  1. 51单片机(二十五)—— 独立按键控制LED

    在51单片机的前面的文章中,我们主要讲述了单片机IO口的输出功能的应用,如LED控制.数码管控制等.这篇文章我们来讲解如何用单片机的IO口读取按键的状态,并根据按键的状态来控制LED.关于51单片机按 ...

  2. 蓝桥杯单片机比赛学习:3、独立按键与矩阵按键的基本原理

    独立按键 首先我们看一下按键的原理图,如图1,当J5中的2,3接在一起的时候,红线标注就是一个完整的电路图,此时只有s4.s5.s6.s7按键可以使用,也就是独立按键.例如:当我们按下s4时,电路导通 ...

  3. 4x4矩阵键盘工作原理及扫描程序_单片机人机交互矩阵按键

    按键是一种常开型按钮开关,与单片机的常见接法如图所示.按键未按下时两个触点断开,单片机I/O口输入高电平:当按键闭合时,I/O口输入低电平. 一.按键讲解 当I/O口为P0口时,由于没有内部上拉电阻, ...

  4. 寻路机器人单片机程序示例_C51独立按键的识别示例程序

    每按一次独立键盘的S2键,与P1口相连的一个发光二极管往下移动一位. #include sbit BY1=P3^4;      //定义按键的输入端S2键 unsigned char count; / ...

  5. 51单片机按键扫描程序汇编程序(独立按键与矩阵按键)(使用定时器)(可移植的汇编程序)矩阵键盘控制两个led数码管(汇编语言)与UART通信总结(上)

    一,按键控制数码管 1四按键控制程序(汇编) (您的关注点赞是作者创作的最大动力哦) //******************************************************* ...

  6. 51单片机雾化片自动扫频程序_单片机简介

    单片机简介 数字电路简介 在一个控制系统中, 单片机是电路的一部分, 单片机中的程序是针对其所在的电路编写 的.因此,要对单片机编程并实现一定的功能,必须了解整个系统的电路图.单片机编程是 针对某个特 ...

  7. 光敏电阻控制led亮度程序_单片机开发系统学习LED亮度控制原理

    早期控制LED亮度的方法一般是采用模拟电路来调节LED的工作电流来实现,这种方式灵活性较差,很难达到智能控制的效果.本文将介绍如何通过一个普通MCS51单片机来产生PWM信号,达到调节LED的亮度的目 ...

  8. 单片机人流统计装置的程序_单片机其实不难

    对于大学读电子方面专业的同学们,肯定知道有这么一个神奇的元器件,它枯燥难懂,但也十分吸引人,它就是我们今天要讲的元器件--单片机 单片机作为工业控制领域里面最核心的部件,它存在于每一台机器,小到扫地机 ...

  9. 独立按键和矩阵按键c语言,第八章 独立按键和矩阵按键

    我们和单片机之间进行信息交互,主要包含两大类,输入设备和输出设备.前边讲的LED小灯.数码管.点阵都是输出设备,这节课我们学习一下最常用的输入设备--按键.在本节课的学习过程中我们还会穿插介绍一点硬件 ...

最新文章

  1. 王道操作系统考研笔记——2.1.7 进程调度的时机、切换与过程、方式
  2. vue 如何生成一个dom元素_通过一个简单的示例学习如何编写Vue组件
  3. 在线重定义的补充测试
  4. Python自然语言处理学习笔记(68):7.9 练习
  5. linux内核那些事之delay延迟技术
  6. (96)分频器设计(任意分频器)
  7. 蓝桥杯-标题:六角填数
  8. 财务报表分析-损益表,资产负债表,现金流,回报率
  9. h5禁用浏览器下载视频_h5中利用canvas绘制video 忽略浏览器自带视频播放控件
  10. 计算机网络复习训练题
  11. xprivacy改IMEI
  12. Android音视频全面介绍与代码实践之音效(四)
  13. Python之学生信息管理系统
  14. 《追风筝的人》读书笔记
  15. 【超级简单】向量范数计算
  16. dividing(多重背包)
  17. setTimeout和cleartimeout(),再settimeout执行到一半后,正确的使用cleartimeout()删除
  18. 智能扫地机器人好用吗?行业排名TOP5扫地机器人推荐
  19. matlab如何去除图像白边_matlab 图像保存时去除白边
  20. 利用python自带的库,直接根据位移的解析表达式求解无阻尼振动

热门文章

  1. java8中Hashmap改进
  2. 二进制原码,反码,补码,移码
  3. 大学毕业后,留在北京的人,要坚强!
  4. 超级操作,海量数据任你爬,无惧ip限制
  5. 启动Mac电脑出现黑屏的原因和解决方法
  6. [深度学习主流框架解析一] Onnx
  7. 2022-08-07 乐理知识(五) 认识五线谱——谱号(度,八度记号,十五度记号),拍号(认识音符,附点,休止符,音值组合法),调号(五线谱中的调号,快速识别调号)
  8. 攻防世界-wp-MISC-新手区-9-SimpleRAR
  9. Observers: 让ZooKeeper更具可伸缩性
  10. css实现价格降价线