OpenEdv-开源电子网

标题: STC15F104W软件延迟时IO跳变 [打印本页]

作者: gxy132667843    时间: 2023-2-7 09:54
标题: STC15F104W软件延迟时IO跳变
void main()
{

    P3M0 = 0x18 ;//        //P33推挽输出
    P3M1 = 0x04 ;//        // P32浮空,外部电路上拉
    P33=0;
    P34=0;
    Delay400ms();
    P33=1; //开机主板上电
    P34=1;                        
    Delay400ms(); //STC生成的软件延时
    Delay400ms();
    P33=0;
    P34=0;
    while (1)
    {
        if(P32==0)
        {
            Delay20ms();
            if(P32==0)
            {
                Delay400ms();//等待主板消耗系统余电
                P33=1;        //主板上电
                P34=1;
                Delay400ms();
                Delay400ms();
                P33=0;        //上电完成,拉低IO口,让主板自主掉电
                P34=0;
                Delay400ms();
            }

//从此处开始,P33经常会输出一两个高电平导致,请问是为什么?

            P33=0;        //上电完成,拉低IO口,让主板自主掉电
            P34=0;
            while(!P32);//等待主板上电
        }                        
        P33=0;        //上电完成,拉低IO口,让主板自主掉电
        P34=0;                                    
        Delay400ms();
    }
}

当P32判断输入后,P33输出低电平时,P33经常会输出一两个高脉冲,导致LED变亮,请问是为什么?


作者: LcwSwust    时间: 2023-2-7 14:12
上电路,上示波器波形,考虑本单片机供电是否会受影响导致复位。
作者: zhxzhx    时间: 2023-3-4 07:56
你把 所有的P33 都 输出 0,如果没有输出高电平,就说明你程序有问题




欢迎光临 OpenEdv-开源电子网 (https://www.openedv.com/) Powered by Discuz! X3.4