欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機掉電后喚醒的問題 [打印本頁]

作者: 1qaz2wsx77    時間: 2019-9-2 08:54
標題: 單片機掉電后喚醒的問題
用STC12C5616AD做了一個時鐘,想法是讓單片機定時進入掉電模式,然后利用DS3231的INT/SQW定時輸出通過單片機的外總中斷0(P3.2)來喚醒掉電的單片機而使時鐘繼續正常工作。現在的問題是:能進入掉電模式,也參通過外總中斷喚醒,但只是一閃就又停了。如果把中斷子程序中的“I2CWrite(DS3231_STATUS,0x00);”去掉就能夠正常喚醒工作。求助:問題出在哪?如何解決?
......
        while (1)         //主循環
                {
                       
                        if(ReadTimeFlag==1)  //讀取時間
                                {
                                        ReadTimeFlag=0;
                                        Readtime();
                                }
                                Scan_Key();                               

                }
}
......
/*------------------------------------------------
        中斷0開啟  初始化
------------------------------------------------*/

void Alarm_Int0_Init() //中斷0開啟
{
        EA = 1;
        EX0 = 1;
        IT0 = 0;//0電平的觸發方式,1下降沿觸發
}
/*------------------------------------------------
        中斷子程序
------------------------------------------------*/
void Alarm_Int0() interrupt 0
{
        PCON = 0x00;
        I2CWrite(DS3231_STATUS,0x00);        //清DS3231內部鬧鐘標志位.狀態寄存器
}
......
                                        if(hour==23&&min==00&&sec==00)  //關機
                                        {
                                                PCON = 0X02;                                               
                                        }
......
void InitDS3231()  //初始化
{
        SCL=1;
        delayus(5);
        SDA=1;
        delayus(5);
        I2CWrite(DS3231_AL1DAY,0x81);        //A1M4置位,時分秒匹配時鬧鐘響應
        I2CWrite(DS3231_AL2DAY,0x81);        //A2M4置位,時分匹配時鬧鐘響應
        I2CWrite(DS3231_STATUS,0x00);        //32KHZ輸出禁止,鬧鐘標志位清零
        I2CWrite(DS3231_CONTROL,0x07);        //中斷允許,鬧鐘1和2打開
               
        I2CWrite(DS3231_AL1HOUR,0x06);  //開機一:時
        I2CWrite(DS3231_AL1MIN,0x00);  //開機一:分
        I2CWrite(DS3231_Al1SEC,0x00);  //開機一:秒
       
        I2CWrite(DS3231_AL2HOUR,0x17);  //開機二:時
        I2CWrite(DS3231_AL2MIN,0x30);  //開機二:分
}






歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1