亚洲春色中文字幕久久久-三上亚,91精品国产亚一区二区三区,久久久九色综合亚洲成色777,涩涩视频下载,国产午夜亚洲精品午夜鲁丝片,国产精品A一区二区三区腾讯导航,影音先锋色情AV在线看片,蜜臀国产在线视频,极品少妇高潮啪啪无码吴梦梦 ,精品人妻无码一区二区三区手机版
標題:
關于STC8G1K單片機喚醒后重新進入掉電模式的問題
[打印本頁]
作者:
535034784
時間:
2021-1-19 16:07
標題:
關于STC8G1K單片機喚醒后重新進入掉電模式的問題
通電后進入掉電模式,電流大概4uA,
按鍵后,中斷喚醒,電流大概30mA,
然后!!!!!
理論上講這時候應該重新變成掉電模式的4uA
但是用萬用表測電流發現,電流從30mA跳到28mA后,以0.1mA每秒的速度往下掉
這是為什么呀?
單片機源程序如下:
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;
}
}
}
作者:
IdeaMing
時間:
2021-1-20 09:30
我記得說明書這樣說,中斷喚醒后,程序是從進入低功耗代碼的下一句運行,而不是進入中斷吧
作者:
Y_G_G
時間:
2021-1-20 09:36
通過中斷喚醒之后,第一時間是進入中斷
中斷處理完成之后是返回到上次進入掉電模式的下一句運行
作者:
IdeaMing
時間:
2021-1-21 09:34
IdeaMing 發表于 2021-1-20 09:30
我記得說明書這樣說,中斷喚醒后,程序是從進入低功耗代碼的下一句運行,而不是進入中斷吧
PCON = 0X02;下面記得放上兩個_nop_();_nop_();說明書強調是先運行一個nop才進入中斷。
歡迎光臨 (http://www.denmoz.com/bbs/)
Powered by Discuz! X3.1