您的位置 首页 国产IC

单片机体系按键硬件检测的几种办法介绍

单片机系统按键硬件检测的几种方法介绍-在单片机系统里,按键是常见的输入设备,在本文将介绍几种按键硬件、软件设计方面的技巧。一般的在按键的设计上,一般有四种方案:一是 GPIO 口直接检测单个按键。

单片机体系里,按键是常见的输入设备,在本文将介绍几种按键硬件、软件规划方面的技巧。一般的在按键的规划上,一般有四种计划:一是 GPIO 口直接检测单个按键,如图 1.1 所示;二是按键较多则运用矩阵键盘,如图 1.2 所示;三是将按键接到外部中止引脚上,运用按键按下产生的边缘信号进行按键检测,如图 1.3 所示;四是运用单片机的 ADC,在不同的按键按下后,能够使得 ADC 接口上的电压不同,依据电压的不同,则能够辨认按键,如图 1.4 所示。

单片机体系按键硬件检测的几种办法介绍

图 1.1 计划一

单片机体系按键硬件检测的几种办法介绍

图 1.2 计划二

单片机体系按键硬件检测的几种办法介绍

图 1.3 计划三

单片机体系按键硬件检测的几种办法介绍

图 1.4 计划四

在以上四种规划上,各有长处和缺乏。

第一种是最简略和最根底的,关于单片机初学者很简略了解和运用,可是缺陷是,需求在主循环中不断检测按键是否按下,而且需求做消抖处理。若主循环中某个函数使命占用时刻较长,则按键会有不同程度的“失灵”。

第二种,长处是能够在有限的 GPIO 状况下,扩展尽或许多的按键。但缺陷同上,需求不断检测按键是否按下。

第三种办法是功率最高,不需求循环检测按键是否按下,可是缺陷是,需求单片机有满足的外部中止接口以供运用;第四种的长处是,只需求单片机的一个 ADC 接口,一根线,就能对多个按键进行辨认,缺陷是按键一旦内部接触不良,则或许按键串位,且按键产生的颤动,会形成必定的辨认过错。

在以上的三种常见按键规划的根底上,现在共享我学习和工作中总结的按键计划。

改善一:在原计划一的根底上,加上与门电路,使得任何一个按键按下,都能产生中止,然后在中止里边辨认是哪个按键被按下。因而不需求循环扫描,大大提高了功率。计划如图 1.5 所示。只需求每个按键对应地添加一个二极管,运用二极管的线与特性,能够完结按下任何按键,都能产生中止信号,可是按键之间互不影响。二极管选用一般整流二极管即可,自己亲测可行。

单片机体系按键硬件检测的几种办法介绍

图 1.5 改善一

单片机体系按键硬件检测的几种办法介绍

图 1.6 改善二

改善二:在原有的 ADC 按键的根底上,也可用添加二极管的办法,完结按键中止,并在中止服务程序里进行 AD 转化,然后辨认按键。电路如图 1.6 所示。

改善三:由于按键不行防止的有颤动,因而按键消抖能够经过硬件消痘和软件消抖。现在共享一个非常简略且有用的硬件消痘办法:给按键并联一个 104 左右的电容。软件上根本不必处理即可防止颤动。

改善四:在按键扫描检测的计划下,假如主循环中有某个函数占用时刻较长,则按键会产生或长或短的“失灵”,现共享我的一个解决计划。将按键扫描放到守时器中止里边,这样就可周期性地检测按键按下状况,不受主循环的影响。而且,能解分出按键的不同状况,即按下、按住、弹起、为按下这四种状况,用以完结更丰厚的功用。

但需注意两点,一是守时器的守时时刻,不行过长也不行过短,过长简略检测不到按下,过短会占用很多时刻资源。二是中止服务程序需简略明了,只做检测用,经过全局变量传递,在主循环内完结按键呼应,中止服务函数内尽量不要占用太多时刻。

来历:互联网

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/ic/343992.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部