STC 单片机的掉电与待机模式 STC 单片机是支持掉电与待机模式的,在这种模式中芯片的功耗大大降低。从而可以 使应用系统的功耗问题得以解决。以下对其进行详细的介绍。 PCON 寄存器: PD:将此位置1 时,可以使单片机进行Power Down 模式,可由外部中断低电平触发或 下降沿触发中断模式唤醒。 IDL:将此位置1 时,单片机进入IDLE 模式(空闲),除了CPU,其它部分仍继续工 作,可由任何一个中断唤醒。 掉电模式与待机模式的使用例程: #include <stc51rd.h> unsigned char dat; void delay(unsigned time) { while(time) ; } void Enable_EX() //使能外部中断1 { IT1=1; //外部中断1 为边沿触发 标识地址名称7 6 5 4 3 2 1 0 初始值 PCON 87H 电源控制寄存器SMOD SMOD0 - POF GF1 GF0 PD IDL 00x1 0000 EX1=1; //使能外部中断1 EA=1; //使能中断 } void Disable_EX() //禁止外部中断1 { EX1=0; //禁止外部中断1 } void Power_Down() //使单片机进入掉电模式 { Enable_EX(); //在进入掉电模式时,打开外部中断1,用以唤醒 delay(50000); PCON=0x02; //PD 位置为1,进入掉电模式 } void Idle() //使单片机进入待机模式 { Enable_EX(); PCON=0x01; } void extern1_ISR() interrupt 2 //外部中断1 的服务程序 { dat=0; } void main() { for(dat=0;dat<255;dat++) { if(dat==127) { Power_Down(); //此时进入掉电模式,程序停滞,由外部中断1 唤醒 //Idle(); //此时进入待机模式,程序停滞,可由任意中断唤醒 //这里仍使用外部中断,其它中断如串口中断也可以唤醒 } P2=~dat; delay(20000); } } 经过笔者的实际测试,采用外部中断的下降沿来唤醒时,如果将外部中断引脚一直接到 地或低电平,则当单片机进入掉电模式后,将立即被唤醒,而待机模式则不会。希望读者在 进行应用系统设计注意这一点