按键作为一种简略有用的输入设备现已运用于各种单片机运用体系中,称得上是无处不在。
但是在不同的有用场合下所运用的按键也是各不相同。现在就对几种常常用到的按键及其运用办法进行介绍。
传统按键是现在在各种电子设备中运用最为广泛的按键,或许它们的形状各有不
同,但其操控办法却迥然不同,运用按键是否按下的IO 电平状况改变来对其进行辨认。
1)直接按键
最简略的键盘便是把电平信号直接接到IO 上。在程序里边读取IO 电平状况,如
果读到相应的电平,则阐明此IO 上所接的按键被按下。这种办法原理与操控办法都非
常简略,但造成了IO 资源的糟蹋。这种按键办法的示意图如下:
2)扫描按键矩阵
这种按键输入办法很奇妙地运用了IO 资源,使得8 个IO 能够完结16 键键盘。它
的示意图如下:
这种按键输入办法比上面的直接按键办法从原理与操控上都比上面的直接按键要
杂乱。它经过IO 的扫描来获取键值,其实扫描进程十分简略,进程如下:
KEY1~KEY4 对应于IO0~IO3,KEY5~KEY8 对应于IO4~IO7。
1.将IO0~IO3 置高,将IO4 置低,IO5、IO6、IO7 置高,读取IO0~IO3。榜首列的某
个按钮按下后,使相应的两个触点接通,相应行上的IO 能够读到低电平。
2.将IO0~IO3 置高,将IO5 置低,IO4、IO6、IO7 置高,读取IO0~IO3。榜首列的某
个按钮按下后,使相应的两个触点接通,相应行上的IO 能够读到低电平。
3.将IO0~IO3 置高,将IO6 置低,IO4、IO5、IO7 置高,读取IO0~IO3。榜首列的某
个按钮按下后,使相应的两个触点接通,相应行上的IO 能够读到低电平。
4.将IO0~IO3 置高,将IO7 置低,IO4、IO5、IO6 置高,读取IO0~IO3。榜首列的某
个按钮按下后,使相应的两个触点接通,相应行上的IO 能够读到低电平。
循环此进程能够不断读取按键键值。
在实践的运用中,这个扫描进程通常是放在定时器的中止服务程序中去完结的,
经过全局变量将键值返回到其它函数中去。当然,作为学习其扫描进程,也能够将扫
描放在主函数中直接来完结。
在上面介绍的按键输入办法中,读者能够看到,IO 都是以低电平作为检测电平,那这
是为什么呢?这是由于单片机IO 读取电平状况的时分,读取低电平比高电平要安稳。也下
是由于这一原因外部中止以低电平或下降沿来作为其中止触发条件,以确保中止的可*性。
二、多向集成按键
现在的手持设备越来越盛行,人们也越来越多地接触到多向集成按键,如手机上的
五向导航键、MP3 上的拨动开关等,都是相似的按键设备。它们有一个一起的特色,
便是一个集成按键能够输出若干个方向上的信号,以供操控器辨认。多向集成按键如下
图:
1)五向按键
五向按键咱们基本上每天都在用,只需你掏出MP3、手机就能够看到它的身影,
或许有人会感觉到它的奇特,这儿就为你揭开它的隐秘。
五向按键其实便是把5 个传统按键进行了集成,把它们别离组织在上、下、左、
右、中五个方向上,从而就构成了五向键。当某一方向的按键导通时,IO 上就能够
感应相应的电平,从而对其方向加以辨认。五向运用示意图如下:
从上图中能够到五向键的运用办法其实与传统按键中的直接按键是相同的。
2)拨轮按键
拨轮按键在产品中常常用来作音量调理、项目选择等。其原理与五向键相相似,
不同的是,拨轮按键中集成了左、右、中三个方向按键,按键与改为了拨动办法,从
而更适合于运用者的运用习气。运用示意图如下:
在SiriuS 开发板上五向按键与拨轮按键的运用如下图:
三、模仿按键
上面介绍的按键输入办法都是选用数字信号来进行按键辨认的,它的缺陷便是需求
较多的IO,一起按键的数量也有限。而这儿要介绍的选用模仿信号对按键进行辨认的
办法则能够节约IO,而按键的扩展也十分便利。当然,它的完结需求相应的硬件(数
模转换器)支撑。
原理其实十分简略,在串接的等值电阻间接上按键,按键另一端接到地。这
样某两个电阻间因按键接通而接到地时,在模数转换器的输入端会得到不同的电压值,
这些电压值依次为1/2 VCC、2/3VCC……,依照这些电压值就能够辨认出所按下的按键。
按键的最大数量起决于模数转换器的精度。