发新帖本帖赏金 5.00元(功能说明)我要提问
12下一页
返回列表
打印

请教,IO扫描按键,指定某个按键长按10秒复位单片机,怎么搞?

[复制链接]
4014|29
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
ipman|  楼主 | 2017-3-30 21:46 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
沙发
chunyang| | 2017-3-30 21:54 | 只看该作者
可以提高RC回路中的电阻阻值,但既然是IO扫描按键,就不必考虑用硬件去解决,纯软件完全可以。开启定时器,在定义两个临时变量进行循环累加,以此获得长延时,在延时函数中循环读键就是。此法别说10秒了,就是更久都可以实现。

使用特权

评论回复
板凳
ipman|  楼主 | 2017-3-30 22:01 | 只看该作者
chunyang 发表于 2017-3-30 21:54
可以提高RC回路中的电阻阻值,但既然是IO扫描按键,就不必考虑用硬件去解决,纯软件完全可以。开启定时器, ...

谢谢,这个是控制复位,担心系统锁死或者复位不良,要纯硬件,我模拟了,10uF+1M才2秒

使用特权

评论回复
地板
chunyang| | 2017-3-30 22:05 | 只看该作者
ipman 发表于 2017-3-30 22:01
谢谢,这个是控制复位,担心系统锁死或者复位不良,要纯硬件,我模拟了,10uF+1M才2秒 ...

你的担心只要设计合理就不会存在,注意正确使用看门狗。10uF电容很小了,可以加大。

使用特权

评论回复
5
ipman|  楼主 | 2017-3-30 22:11 | 只看该作者
chunyang 发表于 2017-3-30 22:05
你的担心只要设计合理就不会存在,注意正确使用看门狗。10uF电容很小了,可以加大。 ...

有没有个经验值?如图是我的草稿电路,仿真才1秒多,主要是3904导通电压太低了,充电一会儿就导通了。

使用特权

评论回复
6
ipman|  楼主 | 2017-3-30 22:12 | 只看该作者
电路图

捕获5.JPG (103.02 KB )

捕获5.JPG

使用特权

评论回复
7
chunyang| | 2017-3-30 22:12 | 只看该作者
ipman 发表于 2017-3-30 22:11
有没有个经验值?如图是我的草稿电路,仿真才1秒多,主要是3904导通电压太低了,充电一会儿就导通了。 ...

谈不上什么经验值,这个要计算的,也可以实验确定。用100uF就提高了10倍。

使用特权

评论回复
8
ipman|  楼主 | 2017-3-30 22:17 | 只看该作者
chunyang 发表于 2017-3-30 22:12
谈不上什么经验值,这个要计算的,也可以实验确定。用100uF就提高了10倍。 ...

如果提升Q4的导通电压,比如发射极加个二极管,实现0.7V复位,是否事半功倍?

使用特权

评论回复
9
chunyang| | 2017-3-30 22:23 | 只看该作者
ipman 发表于 2017-3-30 22:17
如果提升Q4的导通电压,比如发射极加个二极管,实现0.7V复位,是否事半功倍? ...

可以,但你这个硬件解决方案,真真不如纯软件的。

使用特权

评论回复
10
ipman|  楼主 | 2017-3-30 22:32 | 只看该作者
chunyang 发表于 2017-3-30 22:23
可以,但你这个硬件解决方案,真真不如纯软件的。

电池供电,可能存在电池半死不活在2V,这样充电后不会自动复位,软件估计看门狗都死了吧?请教MCU在低压状态逐步恢复到正常电压,可以自行复位吗?

使用特权

评论回复
11
chunyang| | 2017-3-30 22:43 | 只看该作者
ipman 发表于 2017-3-30 22:32
电池供电,可能存在电池半死不活在2V,这样充电后不会自动复位,软件估计看门狗都死了吧?请教MCU在低压 ...

这种情况你更应该用纯软件解决。低压监控有专用的芯片(复位芯片就可以),而且应该先经DCDC,配合电池低压检测,一旦检测到低压,系统先报警,电压跌落到指定门限,直接自动关机。

使用特权

评论回复
12
chunyang| | 2017-3-30 22:44 | 只看该作者
想想看,手机会有你说的那种情况么?关键在于设计。

使用特权

评论回复
13
ipman|  楼主 | 2017-3-30 22:49 | 只看该作者
谢谢,我用锂电池直接提供STM8S供电了,没有用DCDC,只是担心长时间未使用,电池电压跌落到一个锁死区比如2V,系统锁死,再次充电,可能从2V逐步恢复到3.7V,也有可能充到2.3V又没继续充电,这都是要考虑的异常使用,此期间软件应该不会自动恢复吧?如果复位用专门复位芯片,从2V恢复到3.7V中,复位芯片会不会在升压期间自动产生一个复位信号?我的思路是无论怎么异常,如果按住一个按键10秒,强制产生个复位信号。

使用特权

评论回复
14
chunyang| | 2017-3-30 22:57 | 只看该作者
ipman 发表于 2017-3-30 22:49
谢谢,我用锂电池直接提供STM8S供电了,没有用DCDC,只是担心长时间未使用,电池电压跌落到一个锁死区比如2 ...

电源监控复位就直接解决问题了,但DCDC还是有必要用的,这样可以提高电池容量的利用率,除非你的系统可以工作在锂电池过放保护电路动作前的全电压输出范围。那样的话,只用电压监控即可。电压监控复位芯片只与电压值有关,过限就发出复位信号,直至电池耗尽或电压超过门限。而你的思路不妥,在状态不确定时,系统的功耗也无法保证。电池供电的系统,严格的功耗管理是必须的,而你的手动复位电路本身功耗太大了。

使用特权

评论回复

打赏榜单

ipman 打赏了 5.00 元 2017-03-30
理由:热心好人

15
ipman|  楼主 | 2017-3-30 23:01 | 只看该作者
chunyang 发表于 2017-3-30 22:57
电源监控复位就直接解决问题了,但DCDC还是有必要用的,这样可以提高电池容量的利用率,除非你的系统可以 ...

谢谢版主,我认真重新考虑一次。

使用特权

评论回复
16
songchenping| | 2017-3-31 08:25 | 只看该作者
为什么不用单稳态触发电路呢。

使用特权

评论回复
17
前功尽弃| | 2017-3-31 09:02 | 只看该作者
这个加一个定时好了

使用特权

评论回复
18
xmar| | 2017-3-31 10:19 | 只看该作者

使用特权

评论回复
19
lhkjg| | 2017-3-31 11:25 | 只看该作者
ipman 发表于 2017-3-30 22:01
谢谢,这个是控制复位,担心系统锁死或者复位不良,要纯硬件,我模拟了,10uF+1M才2秒 ...

在加一个硬件计数器就好了

使用特权

评论回复
20
小鱼儿1045| | 2017-3-31 13:31 | 只看该作者
写个单片机软件复位的功能不就行了

使用特权

评论回复
发新帖 本帖赏金 5.00元(功能说明)我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

89

主题

550

帖子

4

粉丝