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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2237|回復: 0
打印 上一主題 下一主題
收起左側

單片機掉電后喚醒的問題

[復制鏈接]
跳轉到指定樓層
樓主
ID:86421 發表于 2019-9-2 08:54 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
用STC12C5616AD做了一個時鐘,想法是讓單片機定時進入掉電模式,然后利用DS3231的INT/SQW定時輸出通過單片機的外總中斷0(P3.2)來喚醒掉電的單片機而使時鐘繼續正常工作,F在的問題是:能進入掉電模式,也參通過外總中斷喚醒,但只是一閃就又停了。如果把中斷子程序中的“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);  //開機二:分
}

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表