单片机快速入门(单片机初学者轻松入门之)
单片机快速入门(单片机初学者轻松入门之)软件去抖动的办法是CPU检测到有键按下时,延迟5~10ms(让过抖动时间)后,再去检测按键是否按下,若再次检测时无键按下,则不执行键闭合操作,若再次检测时有键按下,则执行相应键闭合操作。当开关闭合时,输出为低电平,在开关抖动期间,弹簧片可能和A、B两点均不接触,RS触发器保持原来状态,因此消除了开关抖动的影响。2、键开关的去抖动方法机械触点开关的闭合和断开瞬间均有抖动过程,一般5~10ms。当CPU检测到有键按下时,必须对按键的一次闭合仅作一次处理,因此,必须除去抖动影响。通常去抖动有硬件、软件两种方法。用硬件去抖动的方法通常用RS触发器组成的去抖动电路如上图右图所示。
1、键盘的分类
键盘分编码键盘和非编码键盘。键盘上闭合键的识别由专用的硬件编码器实现,并产生键编码号或键值的称为编码键盘,如BCD码键盘、ASCLL码键盘等;而靠软件来识别的称为非编码键盘;
在单片机组成的测控系统及智能化仪器中,用的最多的是非编码键盘。
非编码键盘有分为:独立式非编码键盘和行列式非编码键盘。
2、键开关的去抖动方法
机械触点开关的闭合和断开瞬间均有抖动过程,一般5~10ms。当CPU检测到有键按下时,必须对按键的一次闭合仅作一次处理,因此,必须除去抖动影响。
通常去抖动有硬件、软件两种方法。用硬件去抖动的方法通常用RS触发器组成的去抖动电路如上图右图所示。
当开关闭合时,输出为低电平,在开关抖动期间,弹簧片可能和A、B两点均不接触,RS触发器保持原来状态,因此消除了开关抖动的影响。
软件去抖动的办法是CPU检测到有键按下时,延迟5~10ms(让过抖动时间)后,再去检测按键是否按下,若再次检测时无键按下,则不执行键闭合操作,若再次检测时有键按下,则执行相应键闭合操作。
3、举例
sbit key=P1^0; //置位一个按键
void main()
{
if(key==0) //第一次检测(扫描)按键,按键按下时为0电平
{
delayms(5);//延迟5~10ms(让过抖动时间)
if(key==0) //二次检测(扫描)按键是否按下
执行语句;
}
}