分时驱动的方法可以实现这种功能 |
名字不是重点 发表于 2022-7-19 16:17 我用的不是这种方法。 |
电路做些修改,软件再规划一下可以实现你说的功能, 基本原则楼上的都 说了,分时运行LED驱动和按键检测。 |
myemcu 发表于 2022-7-17 11:40 那反问一下,难道提问之前就没在本论坛搜索过有这样的提问和例子?去看看这样例子是哪年的了! 这样电路无法实现,当低电平时点亮则再无法检测按键操作,高电平时是可以检测按键按下操作。这样的抛砖引玉反问看不懂也罢了。 |
定时检测按键,剩下时间驱动led。分时执行就可以了,利用led的视觉残留效应可以做到。 |
zhangxl 发表于 2022-7-18 09:10 参考26楼。 |
myemcu 发表于 2022-7-17 11:40 他这个图,输入和输出同一个引脚怎么实现啊 |
用定时器中断脉冲驱动这个IO口,在高电平期间检测这个端口,如果是低电平,就是按下了按键。每次取反一次输出状态。 |
我也想了一种:
|
myemcu 发表于 2022-7-17 17:50 非阻塞 ![]() ![]() |
可以实现这个功能 就是不断的改变改变这个引脚的输入输出状态 输入时判断引脚状态 输出时实际是脉冲驱动LED 图是一回事 限流电阻是要加的 |
hhdsdy 发表于 2022-7-17 19:33 Proteus实没必要画这个,又不是非要AD制板,那么机械作甚。 |
myemcu 发表于 2022-7-17 17:54 不是我想杠,画一个电阻这么难吗?自己1楼就直接说了“参考图片”,大家看图的接法说是不行有什么错?(很多初学者还是会忘了要加限流电阻)还说了已经量产了 |
温xyz 发表于 2022-7-17 17:45 Proteus纯属逻辑验证,逻辑通过后,到了电气设计环节时,该加啥就加啥。 |
wulin 发表于 2022-7-17 17:40 阻塞和非阻塞的区别还是很大滴。。 |
当LED这时,IO口低电平,你如何检测开关动作?再说你的LED直接接IO口中,会烧掉单片机的。 |
myemcu 发表于 2022-7-17 17:28 示例只是给你一个逻辑关系的验证,按键处理方式请自行补课。 |
wulin 发表于 2022-7-17 17:16 判键不能采用阻塞方式。 |
myemcu 发表于 2022-7-17 13:53 不考虑其它因素,此功能很容易实现。 ![]()
|
daemondong 发表于 2022-7-17 13:22 见8楼,老板会让你这么干? |
myemcu 发表于 2022-7-17 12:55 用不用定时器随意,本身按键就要加防抖,利用防抖延时即可,定时不要求准,太短了没必要,太长了不易检测到按键。实际就是发光管亮时是间断显示,是肉眼看不出来的,在熄灭瞬间检测按键。在逻辑上和电器参数上都是没有问题的。 |
wulin 发表于 2022-7-17 13:30 Proteus不用过多考虑电气特性,仅考虑逻辑实现即可,就像单片机最小系统一样,都不用外加复位和时钟啥的,直接设置就行。 |
myemcu 发表于 2022-7-17 12:25 沙发说得没错。一个IO口复用于LED和按键当然可以,但要有硬件条件支持的。楼主这个图是有缺陷的,有损毁IO口的风险。 ![]() |
雪玉寐影 发表于 2022-7-17 12:30 这个才是正解,怎么方便怎么来。 |
这个电路只能实现按下亮,抬起灭。要实现按一下亮再按一下灭,无法实现。除非你的LED和按键分开用不同的IO口。 |
mtdzok 发表于 2022-7-17 12:36 还要用内部Timer? |
雪玉寐影 发表于 2022-7-17 12:30 项目要具有可扩展需求,比如再加个闪烁状态啥的。 |
扔掉单片机,按钮改成自锁按钮! |
hhdsdy 发表于 2022-7-17 12:21 人家项目已经量产了,就是采用的这种方案 ![]() |
myemcu 发表于 2022-7-17 11:40 单片机是可以编程,但是还是得符合单片机的工作要求啊,沙发都告诉你不行了还争辩 |
xianfajushi 发表于 2022-7-17 11:06 编程实现呀,如果纯硬件的话,还要单片机作甚 ![]() |
这样电路无法实现,当低电平时点亮则再无法检测按键操作,高电平时是可以检测按键按下操作。 |