• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

【求教】单片机自动按键关机电路,谢谢!

按一个键,开机. 同时呢,这个键在开机后还充当一个确认键的功能.

若一段时间无任何按键动作,则自动关闭单片机的供电.

在软件和硬件上怎么做呢? 希望大家能帮忙指点一个方向.先谢了!
全部回复(11)
正序查看
倒序查看
2007-11-27 15:04
本人是刚毕业 处于学习阶段 看到你的帖子 就想了个电路 也不知道能行通不 发来让各位前辈赐教下,也好让我进步.
具体实现步骤
1 按下开关 Q1 Q2 Q3导通 给单片机供电.
2 单片机上点后 立即是使Q4导通
3 5PIN是一般检测按键PIN方法很常规.
望各位大哥指教!!500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/59/1640701196146978.bmp');}" onmousewheel="return imgzoom(this);">
0
回复
2007-11-27 15:10
@sanshi1006
本人是刚毕业处于学习阶段看到你的帖子就想了个电路也不知道能行通不发来让各位前辈赐教下,也好让我进步.具体实现步骤1按下开关Q1Q2Q3导通给单片机供电.2单片机上点后立即是使Q4导通35PIN是一般检测按键PIN方法很常规.望各位大哥指教!![图片]500){this.resized=true;this.width=500;this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/59/1640701196146978.bmp');}"onmousewheel="returnimgzoom(this);">
哦,Q1前在加个电阻.
0
回复
2007-12-10 11:05
单键实现单片机开关机.
1,控制流程,按下按键,Q1导通.单片机通电复位,工作.
2,检测 K-IN 是否低电平,否 不处理.是 单片机输出 K-OUT 为高电平,Q2导通,相当于按键长按.
3,放开按键,K-IN 经过上拉电阻,为高电平.单片机可以正常工作.
4,在工作期间,按键按下,K-IN 为低电平,单片机检测到,K-OUT 输出低电平,Q2截止.放开按键,Q1截止,单片机断电.
5,通过软件处理,可以实现短按开机,长按关机.
此电路是笔者通过理论设计,还没有经过实验.
500) {this.resized=true; this.width=500; this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}" onclick="if(!this.resized) {return true;} else {window.open('http://u.dianyuan.com/bbs/u/60/1073571197254834.bmp');}" onmousewheel="return imgzoom(this);">
0
回复
2008-01-19 11:21
@点点滴滴
单键实现单片机开关机.1,控制流程,按下按键,Q1导通.单片机通电复位,工作.2,检测K-IN是否低电平,否不处理.是单片机输出K-OUT为高电平,Q2导通,相当于按键长按.3,放开按键,K-IN经过上拉电阻,为高电平.单片机可以正常工作.4,在工作期间,按键按下,K-IN为低电平,单片机检测到,K-OUT输出低电平,Q2截止.放开按键,Q1截止,单片机断电.5,通过软件处理,可以实现短按开机,长按关机.此电路是笔者通过理论设计,还没有经过实验.[图片]500){this.resized=true;this.width=500;this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/60/1073571197254834.bmp');}"onmousewheel="returnimgzoom(this);">
程序里应该就可以实现,一个按键可以通过按下的时间长短来实现不同的功能啊.(我也是个新手,可能说得有些不对,呵呵)
0
回复
madboy21
LV.8
6
2008-01-20 22:57
@waixingren3
程序里应该就可以实现,一个按键可以通过按下的时间长短来实现不同的功能啊.(我也是个新手,可能说得有些不对,呵呵)
看了大家的回复,我认为没有必要搞得那么复杂,如楼主所说这个键按下后开机,开机后又当一个确认键用,那么这个键可以接在一个外部中断引脚上.通过中断换醒MCU,MCU正常运行后关闭这个引脚中断功能,将这个引脚做一个普通按键输入引脚.如MCU在入出指定时间里没有收到任何按键动作将再次进入睡眠模式.
很多MCU在睡眠时耗电流小于1uA
0
回复
2008-01-21 15:25
@madboy21
看了大家的回复,我认为没有必要搞得那么复杂,如楼主所说这个键按下后开机,开机后又当一个确认键用,那么这个键可以接在一个外部中断引脚上.通过中断换醒MCU,MCU正常运行后关闭这个引脚中断功能,将这个引脚做一个普通按键输入引脚.如MCU在入出指定时间里没有收到任何按键动作将再次进入睡眠模式.很多MCU在睡眠时耗电流小于1uA
这电路如果这样用,是体现不出它的优点,用到开关电源控制,控制光耦.可以做到完全关断电原,实现零功耗待机.有些打印机上就是用这种电路.
0
回复
2008-01-21 15:37
http://pic16.com/bbs/dispbbs.asp?boardid=8&replyid=98755&id=30098&page=1&skin=0&Star=1
0
回复
2008-03-06 13:55
@点点滴滴
单键实现单片机开关机.1,控制流程,按下按键,Q1导通.单片机通电复位,工作.2,检测K-IN是否低电平,否不处理.是单片机输出K-OUT为高电平,Q2导通,相当于按键长按.3,放开按键,K-IN经过上拉电阻,为高电平.单片机可以正常工作.4,在工作期间,按键按下,K-IN为低电平,单片机检测到,K-OUT输出低电平,Q2截止.放开按键,Q1截止,单片机断电.5,通过软件处理,可以实现短按开机,长按关机.此电路是笔者通过理论设计,还没有经过实验.[图片]500){this.resized=true;this.width=500;this.alt='这是一张缩略图,点击可放大。\n按住CTRL,滚动鼠标滚轮可自由缩放';this.style.cursor='hand'}"onclick="if(!this.resized){returntrue;}else{window.open('http://u.dianyuan.com/bbs/u/60/1073571197254834.bmp');}"onmousewheel="returnimgzoom(this);">
兄弟,好像不用这么复杂吧,如果是普通应用,一个三极管就搞定了,何必这么多东西啊!有空交流一下:QQ:178843781
0
回复
sgbmasm
LV.4
10
2008-03-09 16:59
**此帖已被管理员删除**
0
回复
sgbmasm
LV.4
11
2008-03-09 17:02
@sgbmasm
**此帖已被管理员删除**
**此帖已被管理员删除**
0
回复
sgbmasm
LV.4
12
2008-03-09 17:03
@sgbmasm
**此帖已被管理员删除**
此帖已被删除
0
回复