标题: MCU一键开关机电路,为什么只能控制开机,不能控制关机,求解 [打印本页]

作者: qwettyuio    时间: 2021-11-4 16:57
标题: MCU一键开关机电路,为什么只能控制开机,不能控制关机,求解

MCU代码
#include "..\Public\CH552.H"                                                   
#include "..\Public\Debug.H"
#include "GPIO.H"
#include "stdio.h"
#include <string.h>

sbit LED1 = P1^5;
sbit KEY1 = P1^4;

void main( )
{               
    while(1)
                {
                        if(KEY1==0)
                        {                                
                        LED1 = 0;
                        }
                }
}


作者: 圆就是圈圈    时间: 2021-11-4 18:59
你这代码逻辑就只有开机啊
作者: 名字不是重点    时间: 2021-11-4 20:32
http://www.51hei.com/bbs/dpj-203511-1.html
给你参考一下现成的代码
作者: man1234567    时间: 2021-11-4 21:18
void main( )
{               
    while(1)
                {
                        if(KEY1==0)
                        {                                
                        LED1 = ~ LED1 ;
                        }
                }
}
作者: 188610329    时间: 2021-11-4 23:06
开机靠电路,关机靠程序。你要检测GPIO-IN 得到低电平后,等GPIO-IN 恢复高电平之后,GPIO-OUT 给低电平。不然会在释放按键的时候因为按键的抖动,变成重启。
作者: 啤酒瓶子老大    时间: 2021-11-5 03:53
我感觉不如装一个555或者4013简单。
作者: 黄youhui    时间: 2021-11-5 09:56
51单片机不是STM32,要想检测电平要先拉高,也就是KEY1 =1 ;然后才能if(KEY1 ==0)判断,你程序上就有漏洞




作者: szkalwa    时间: 2021-11-18 17:02
楼主搞定了问题没,也在关注这个电路实用性能
作者: 188610329    时间: 2021-11-18 17:11
szkalwa 发表于 2021-11-18 17:02
楼主搞定了问题没,也在关注这个电路实用性能

电路时可行的,但是要写程序,还占用两个IO口,电路还复杂,实用角度而言,其实,不如直接一个自锁开关实在。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1