历史上的今天
今天是:2025年03月05日(星期三)
2020年03月05日 | 在51单片机上用定时器实现按键长按、短按功能
2020-03-05 来源:eefocus
我们在项目中常常需要在只有一个按键的情况下,来实现长按执行某个功能,短按执行另一个功能。
鉴于此,用51搭的核心板实测,亲测可行。好了,废话少说,简单粗暴,直接贴上程序结构。
主函数()
{

}
在进入while大循环中,先要配置定时器。
在while中核心是:使用两个if块判断,第一个if块判断按键是否按下,在第一个if块里面只进行按键按下标志位设置和定时器计数。
在第二个if块里根据第一个if块定时器计数来执行长短按功能,记得在退出第二个if块时,按键按下标志位(press_flag)和定时器
计数变量(count)都要清零。
……
定时器配置和中断服务程序就不贴出来了。
基本逻辑就是这样了。
史海拾趣
|
嵌入式Linux软件工程师—高级培训班 中嵌学院欢迎你 >>> 课程目标 通过该培训班培训后,可从事ARM、MIPS等多款平台下的嵌入式Linux系统移植、驱动开发、应用开发、嵌入式系统测试等多方面工作。我们还会在培训中根据个人的特点,建议学员定 ...… 查看全部问答> |
|
元旦放假,我在家用了一下MINI2440的开发板,只是作了一些简单的测试,发现没有液晶板的电路图,屏是统宝的,屏贴在一块PCB上,这块PCB上也有很多元件,但是给我们的资料中却没有找到这块板的图. 找到了将这块板的原理图,与大家分享下… 查看全部问答> |
|
我现在要做这样一个东西,硬件是PCI控制芯片+单片机,将这张卡放在PCI插槽上,计算机启动后单片机通过PCI控制芯片向主机发中断请求,如果得不到响应就让计算机重启或蓝屏。 问题是:问题是怎样通过PCI卡让主机重启或者蓝屏? 大家帮忙想想办法吧 ...… 查看全部问答> |
|
高分紧急求助--如何在生成cab文件时指定程序的快捷方式的参数?? RT,如何在********_WCE4.inf文件修改[Shortcuts]节,以达到给某个程序的快捷方式添加参数的目的?在某个老外的博客上看到一种方法,于是按以下格式修改(/后面为参数):test,0,text.exe /1,%CE11% 但是生成cab文件时出错了: Error: Section [ ...… 查看全部问答> |
|
每发送一组字符或一个字符,pc机仅能收到一个字符,而且开发板还死机,若发送不成功,开发板不死机.开发板还不能接受,一接收就死机.不知道怎么回事,请大家指点指点,是驱动程序问题还是系统程学问题还是应用程序问题?… 查看全部问答> |
|
P1.3一直在输入2.8V的脉冲,周期10MS #include <msp430x14x.h> #define uint unsigned int#define uchar unsigned char uchar BACKFLAG=0;uint i,n,n1,n2=0; void Delay_ms(unsigned long nValue){ unsigned long nCount;&nb ...… 查看全部问答> |




