独立按键、长按连击、长短按、多击、组合按键区分先后,组合按键不区分先后
对代码逻辑感兴趣的朋友 ,工程里有网址,金善愚老师视频有详细讲解。硬件环境不同的朋友,验证只需要将key app .c .h文件复制到自己的工程,把key.h中的key修改自己硬件对应的引脚,把app.c文件的显示函数更换为自己的显示函数,定时器配置成1ms中断,KeyScan()放入定时器中断中执行。
本贴独立按键通用很强,基本无需修改,即可使用于STC全系列单片机。
原来的组合按键会先触发先按下的键,修改了触发机制,目前测试没什么问题,更好用,特别是组合区分先后的,N个独立按键变N^2个按键,实用价值大大提高
独立按键keyport 没那么冗余,端口读取组合不区分先后,没有前面的稳定,按键灵敏度可以调整KEYDELAYTIME 。
原先多击程序:双击会先触发一次单击;3击会先触发一次单击,一次双击,独立按键多击ok 已修正程序逻辑。
{:4_250:} <p>找到了. 之前我用布丁局长那个 多功能按键.</p>
<p>不懂是我的程序问题还是什么问题. 有的程序老是跑飞</p>
<p>这个代码弄了几个小时弄好了..弄半天,代码一直失效</p>
<p>后面弄好了. 是IT0=1;EX0=1; 的问题.</p>
<p>但随之又来了个新问题.</p>
<p>那就是这个长按短按的代码, 不能掉电唤醒啊!!</p>
<p>苦恼</p>
{:qiang:} 组合按键的代码逻辑很绕,楼主辛苦了。 这个代码是金善愚老师课程中的代码,金老师是我听互联网上五六位老师中讲单片机逻辑最清晰、讲课没有废话,简明扼要,非常值得推荐。 21cnsound 发表于 2024-12-8 12:09
这个代码是金善愚老师课程中的代码,金老师是我听互联网上五六位老师中讲单片机逻辑最清晰、讲课没有废话, ...
确实,金善愚老师经典51课程是最适合0基础入门51课程,讲的通俗易懂,原理详实,细节到位,跟着操作一次,会有很大收获。 21cnsound 发表于 2024-12-8 12:09
这个代码是金善愚老师课程中的代码,金老师是我听互联网上五六位老师中讲单片机逻辑最清晰、讲课没有废话, ...
我刚刚那个不能唤醒掉电模式,就是这个代码
社区闲人 发表于 2024-12-8 09:27
组合按键的代码逻辑很绕,楼主辛苦了。
这个不能唤醒掉电模式.. 有办法解决吗?
页:
[1]
2