按键处理的几种方法.pdf

上传人:ylj18****41534 文档编号:72501518 上传时间:2023-02-11 格式:PDF 页数:4 大小:146.56KB
返回 下载 相关 举报
按键处理的几种方法.pdf_第1页
第1页 / 共4页
按键处理的几种方法.pdf_第2页
第2页 / 共4页
点击查看更多>>
资源描述

《按键处理的几种方法.pdf》由会员分享,可在线阅读,更多相关《按键处理的几种方法.pdf(4页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、按按 键键 处处 理理 的的 几几 种种 方方 法法(共共-本页仅作为文档封面,使用时请直接删除即可-内页可以根据需求调整合适字体及大小-3 3 页页)新型的按键扫描程序核心算法:unsigned char Trg;unsigned char Release;unsigned char Cont;void KeyRead(void)unsigned char ReadData=PINB0 xff;这里具个简单例子,为了只是说明原理,PB0是模式按键,短按则切换模式,PB1就是加,如果长按的话则连加(玩过电子表吧没错,就是那个!)#define KEY_MODE 0 x01 .while if(

2、time_10ms_ok)./点亮C_LED,关闭 A_LED 和 B_LED =2单个按键复用:单击,长按,双击。2011-09-16 11:13闲着无事在网上逛,产生按键复用的想法。前些天找按键复用程序,在网上很难找到,有些收费的代码是我们不会买的。所以借鉴了一位老师的代码,自己改了改。刚开始调试不成功,后来成了。/*实验目的:按键的长按,短按,双击检测*/#include#define uint unsigned int#define uchar unsigned charuchar key_num;/按键计数变量 bit key_long_flag,key_short_flag,key

3、_double_flag;/长按标志位,短按标志位,双击标志位 sbit key=P10;/独立按键接 P10/*ms 延时函数*/void delay_ms(uintms)uchar x;while(ms-)for(x=0;x123;x+);/*按键扫描*/void key_scan()uchar key_down_time,key_up_time;/”按下“时长key_down_time=0;/“按下”时长计数器清零 key_up_time=0;/“释放”时长计数器清零 if(key=0)/如按键 key 按下 delay_ms(20);/延时消抖 if(key=0)/如按键 key 按下

4、do /“按下”计数器开始计数 key_down_time+;delay_ms(10);while(key=0);if(key_down_time50)/如“按下”计数小于设定值(短击的最大限制值)delay_ms(20);/延时消抖do /“释放”计数器开始计数 key_up_time+;delay_ms(10);while(key_up_time40)&(key=1);/当超出设定值或再次有“按下”事件发生,结束计数 delay_ms(20);/延时(消抖)3 do /待到第二次的“按下”事件结束 while(key=0);if(key_up_time40)key_double_flag=1;else key_short_flag=1;/在释放期间提前结束的为双击,否则为短击 else key_long_flag=1;/长击标志位置“1”/*主函数*/voidmain()while(1)/不断循环,检测按键 key_scan();if(key_short_flag=1)P0=0 xfe;/单击亮1个灯 key_short_flag=0;/清零标志位 if(key_long_flag=1)P0=0 x00;/长按全亮key_long_flag=0;if(key_double_flag=1)P0=0 xf0;/双击亮4个灯key_double_flag=0;4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 应用文书 > 工作报告

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁