快捷搜索:  

按键中断里面如何做长按检测,按键长按短按双击 中断实现

广告

有人说强制关机会影响电脑?真的吗?其实,无论是点击系统的关机键,还是长按电脑面板上的关机键,电脑关机流程几乎一样,因此强制关机对电脑硬件没有影响。但是,强制关机会造成正在运行的软件中断,无法及时储存相关数据,很可能造成数据丢失或软件损坏,因此,非特殊情况,不要长按电脑面板关机进行强制关机。

1、51单片机如何实现按键的长按与短按功能,尝试过很多方法都不行,请高手...

设置一定时器,比如定时0.5s加一,再设置一个标志位,当加数达到一个标准值时,定时器定时改为更短时间。关键是设置定时器,标志位,在中端程序检验按键的电位。给你个思路,按下以后进入一个循环,再定一个变量短按的时候是1如果按的时间久了就让变0这样判断这个变量就能判断它的1和0就知道是长按还是段按。这个真心不难,就是简单的c语言判定就行了,《C程序设计语言》,实在看不了就看谭总写的那本c语言。

2、单片机按键怎么实现长按和短按和组合键功能

是在实物开发板上实现吗?长按和短按很好实现,当检测到有按键按下了,就开始计时,用定时器,检测到按键松开了,停止计时,然后根据计时的时间长短,确定是长按还是短按,比如,时间小于0.5秒为短按,超过3秒为长按,其余时间为无效,不够长按时间,就为无效按键,也不算是短按的。这样可以排除是随意按键的可能。组合键就好办了,检测到同时按两个,三个,就为组合键,至于是什么功能,那由你自己定义了。

3、编写检测键盘按下的汇编中断程序

比如说按键接在p3.2,用外部中断0实现键按一次进入外部中断程序并保持,再按一下中断返回ORG0000HLJMPMAINORG000BH;外部中断0的入口地址LJMPIN0ORG0030H;主程序的开始MAIN:MOVSP,#60HSETBEA;开中断总允许SETBEX0;开外部中断0允许SETBIT0;外部中断0触发方式SJMP$;

4、C51单片机按键怎样实现中断检测

单片机有中断引脚,连到它们上面就行了,执行返回值函数名([参数])interruptn[usingm]如:voidINT0_Interrupt(void)interrupt0using0{xxxxxxxx}n对应中断源的编号,为0~15的常整数,不允许使用表达式n对应中断源的编号查手册函数放在main外面,函数名任意命名。

您可能还会对下面的文章感兴趣: