欢迎来到天天文库
浏览记录
ID:16158507
大小:32.50 KB
页数:4页
时间:2018-08-08
《按键程序设计-处理加速键和一键多功能等情况》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、按键程序设计-处理加速键、一键多功能等情况 作者:徐文军我的按键程序设计,可以处理加速键、一键多功能等情况1、一般都不在键盘程序中延时,而是通过隔一段时间调用(比如10毫秒)来扫描按键,以尽量释放CPU资源;2、所有键盘程序基本上都是一个模式,可以处理加速键、一键多功能等情况;3、对外接口只有2个,换用不同硬件的键盘只需把该键盘程序加入工程编译即可,其他不需要作任何改动,非常方便。基本上都是一个模式:有键?--YES——和上次相同?--No--Keyold=0;退出
2、
3、
4、 YES--Keyold++;
5、
6、
7、 Keyold==首键延时KEYDEL
8、AY?--No--退出
9、
10、
11、 YES--Keyok=1; //按下不放一定时间发首键,后面发加速键
12、 保存键值到Keydata;(必要时译码)
13、 Keyold=KEYDELAY-KEYLOOP(按住不放的延时);--退出
14、 No--Keyold==0?--YES--退出
15、 N0--Keyok=1; //不为0说明按了键再放开,当然作按键有效处理 保存键值到Keydata;(必要时译码) Keyold=0;--退出所有键盘程序对外接口:unsignedchar
16、KeyGetcode(void) //返回按键码{ key_ok=0; return(key_data);}bitKeyTest(void) //检查有无按键{ KeyScan(); //键扫描 return(key_ok);} //--------------------------------------------------------------------------//// 源程序大公开 //// (c)Copyrig
17、ht2001-2005xuwenjun //// AllRightsReserved //// V1.00 ////--------------------------------------------------------------------------////标 题:P1口行列式键盘程序 ////文件名:xwj_hlkey.c
18、 ////版 本:V1.00 ////修改人:徐文军 E-mail:xuwenjun@21cn.com ////日 期:05-05-13 ////描 述:P1口行列式键盘程序 ////声 明:
19、 //#include#include"xwj_hlkey.h" // P1口行列式键盘 ////#include"xwj_bp.h" //峰鸣器#defineKEYDELAY25 /*首键延迟次数*/#defineKEYLOOP10 /*连续键间隔次数,需小于KEYDELAY*/unsignedcharkey_bak;unsignedcharkey_temp;unsignedcharkey_old;unsignedcharkey_data;bitkey_ok; // P1口行
20、列式键盘 //#defineKEYPIN_L P1 //定义键扫描列端口为P1低四位输入//#defineKEYPIN_H P1 //定义键扫描行端口为P1高四位扫描输出// //内部私有函数 //unsignedcharfnKeycode(unsignedcharkey);//根据键盘映射表输出顺序键值// // P1口行列式键盘 ////---------------------------------------------------------------------------//voidKeyScan(void)
此文档下载收益归作者所有