其他分享
首页 > 其他分享> > STC15单片机电源管理——掉电模式(外部中断0唤醒)

STC15单片机电源管理——掉电模式(外部中断0唤醒)

作者:互联网

掉电模式(外部中断0唤醒)

一.电源管理控制寄存器(PCON 0x87)
该寄存器不可位寻址 ,上电默认为00110000B
PCON寄存器如下:
!PCON寄存器在这里插入图片描述
如要是进入掉电模式,使PD=1;
直接进入代码分析:
(1)外部中断代码分析

#include <stc15.h>
#include <zhongduan.h>
void zhongduanint()
{
	IE0=0;
	IT0=1;
	EX0=1;
}
void timer() interrupt 0
{
	;
}

中断.h代码分析

#ifndef __ZHONGDUAN_H_
#define __ZHONGDUAN_H_

extern void zhongduanint();
#endif

延时函数:

#include <stc15.h>
#include <delay.h>
#define uint unsigned int
#define uchar unsigned char
void delayms(uint x)
{
	uint i,j;
	for(i=x;i>0;i--)
	for(j=110;j>0;j--);
}
void delays(uint x)
{
	uint i,j;
	for(i=x*1000;i>0;i--)
	for(j=110;j>0;j--);
}

#ifndef __DELAY_H_
#define __DELAY_H_
#define uint unsigned int
#define uchar unsigned char
extern void delayms(uint x);
extern void delays(uint x);
#endif

主函数分析:

#include <stc15.h>
#include <zhongduan.h>
#include <delay.h>
sbit led1=P0^6;
sbit led2=P0^7;
void main()
{
	P0M0&=0x3f;P0M1&=0x3f;
	EA=1;
	while(1)
	{
		delayms(1);
		delays(1);
		led1=0;
		led2=1;
		delays(5);
		led2=0;
		led1=1;
		zhongduanint();
		PCON=0x02;
		delayms(10);
	}
	
}

标签:__,STC15,--,void,掉电,单片机,uint,include,define
来源: https://blog.csdn.net/wangqyt/article/details/118439841