找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 4038|回復(fù): 3
打印 上一主題 下一主題
收起左側(cè)

關(guān)于STC8G1K單片機(jī)喚醒后重新進(jìn)入掉電模式的問(wèn)題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:728019 發(fā)表于 2021-1-19 16:07 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
通電后進(jìn)入掉電模式,電流大概4uA,
按鍵后,中斷喚醒,電流大概30mA,
然后。。。!
理論上講這時(shí)候應(yīng)該重新變成掉電模式的4uA
但是用萬(wàn)用表測(cè)電流發(fā)現(xiàn),電流從30mA跳到28mA后,以0.1mA每秒的速度往下掉
這是為什么呀?

單片機(jī)源程序如下:
unsigned char key0 = 1;
unsigned char key1 = 1;
unsigned char key_tc = 1;
/**************中斷******************/
void INT0_Routine()interrupt 0 //左邊key0
{
        PCON = 0x00;
        key1 = 0;
}
void INT1_Routine()interrupt 2 //右邊key1
{
        key0 = 0;
}
void INT3_Routine()interrupt 11
{
        key_tc = 0;
}
/**************主程序****************/
void main()
{

        P1M1 = 0xCF;  // 1.7,1.6,1.3,1.2,1.1,1.0高阻輸入
        P1M0 = 0x00;  //
        P3M1 = 0x0C;  // key1和key2高阻輸入
        P3M0 = 0x00;
        
        IT0 = 1; //使能INT0下降沿中斷
        EX0 = 1; //使能INT0中斷
        IT1 = 1; //使能INT1下降沿中斷
         EX1 = 1; //使能INT1中斷
        INTCLKO = 0x20; //使能INT3下降沿中斷
        
        ES = 1;  //使能串口中斷
        EA = 1;
        led = 1;
        PCON = 0x02; //掉電模式,低功耗模式

        while(1)
        {
          if(key_tc == 0)
           {
                         led = 0;
                         Delay30ms();         //按鍵防抖
       up();
                         read_id();
                         Delay30ms();
                         led = 1;
                         key_tc = 1;
                         PCON = 0x02;
                 }
                 if(key0 == 0)
           {
                         led = 0;
                   Delay30ms();         //按鍵防抖
       up();
                         Delay30ms();
                         led = 1;
                         key0 = 1;
                         PCON = 0x02;
                 }
                 if(key1 == 0)
           {
                         led = 0;
                         Delay30ms();         //按鍵防抖
       down();
                         Delay30ms();
                         led = 1;
                         key1 = 1;
                         PCON = 0x02;
                 }
        }
}


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

相關(guān)帖子

回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:276663 發(fā)表于 2021-1-20 09:30 | 只看該作者
我記得說(shuō)明書這樣說(shuō),中斷喚醒后,程序是從進(jìn)入低功耗代碼的下一句運(yùn)行,而不是進(jìn)入中斷吧
回復(fù)

使用道具 舉報(bào)

板凳
ID:401564 發(fā)表于 2021-1-20 09:36 | 只看該作者
通過(guò)中斷喚醒之后,第一時(shí)間是進(jìn)入中斷
中斷處理完成之后是返回到上次進(jìn)入掉電模式的下一句運(yùn)行
回復(fù)

使用道具 舉報(bào)

地板
ID:276663 發(fā)表于 2021-1-21 09:34 | 只看該作者
IdeaMing 發(fā)表于 2021-1-20 09:30
我記得說(shuō)明書這樣說(shuō),中斷喚醒后,程序是從進(jìn)入低功耗代碼的下一句運(yùn)行,而不是進(jìn)入中斷吧

PCON = 0X02;下面記得放上兩個(gè)_nop_();_nop_();說(shuō)明書強(qiáng)調(diào)是先運(yùn)行一個(gè)nop才進(jìn)入中斷。
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表