写了个小程序测试掉电唤醒功能:
硬件平台:
MCU:STC11L02E SOP20 @7.3728MHz
P1.2接LED发光二极管
INT0 作掉电唤醒引脚
测试程序很简单,如下:
#include "STC11.H"
//LED测试
sbit LED = P1^2;
//*********************************************************
//******主程序********
//*********************************************************
void main()
{
unsigned char count=0;
CLK_DIV=0x01;//时钟2分频 7.3728/2=3.6848MHz
EX0 = 1;//INT0中断允许
IT0 = 1;//INT0下降沿中断
EA=1;
while(1)
{
LED=~LED;
delay_ms(50);
LED=~LED;
delay_ms(50);
if(++count>=5) //当循环5次后进入掉电模式
{
count=0;
PCON = 0x02; //进入掉电模式
delay_ms(100);
}
}
}
====================
运行程序时,LED闪烁一会进入掉电模式,CPU不工作,LED全灭.此时如果INT0给一个低脉冲理应会唤醒CPU的,但实际CPU却一直在睡,唤不醒。是什么原因呢,程序应该是没问题的。 |
|