STC89C52 单片机 的掉电模式(休眠模式) 10
下面的程序很简单,就让单片机处于掉电模式(休眠模式),然后让外部中断0把单片机唤醒。但结果是唤不醒?知道为啥么?注意,如果用单片机的空闲模式,也就是把下面程序中的“PCO...
下面的程序很简单,就让单片机处于 掉电模式(休眠模式),然后让外部中断0把单片机唤醒。但结果是唤不醒?知道为啥么?
注意,如果用单片机的空闲模式,也就是把下面程序中的“PCON=0x02;” 改为 “PCON=0x01;”,其余程序不变,那就能正常执行……
#include<reg52.h>
sbit d=P1^1; //一个发光二极管
void delay(unsigned int t) //一个延时函数
{
unsigned int i;
unsigned int j;
for(i=t;i>0;i--)
for(j=114;j>0;j--)
{}
}
void main()
{
EA=1; //开总中断
EX0=1; //开外部中断0
while(1)
{
d=0;
delay(1000);
d=1;
PCON=0x02; //让单片机处于掉电模式(或休眠模式)
}
}
void External() interrupt 0
{
PCON=0x00; //唤醒单片机
} 展开
注意,如果用单片机的空闲模式,也就是把下面程序中的“PCON=0x02;” 改为 “PCON=0x01;”,其余程序不变,那就能正常执行……
#include<reg52.h>
sbit d=P1^1; //一个发光二极管
void delay(unsigned int t) //一个延时函数
{
unsigned int i;
unsigned int j;
for(i=t;i>0;i--)
for(j=114;j>0;j--)
{}
}
void main()
{
EA=1; //开总中断
EX0=1; //开外部中断0
while(1)
{
d=0;
delay(1000);
d=1;
PCON=0x02; //让单片机处于掉电模式(或休眠模式)
}
}
void External() interrupt 0
{
PCON=0x00; //唤醒单片机
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询