#include<reg51.h>
sbit key1=P1^4; //key1接P1.4
sbit LED0=P0^0; //LED0接P0.0
void delay(unsigned int x) //延时函数
{
while(x--);
}
void key(void)
{
if(key1==0) //如果按键按下
{
delay(300); //消抖
while(key1==0); //如果按键真的按下,等待按键抬起
LED0=!LED0; //LED状态改变
}
}
void main()
{
LED0=1; //初始状态LED亮
while(1)
key();
}
(1)按键抖动现象:按键按下都会发出一声响,虽然有的按键声音很轻微,但这都是金属导体碰撞产生的震动,这种现象称为键盘抖动如果不对键盘的抖动进行处理,按键会对系统电路或程序产生意外的干扰。
(2)消抖:利用延时程序防止键盘抖动,实现键盘输入按键按下产生的抖动现象持续的时间不会很久,因此在按键按下后,可延时一段时间跳过抖动,再对按键的状态检测,从而利用延时的方法也可以实现键盘输入。
每个人都会有一段异常艰难的时光 。
生活的压力 , 工作的失意 , 学业的压力。
爱的惶惶不可终日。
挺过来的 ,人生就会豁然开朗。
挺不过来的 ,时间也会教你 ,怎么与它们握手言和 ,所以不必害怕的。
——杨绛