#define PRESSED 0

#define Long_cnt 65534 //長鍵判斷值

#define Short_cnt 250 //短鍵判斷值,消抖动

void Key_Pressed(void)

{

unsigned int counter=0; //用做判断按键长按,短按的计数器

/********************key3_3*********************/

if(Key_up==PRESSED)

{

while(Key_up==PRESSED)          //计数,用来判断是长按还是短按

{

if( (counter++) > Long_cnt) //counter>65534:长按,

{

Key_Code=KEY_FP_UP;             //KEY1长按时返回的键值

return;

}

}

if(counter<=Long_cnt && counter>Short_cnt)   //counter<=65534:短按,counter>20:消抖动

{

Key_Code=KEY_FP_UP;             //KEY1短按时返回的键值

return;

}

}

/********************key3_5*********************/

if(Key_down==PRESSED)

{

while(Key_down==PRESSED)          //计数,用来判断是长按还是短按

{

if( (counter++) > Long_cnt) //counter>65534:长按,

{

Key_Code=KEY_FP_DOWN;             //KEY1长按时返回的键值

// counter=0;

return;

}

}

if(counter<=Long_cnt && counter>Short_cnt)   //counter<=65534:短按,counter>20:消抖动

{

Key_Code=KEY_FP_DOWN;             //KEY1短按时返回的键值

// counter=0;

return;

}

}

/********************key3_7*********************/

if(Key_start==PRESSED)

{

while(Key_start==PRESSED)          //计数,用来判断是长按还是短按

{

if( (counter++) > Long_cnt) //counter>65534:长按

{

Key_Code=KEY_FP_ENTER;             //KEY1长按时返回的键值

//   counter=0;

return;

}

}

if(counter<=Long_cnt && counter>Short_cnt)   //counter<=65534:短按,counter>20:消抖动

{

Key_Code=KEY_FP_SELECT;             //KEY1短按时返回的键值

// counter=0;

return;             } } /*****************************************************/ }

按键连续点击的c语言程序,【转】按键长按与短按处理程序[C语言]--通過測試相关推荐

  1. c语言程序能够在不同的操作系统下运行,这说明c语言具有很好的,程序设计(C)作业一(有答案)...

    程序设计(C)作业一 1.C语言程序的执行,总是起始于(). A.程序中的第一条可执行语句 B.程序中的第一个函数 C.main函数 D.包含文件中的第一个函数 2.以下叙述不正确的是(). A.一个 ...

  2. c语言程序能够在不同的操作系统下运行,这说明c语言具有很好的,上海交通大学继续教育学院2012春——程序设计(C)作业1(有答案)...

    程序设计(C)作业一 1. C语言程序的执行,总是起始于( ). A.程序中的第一条可执行语句 B.程序中的第一个函数 C.main函数 D.包含文件中的第一个函数 2. 以下叙述不正确的是( ). ...

  3. 按键连续点击的c语言程序,长按键C语言程序

    长按键C语言程序 zhchxgh | 2009-07-04 01:46:51    阅读:8246 发布文章 一共用了四个按钮. #define _KEYDOWN_TEST_TIME      (20 ...

  4. 秒表系统的设计c语言程序,51单片机秒表计时器课程设计报告(含C语言程序).doc...

    51单片机秒表计时器课程设计报告(含C语言程序) XXXXXX学院 51单片机系统设计 课程设计报告 题 目: 秒表系统设计 专业.班级: 学生姓名: 学 号: 指导教师: 分 数 : [摘要]本设计 ...

  5. 在c语言程序中 对文件进行操作首先要,《C语言程序设计》试题八及答案

    版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如果有侵权请立即联系:55525090@qq.com,我 ...

  6. 语言程序推箱子课设报告_学完C语言,可以去哪些应用领域工作?

    C语言是目前世界上流行.使用非常广泛的高级程序设计语言. 在TIOBE已公布2020年8月的编程语言排行榜.C语言依然保持排行第一! 前20名排行如下: C语言对操作系统和系统使用程序以及需要对硬件进 ...

  7. 常微分方程数值解的c语言程序,常微分方程的数值解法 一阶常微分方程数值解的C语言编程实现.doc...

    常微分方程的数值解法 一阶常微分方程数值解的C语言编程实现 导读:就爱阅读网友为您分享以下"一阶常微分方程数值解的C语言编程实现"资讯,希望对您有所帮助,感谢您对92的支持! 一阶 ...

  8. lt19264a+c语言程序,可以直接显示汉字的19264液晶驱动C语言程序

    19264 C语言程序资料 注:本程序是经过KEIL编译通过 ,并通过实验板测试通过的,直接按硬件电路连接好显示屏 然后将程序代码烧写入单片机 即可点亮,将显示 武汉2 字,并且 随意设置坐标,就可以 ...

  9. c语言程序代码应缩进几格,汉诺塔c语言程序代码

    汉诺塔c语言程序代码(通过vc++6.0验证)(附讲解) 让我们先看看代码吧 #include int hj(int a,int b, int c,int i) { int t; if(i==1) p ...

最新文章

  1. CVPR2020论文解读:3D Object Detection三维目标检测
  2. linux下挂载nas存储异常处理
  3. Ubuntu 使用国内apt源
  4. leetcode103JAVA_[LeetCode] 103. Binary Tree Zigzag Level Order Traversal Java
  5. 设置ubuntu12.04标题栏按钮
  6. 函数hdu 1557 权利指数
  7. Arcgis for Android 空间数据WKT与JSON描述
  8. C语言fwrite()与Java writeFloat()数据转换
  9. SpringMVC中获得HttpRequest对象的方法
  10. springboot项目启动后第一次接口慢_项目实践:SpringBoot三招组合拳,手把手教你打出优雅的后端接口...
  11. 邮箱与手机做账号的验证实例
  12. Axure RP 9基础教程(3)——添加图标元件
  13. 【入门篇】SIP 协议详解
  14. 钱晓捷第五版习题4 题4.8 bufx bufy bufz 为三个有符号十六进制数编写一个比较相等关系的程序如果这三个数都不相等则显示0,其中两个相等显示1 ,三个都相等则显示2
  15. Kettle之数据同步
  16. Canvas 指纹图片改成红色
  17. 百度seo指南_白杨SEO:如何让网页被百度收录以及提高它的排序?
  18. 将简体字转换成繁体字
  19. 《​社会很单纯,复杂的是人-雾满拦江》
  20. 计算机的未来展望英语作文,关于展望未来英语作文5篇

热门文章

  1. C#上位机开发(一)—— 了解上位机
  2. 黑客帝国赏析——just do it, and never give up
  3. 广州市南沙区人社领导来访霖珑云科考察调研,共同探索灵活用工新模式
  4. vue集成speak-tts自动播放语音被谷歌屏蔽的问题
  5. 多线程06-(sdwebimage 总结3)
  6. MongoDB新建数据库、集合以及用户创建和权限设置
  7. mysql导出建库语句_mysql 导出成sql,再次导入,发现没有自动建库语句是怎么回事?...
  8. BlackICE无法卸载的解决方法
  9. CUDA Samples
  10. 做好功课!解析MES系统实施过程