1_5_1a.c

来自「单片机学习的例程.rar 学习单片机要从最基本的学起。对于初学者来说很适合的单片」· C语言 代码 · 共 35 行

C
35
字号
void power_fail(void) interrupt 0			//断电保护中断服务子程序
{
#pragma ASM
	CLR		EA						//不允许其它中断
	JB		power_flag,elc1			//如果已经断电保护过,则不再保护
	MOV		stackb,SP				//设置断电保护堆栈区
	MOV		SP,#0B1H
	PUSH	PSW						//保护PSW
	PUSH	IE						//保护IE
	PUSH	DPH						//保护DPH
	PUSH	DPL						//保护DPL
	PUSH	B						//保护B
	PUSH	ACC						//保护ACC
	PUSH	00H						//保护R0~R7
	PUSH	01H
	PUSH	02H
	PUSH	03H
	PUSH	04H
	PUSH	05H
	PUSH	06H
	PUSH	07H
	MOV		C,disflag				//保护disflag
	MOV		disflag1,C
	CLR		tr2_flag
	JNB		TR2,elc0				//保护TR2
	SETB	tr2_flag
elc0:	SETB	power_flag			//建立断电保护标记
elc1:	MOV		P2,#80H				//为降低功耗,使输出线为低电平
	MOV		P0,#00H
	MOV		P1,#00H
	MOV		P3,#00H
	MOV		PCON,#02H				//使单片机进入低功耗状态
#pragma ENDASM
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?