标题: (有意思)单片机控制关机后偶尔会重启 [打印本页]

作者: 19910820    时间: 2021-4-28 15:08
标题: (有意思)单片机控制关机后偶尔会重启
P5.5开关读取状态   读取到关机控制P5.4 RST关机,但是偶尔出现重启的现象,自己控制不好,只能来求助大神了。哪位知道为什么?
作者: angmall    时间: 2021-4-28 17:18
问题描述太少,不好贸然回答

这种问题最好是电路和程序一起发上来,不然就是"开局一句话,过程全靠猜"

作者: 花心的刘备    时间: 2021-4-28 17:27
程序和硬件都可能,不一定哪里问题。最好提供一下程序和原理图
作者: ljhtj    时间: 2021-4-28 20:01
这可能是单片机关机时,电源电压下降慢,单片机发生复位,重新开机
作者: 19910820    时间: 2021-4-29 10:20
sbit  IO_buzz = P1^6;
xdata unsigned int       bpdel=0; ///蜂鸣器延时变量
xdata unsigned int       exbpdel=0; ///外部报警灯蜂鸣器延时变量

bdata unsigned char         bcon=0  ;
sbit       bcon4    =        bcon^3 ;
sbit       stbit    =        bcon^4 ;
sbit       bpbit    =        bcon^5 ;
sbit       exstbit    =      bcon^6 ;
sbit       exbpbit    =      bcon^7 ;


void int_t1(void) interrupt 1
{
        if(P55 = 0)//如果关机键按下
        {
         bcon4 = 1;
        }
        if(bcon4)
        {
                if(stbit)
                {
                                bpdel--;
                                if(bpdel==0)
                                {
                                        bpdel = 10; ///间歇鸣叫
                                        bpbit = ~bpbit;
                                        IO_buzz = bpbit;
                                        if(IO_buzz){P54 = 0;}//鸣叫结束关机  RST拉低
                                        else {bpdel = 150;}
                                                       
                                }
                }
                else
                {
                                stbit = 1;
                                bpdel = 80;
                                IO_buzz = bpbit = 0;
                }                                               
        }
}
作者: 19910820    时间: 2021-4-29 10:20
sbit  IO_buzz = P1^6;
xdata unsigned int       bpdel=0; ///蜂鸣器延时变量
xdata unsigned int       exbpdel=0; ///外部报警灯蜂鸣器延时变量

bdata unsigned char         bcon=0  ;
sbit       bcon4    =        bcon^3 ;
sbit       stbit    =        bcon^4 ;
sbit       bpbit    =        bcon^5 ;
sbit       exstbit    =      bcon^6 ;
sbit       exbpbit    =      bcon^7 ;


void int_t1(void) interrupt 1
{
        if(P55 = 0)//如果关机键按下
        {
         bcon4 = 1;
        }
        if(bcon4)
        {
                if(stbit)
                {
                                bpdel--;
                                if(bpdel==0)
                                {
                                        bpdel = 10; ///间歇鸣叫
                                        bpbit = ~bpbit;
                                        IO_buzz = bpbit;
                                        if(IO_buzz){P54 = 0;}//鸣叫结束关机  RST拉低
                                        else {bpdel = 150;}
                                                       
                                }
                }
                else
                {
                                stbit = 1;
                                bpdel = 80;
                                IO_buzz = bpbit = 0;
                }                                               
        }
}
作者: 19910820    时间: 2021-4-29 10:25
C:\Users\Public\Pictures\Sample Pictures\111
作者: 19910820    时间: 2021-4-29 10:32
不知道怎么发图片,分享在网盘:https://pan.baidu.com/s/1YktEp8JeOGix0x780NCGlw
提取码:1m7r
作者: 19910820    时间: 2021-4-29 10:43
只有长按才能关机

作者: wufa1986    时间: 2021-4-29 11:13
检查按键代码




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