weimas 发表于 2020-3-12 22:20:16

求助:两个按键实现多个功能操作

用的51单片机,所以感觉发在这里比较合适。想了两天了,脑子有点不够用的感觉了,求各位大侠帮帮忙,主要想实现的功能如下:单节18650电池供电,LCD为V_BAT转12V,待机功耗要求比较低,暂时先实现功能。
KEY1 控制电源   KEY2 短按控制激光长安控制LED灯
1、长按按键KEY1,整个系统上电(单键开关机电路)   此时——a、液晶屏打开    b、短按按键KEY2,实现激光打开关闭切换    c、长按按键KEY2,实现LED灯打开关闭切换
2、再次长按按键KEY1(理论上要求整个系统断电 )       此时——a、液晶屏关闭    b、短按按键KEY2,激光功能关闭               c、长按按键KEY2,实现LED灯打开关闭切换
完全上电状态是没有问题的,但是待机情况下不知道该怎么处理了

XIE2099 发表于 2020-3-13 01:27:19

在论坛有一键开关机电路,搜一下

not_at_all 发表于 2020-3-13 06:13:56

还可以双击

小溪 发表于 2020-3-13 06:51:38

没看懂,要求长按key1整个系统已经断电了,接下来还能操作这个那个关闭激光,切换led?

shell.albert 发表于 2020-3-13 06:51:50

未上电时使用RC充电电路,上电后使用状态机加定时器

weimas 发表于 2020-3-13 07:43:25

小溪 发表于 2020-3-13 06:51
没看懂,要求长按key1整个系统已经断电了,接下来还能操作这个那个关闭激光,切换led? ...

手持设备,应该是类似待机状态下LED是单独开关的,但是待机功耗要求很低。

Athelloren 发表于 2020-3-13 08:45:28

按任意按键唤醒单片机 开始处理按键的短按和长按 处理完执行相应任务 然后设置外部中断唤醒 睡眠

weimas 发表于 2020-3-13 09:03:16

Athelloren 发表于 2020-3-13 08:45
按任意按键唤醒单片机 开始处理按键的短按和长按 处理完执行相应任务 然后设置外部中断唤醒 睡眠 ...

休眠的功耗不知道会有多少,不过这个方法貌似可以。
有没有可能在一键开关机的电路上,再加一个按键,也就是两个按键随便按哪个都启动电源,启动后检测每个按键的状态

avr_sz 发表于 2020-3-14 17:40:46

一键开关机的电路上,加几个按键都可以,用二极管隔离就好

weimas 发表于 2020-3-14 19:07:08

avr_sz 发表于 2020-3-14 17:40
一键开关机的电路上,加几个按键都可以,用二极管隔离就好

正解,就是在一键开关机的电路上另外加了一个按键出来,开机检测按键,不同的按键开机的执行不同功能,这样问题就解决了

kcfoo1 发表于 2020-4-5 10:47:08

既然是待机模式,用一个按键就可以实现了,只要是在LED和激光都关闭的模式,就进入休眠,开一个外部下降沿中断,中断后低电平计数,超过额定值为长按,然后检测到高电平时按键结束,输出不同的值区分长短键,

weimas 发表于 2020-4-5 11:12:25

kcfoo1 发表于 2020-4-5 10:47
既然是待机模式,用一个按键就可以实现了,只要是在LED和激光都关闭的模式,就进入休眠,开一个外部下降沿 ...

这个问题已经解决了,谢谢了!
但是又遇到了新问题,串口和按键冲突了,真是见鬼了,应该是我实力不行了。现在论坛没有搜索功能,还在想办法中。。。。。。
页: [1]
查看完整版本: 求助:两个按键实现多个功能操作