sdlqzql 发表于 2023-3-9 16:35:43

技术支持请进:stc多个按键实现休眠唤醒

选用STC8G2K64S4单片机,32引脚的

现在拓展十几个独立按键,电池供电情况下单片机平时需要休眠,休眠状态下,任意时刻按下任意按键需要唤醒单片机,

由于支持唤醒的引脚就那么几个,如下所示:




请教:

如何实现任意按键按下,都能触发唤醒?

国学芯用 发表于 2023-3-9 16:52:08

STC8H8K64U-45I-LQFP32   2.8元 所有IO口支持中断

mPiDDR 发表于 2023-3-9 16:52:29

十几个独立按键   用二极管做或门,连接到一个可唤醒的IO 就可以了。

kv2004 发表于 2023-3-9 18:17:07

我用的STC8G32S2,就是用了一个中断脚,其他通过二极管接过来。

sdlqzql 发表于 2023-3-9 19:45:48

kv2004 发表于 2023-3-9 18:17
我用的STC8G32S2,就是用了一个中断脚,其他通过二极管接过来。
(引用自4楼)

能说说具体咋接的吗?按键接电源正还是地?
二极管怎么接?

sdlqzql 发表于 2023-3-9 19:52:36

mPiDDR 发表于 2023-3-9 16:52
十几个独立按键   用二极管做或门,连接到一个可唤醒的IO 就可以了。
(引用自3楼)

按键另一端是接杆电平还是接地?二极管是那边接中断脚?

kv2004 发表于 2023-3-9 23:26:35

本帖最后由 kv2004 于 2023-3-9 23:34 编辑

按键两端并电容(省事)。一端接地,另一端接单片机某脚,再接二极管K
所有二极管A接一起,接到INT0(举例)。
也可以,只有一个不接二极管,这样省一个脚。

试试这样能不能正常显示。(试过了,显示不对,可能是不等宽,需要复制到记事本看)。
                   K1
INT0            ---
---o---------o---o o----.
    |         |          |
    |      ---         |
    |      ---         |
    |         |          |
    |      ===      ===
    |      GND      GND
    |
    |
    |            K2
    |      P60---
    o---->|---o---o o----.
    |         |          |
    |      ---         |
    |      ---         |
    |         |          |
    |      ===      ===
    |      GND      GND
    |
    |
    |            K3
    |      P61---
    '---->|---o---o o----.
            |          |
             ---         |
             ---         |
            |          |
             ===      ===
             GND      GND

sdlqzql 发表于 2023-3-10 05:21:06

kv2004 发表于 2023-3-9 23:26
按键两端并电容(省事)。一端接地,另一端接单片机某脚,再接二极管K
所有二极管A接一起,接到INT0(举例)。
...
(引用自7楼)

辛苦了,费心帮我用文本字符画出来的原理图。非常感谢?

jswd2420 发表于 2023-3-10 10:37:45

大概是这样吧

国学芯用 发表于 2023-3-10 16:39:06

行列式按键键盘,行或者列用外部中断 INT0/INT1/INT2/INT3/INT4

小李非刀 发表于 2023-3-16 12:25:55

行列按键,5个外中断+8个IO,可以做5*9=45键,任何键都可以唤醒。IO均为准双向口,睡眠前,5个外中断均输出1,8个IO输出0,允许5个外中断,睡眠。此后任意键均能拉低一个外中断,唤醒MCU,之后按正常方式扫描按键。
要更多的按键,多用IO即可,比如5+24,即可以5*25=125键,5+32,可以5*33=165键。

sdlqzql 发表于 2023-3-16 19:03:36

小李非刀 发表于 2023-3-16 12:25
行列按键,5个外中断+8个IO,可以做5*9=45键,任何键都可以唤醒。IO均为准双向口,睡眠前,5个外中断均输出 ...
(引用自11楼)

谢谢了。目前用了二极管的方法。先测试下看看
页: [1]
查看完整版本: 技术支持请进:stc多个按键实现休眠唤醒