扫描键盘的时候,我们一般判断是否有键按下,只需判断为低电平就表示有键按下,但在实际中常常会用到一键。既作短按功能,同时又有长按功能,比如电脑的删除键按一下立即松开,可以删除一个字符,但一直按住不放时可以连续删除字符。
下面看下这个程序既有长按又有短按功能,长按键是按键按下运行键功能,直到按键松开执行完毕。短按只有在按键按下松开时才运行键功能程序。
首先判断有键按下没?没有跳出按键程序。有键按下开始计时,计时消抖动,40ms计时时间到,将短按标志置1,同时按键还是按下?判断长按标志位为0?是,就继续计时,设定长按时间为1s,1s到了将短按标志清零,长按标志置1.运行长按功能服务程序,按键松开退出长按功能服务程序。没有按住1s就,(1s内就松开表示短按)跳出运行短按功能子程序。
欢迎咨询齐芯科技