单键,就是每个按键占用一个单片机的管脚,这种接法的特点是电路和程序都很简单,缺点是占用单片机的管脚多、消耗硬件资源大。这种接法一般适合于 6个或不多于6个按键。
单键电路的电路图见图1,由图可以看出,每一个按键的一端都直接连有一个8255的PC端口的一个管脚作为输入管脚,并且这个端口管脚只连有一个按键,这样的接法就是单键接法。单键接法要求按键的一端接有一个上拉电阻,而按键的另一端直接接地,这样可以在按键没有合上的时候保持输入管脚始终是高电平。如果程序检测到这个管脚为高电平,就会认为该管脚的按键没有按下,而按键合上以后,输入管脚的电平就会变成低电平,这样当程序检测出输入管脚为低电平以后,就会认为这个按键被按下。
图1单键电路
按键,特别是机械按键按下后会有一定的抖动,这个抖动会持续很短的时间。这个抖动会引起程序的异常,因为程序很可能会认为在这么短的时间内这个按键被按下很多次,有很多资料特别提到了防抖电路。实践证明,这个电路完全可以忽略,使用程序完全可以代替这个电路。
有些资料也是使用程序代替防抖电路,但是是用数十毫秒的延时电路,这样的程序毫无疑问会增加程序时间的开销,对程序快速反应不利。
我们可以通过程序处理把按键变成所谓的微分按键,所谓微分,实际上是指我们只处理按键的变化,没有变化的按键信息我们是不处理的,由于微分按键只处理第一次变化的信息,因此短时间的按键抖动是不会产生误 *** 作的。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)