历史上的今天
返回首页

历史上的今天

今天是:2025年03月05日(星期三)

正在发生

2020年03月05日 | 在51单片机上用定时器实现按键长按、短按功能

2020-03-05 来源:eefocus

我们在项目中常常需要在只有一个按键的情况下,来实现长按执行某个功能,短按执行另一个功能。


鉴于此,用51搭的核心板实测,亲测可行。好了,废话少说,简单粗暴,直接贴上程序结构。


 主函数()


  {      

  }


在进入while大循环中,先要配置定时器。


在while中核心是:使用两个if块判断,第一个if块判断按键是否按下,在第一个if块里面只进行按键按下标志位设置和定时器计数。


在第二个if块里根据第一个if块定时器计数来执行长短按功能,记得在退出第二个if块时,按键按下标志位(press_flag)和定时器


计数变量(count)都要清零。


……


定时器配置和中断服务程序就不贴出来了。


基本逻辑就是这样了。

推荐阅读

史海拾趣

DB Unlimited公司的发展小趣事

随着公司业务的不断发展壮大,DB Unlimited开始将目光投向全球市场。公司积极开拓海外市场,通过参加国际展会、与海外客户建立合作关系等方式,成功将产品推向了全球各地。同时,公司还根据不同国家和地区的市场需求和文化差异,对产品进行本地化改造和优化,进一步提高了产品的市场适应性和竞争力。

Etco Inc公司的发展小趣事

面对数字化转型的浪潮,Etco Inc公司主动拥抱变革,积极推进数字化转型。公司利用大数据、云计算等先进技术优化生产流程和管理模式,提高了生产效率和管理水平。同时,Etco还加强了与客户的数字化连接和交流,提供了更加便捷和高效的服务体验。这些举措使Etco在数字化时代中保持了领先地位并实现了持续增长。

EMC [ELAN Microelectronics Corp]公司的发展小趣事

义隆电子一直注重人才培养和团队建设。公司积极引进国内外各知名学府的优秀人才,并提供完善的在职培训和优厚的福利待遇。同时,公司还建立了高效的团队协作机制,鼓励员工之间的交流和合作。这种注重人才培养和团队建设的策略使得义隆电子能够保持持续的创新能力和市场竞争力。

Fillfactory Nv公司的发展小趣事

2015年,FIDELIX迎来了一个重要的转折点。在这一年,东芯半导体有限公司(以下简称“东芯半导体”)正式收购了FIDELIX 25.3%的股权,成为其第一大股东及实际控制人。这一收购标志着FIDELIX开始进入一个新的发展阶段。

通过与东芯半导体的合作,FIDELIX获得了更多的资金支持和市场资源。东芯半导体是一家专注于中小容量存储芯片研发、设计和销售的中国企业,在半导体领域拥有丰富的经验和资源。双方的合作不仅为FIDELIX带来了更多的发展机会,同时也加速了FIDELIX在国际市场上的扩张步伐。

在上述两个故事的基础上,可以根据FIDELIX公司的具体发展历程、重要事件、技术创新、市场策略等方面进行进一步的拓展和补充,以形成完整、详细的故事内容。

Capital Advanced Technologies公司的发展小趣事

面对未来电子行业的发展趋势和市场变化,CAT制定了明确的发展战略和布局。公司将继续加大研发投入,推动技术创新和产业升级;同时,积极拓展新的应用领域和市场空间,寻求与更多合作伙伴的共赢发展。此外,CAT还将注重人才培养和团队建设,为公司的长远发展提供坚实的人才保障。

通过以上五个故事,我们可以看到Capital Advanced Technologies公司在电子行业里发展起来的艰辛与辉煌。他们凭借技术创新、市场拓展、品质管理和战略布局等方面的不断努力,逐渐成为了电子行业的领军企业。

DZUS公司的发展小趣事

在XX世纪XX年代,DZUS公司的创始人John Doe看到了航空工业对高质量紧固件的迫切需求。他凭借自己在机械工程领域的深厚造诣,设计并制造了第一款DZUS快拆紧固件。这款产品在航空工业中迅速获得了认可,为DZUS公司的发展奠定了坚实的基础。John Doe的创业精神和对品质的坚持,成为了DZUS公司的核心价值观。

问答坊 | AI 解惑

嵌入式Linux软件工程师—高级培训班

嵌入式Linux软件工程师—高级培训班 中嵌学院欢迎你 >>> 课程目标 通过该培训班培训后,可从事ARM、MIPS等多款平台下的嵌入式Linux系统移植、驱动开发、应用开发、嵌入式系统测试等多方面工作。我们还会在培训中根据个人的特点,建议学员定 ...…

查看全部问答>

MINI2440开发板的液晶板电路图

元旦放假,我在家用了一下MINI2440的开发板,只是作了一些简单的测试,发现没有液晶板的电路图,屏是统宝的,屏贴在一块PCB上,这块PCB上也有很多元件,但是给我们的资料中却没有找到这块板的图. 找到了将这块板的原理图,与大家分享下…

查看全部问答>

笑话:抠门的老板

新年伊始,经理透露过去一年公司赚了很多钱。员工们一听,强烈要求加薪。经理一向刻薄,但又怕不加薪员工会怠工,于是说:“以前迟到,扣100元,从现在开始,变相加薪,迟到只扣50元”。…

查看全部问答>

地震无情,人间有爱,保佑玉树,散分

上天保佑玉树人民渡过难关。。。…

查看全部问答>

怎样用PCI卡控制计算机重启或蓝屏?

我现在要做这样一个东西,硬件是PCI控制芯片+单片机,将这张卡放在PCI插槽上,计算机启动后单片机通过PCI控制芯片向主机发中断请求,如果得不到响应就让计算机重启或蓝屏。 问题是:问题是怎样通过PCI卡让主机重启或者蓝屏? 大家帮忙想想办法吧 ...…

查看全部问答>

高分紧急求助--如何在生成cab文件时指定程序的快捷方式的参数??

RT,如何在********_WCE4.inf文件修改[Shortcuts]节,以达到给某个程序的快捷方式添加参数的目的?在某个老外的博客上看到一种方法,于是按以下格式修改(/后面为参数):test,0,text.exe /1,%CE11% 但是生成cab文件时出错了: Error: Section [ ...…

查看全部问答>

ce的串口为什么会死机

每发送一组字符或一个字符,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 ...…

查看全部问答>

用汇编如何将多个8位数据累加到16位R寄存器中

用汇编语言如何实现多个8位数据累加到16位R寄存器中的操作?谢谢!…

查看全部问答>