89c52单片机怎么进入掉电模式
3个回答
展开全部
不是所有的89C52单片机都可以进入掉电模式的,STC89C52可以进入掉电模式。
1、当PCON寄存器的D1也就是PCON.1或者叫PD位置1时,单片机进入掉电模式,该模式也叫停机模式。
2、进入掉电模式后,内部晶振停震,CPU、定时器、看门狗、串口都停止工作,外部中断继续工作。如果低电压检测被允许,也可以继续工作,否则停止工作。
3、进入掉电模式,IO口状态和SFRs(特殊功能寄存器)保持之前的状态不变。
4、外部中断可以唤醒掉电模式。
1、当PCON寄存器的D1也就是PCON.1或者叫PD位置1时,单片机进入掉电模式,该模式也叫停机模式。
2、进入掉电模式后,内部晶振停震,CPU、定时器、看门狗、串口都停止工作,外部中断继续工作。如果低电压检测被允许,也可以继续工作,否则停止工作。
3、进入掉电模式,IO口状态和SFRs(特殊功能寄存器)保持之前的状态不变。
4、外部中断可以唤醒掉电模式。
2015-06-15 · 知道合伙人教育行家
关注
展开全部
#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; //唤醒单片机
}void t1()interrupt 0
{
PCON=0;
ET0=1;
}
void se()interrupt 2
{
PCON=0;
ET0=1;
}
如果你是做掉电的话 两种情况 控制单片机电源电压拉低保持内部供电,还有一种就是 让重要数据在中断里运行即可。
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; //唤醒单片机
}void t1()interrupt 0
{
PCON=0;
ET0=1;
}
void se()interrupt 2
{
PCON=0;
ET0=1;
}
如果你是做掉电的话 两种情况 控制单片机电源电压拉低保持内部供电,还有一种就是 让重要数据在中断里运行即可。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
单片机里有个PCON寄存器,末尾的两位分别是掉电模式和空闲模式.
如果最末位一位写1,则进入空闲模式,这时候,仅仅CPU停止,单片机的片内外设不停止,用中断就可以唤醒CPU继续工作
如果倒数第二位写1,进入掉电模式,这时候,整个单片机设备全部停止,只有复位才能重新唤醒单片机.
如果最末位一位写1,则进入空闲模式,这时候,仅仅CPU停止,单片机的片内外设不停止,用中断就可以唤醒CPU继续工作
如果倒数第二位写1,进入掉电模式,这时候,整个单片机设备全部停止,只有复位才能重新唤醒单片机.
追问
那么程序该怎么写呢?我想在单片机工作完后就进入掉电模式。
追答
进入掉电模式其实对52来说就意味着关机了.
你可以这样写:
掉电 PCON |= (1<<1);
空闲: PCON |= (1<<0);
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询