按键中断里面如何做长按检测,按键长按短按双击 中断实现
有人说强制关机会影响电脑?真的吗?其实,无论是点击系统的关机键,还是长按电脑面板上的关机键,电脑关机流程几乎一样,因此强制关机对电脑硬件没有影响。但是,强制关机会造成正在运行的软件中断,无法及时储存相关数据,很可能造成数据丢失或软件损坏,因此,非特殊情况,不要长按电脑面板关机进行强制关机。
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外面,函数名任意命名。