而是通过隔1段时间调用(比如10毫秒)来扫描按键,以尽.docVIP

  • 6
  • 0
  • 约1.48万字
  • 约 22页
  • 2018-06-06 发布于江苏
  • 举报

而是通过隔1段时间调用(比如10毫秒)来扫描按键,以尽.doc

而是通过隔1段时间调用(比如10毫秒)来扫描按键,以尽

1、一般都不在键盘程序中延时,而是通过隔一段时间调用(比如10毫秒)来扫描按键,以尽量释放CPU资源; 2、所有键盘程序基本上都是一个模式,可以处理加速键、一键多功能等情况; 3、对外接口只有2个,换用不同硬件的键盘只需把该键盘程序加入工程编译即可,其他不需要作任何改动,非常方便。 基本上都是一个模式: 有键?--YES——和上次相同?--No--Keyold=0;退出 | | | YES--Keyold ; | | | Keyold==首键延时KEYDELAY?--No--退出 | | | YES--Keyok=1; //按下不放一定时间发首键,后面发加速键 | 保存键值到Keydata;(必要时译码) | Keyold=KEYDELAY-KEYLOOP(按住不放的延时);--退出 | No--Keyold==0?--YES--退出 | N0--Keyok=1; //不为0说明按了键再放开,当然作按键有效处理 保存键值到Keydata;(必要时译码) Keyold=0;--退出 所有键盘程序对外接口: unsigned char KeyGetCode(void) //返回按键码 { key_ok=0; return(key_data); } bit KeyTest(void) //检查有无按键 { KeyScan(); //键扫描 return(key_ok); } //-

文档评论(0)

1亿VIP精品文档

相关文档