ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

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

2021-07-03 15:04:03  阅读:401  来源: 互联网

标签:__ STC15 -- void 掉电 单片机 uint include define


掉电模式(外部中断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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有