高手帮我看看这个按键开机电路

[复制链接]
 楼主| xmrforever 发表于 2010-1-22 14:16 | 显示全部楼层 |阅读模式

这是一个用按键使单片机上电的电路,大侠们帮我分析一下当按键按下后,单片机如何判断?key1与单片机的一个脚相连,on也是连得单片机的一个脚。谢谢了

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
mohanwei 发表于 2010-1-22 15:23 | 显示全部楼层
按键按下后,key1的电平为0,只需要在程序里判断即可。假设key1接到P1.0上那么:
if(P1 & 0x01)
{
      //按键未按下
}
else
{
      //按键按下
}
mohanwei 发表于 2010-1-22 15:29 | 显示全部楼层
void main(void)
{
    //开机检测按键
    if(P1 & 0x01)//假设按键接在P1.0
    {
          //按键未按下
    }
    else
    {
          //开机检测到按键按下
          On=0;//将On拉低,使VCC得到保持
    }
    //参数初始化……
   
    //运行主程序循环
    while(1)
    {
        //……
        
        //收到关机命令
        if(自杀)
        {
            On=1;//将On拉高,使VCC断掉
            while(1)//加入死循环,等待按键松开
                ;
        }
    }
}
 楼主| xmrforever 发表于 2010-1-22 17:56 | 显示全部楼层
开机按键响应之前我量了下芯片是0.2V,这时候的单片机处于什么状态?
这个状态的单片机如何判断按键的呢?
mohanwei 发表于 2010-1-22 18:02 | 显示全部楼层
按键一按下,单片机就会得电工作,就直接执行内置的程序了……
 楼主| xmrforever 发表于 2010-1-22 18:17 | 显示全部楼层
on的作用就是稳住5伏是吧?
 楼主| xmrforever 发表于 2010-1-22 18:23 | 显示全部楼层
On的I/O口设置输入还是输出?
mohanwei 发表于 2010-1-22 20:07 | 显示全部楼层
输出
outman奥特曼 发表于 2010-1-23 00:09 | 显示全部楼层
老的手机就是这样开机的。
 楼主| xmrforever 发表于 2010-1-23 10:05 | 显示全部楼层
我把我对于这个电路的理解说一下,有不对的地方大家帮我指正一下,先谢谢了
在按键之前Q1与Q2都是截止的,当按键按下后,给Q1(PNP)的B极输入一个0使其导通,Q1导通后经过稳压后产生5V,此时将On拉低后Q2(NPN)导通从而使Q1一直处于导通状态,就把电稳住了。
当把On置1时Q2截止,Q1的B极输入高电平则Q1也截止,从而达到了断电的效果。
两个三极管都是起到开关的作用。
guo675t 发表于 2010-1-23 10:27 | 显示全部楼层
可是Q2起什么作用呢?没有Q2不是也可以保持Q1导通吗
 楼主| xmrforever 发表于 2010-1-25 19:15 | 显示全部楼层
我烧程序的时候是不是要把9V与VCC短起来
不然芯片上不去电
 楼主| xmrforever 发表于 2010-1-27 14:13 | 显示全部楼层
我用的PIC16F72的片子,插上仿真器后板子就自动断电了
请问是不是复位造成的,我12楼的办法可以解决吗
hexiaoxiao 发表于 2010-1-28 13:18 | 显示全部楼层
我烧程序的时候是不是要把9V与VCC短起来
不然芯片上不去电
xmrforever 发表于 2010-1-25 19:15

是的。
 楼主| xmrforever 发表于 2010-1-28 17:04 | 显示全部楼层
问题已解决
可以用仿真器的电源供电
outman奥特曼 发表于 2010-2-2 15:01 | 显示全部楼层
可是Q2起什么作用呢?没有Q2不是也可以保持Q1导通吗
guo675t 发表于 2010-1-23 10:27


Q2维持导通。没有Q2,按键一放手,又关断。
3C农民工 发表于 2013-11-18 15:26 | 显示全部楼层
学习了
3C农民工 发表于 2013-11-18 20:33 | 显示全部楼层
xmrforever 发表于 2010-1-23 10:05
我把我对于这个电路的理解说一下,有不对的地方大家帮我指正一下,先谢谢了
在按键之前Q1与Q2都是截止的, ...

有道理,可是图中的VCC是多少V呢?
戈卫东 发表于 2013-11-20 20:39 | 显示全部楼层
用三个三极管就可以做成不需要MCU干预的开关电路....(节省的办法两个也够)
您需要登录后才可以回帖 登录 | 注册

本版积分规则

个人签名:忍一忍就过去了

27

主题

177

帖子

0

粉丝
快速回复 返回顶部 返回列表