isr.c

来自「mcu for gm5621带遥控,键盘输入的单片机代码.供学习参考使用.谢谢.」· C语言 代码 · 共 117 行

C
117
字号
//#include "types.h"
#include "board.h"
#include "global.h"
#include "power.h"
#include "debugDef.h"
#include "gm_rwreg.h"

#include "ir.h"

//#include "debug.h"


#define ReSyncTick			255//54	// 0.2 Second for resynchorize dubug process


#define EnableExt0Interrupt		0
#define EnableExt1Interrupt		1
#define EnableTime0Interrupt		0
#define EnableTime1Interrupt		0
#define EnableTime2Interrupt		0
#define EnableSerialPortInterrupt	1


#if EnableExt0Interrupt
void EXT0Interrupt(void) interrupt 0
{ 
}
#endif


#if EnableTime0Interrupt
extern WORD ms_Counter;
extern BYTE ReSyncCounter;
extern BYTE Second;
extern BYTE OsdCounter;
extern BYTE PowerDownCounter;
extern BYTE min_Counter;
void Time0Interrupt(void) interrupt 1
{ 

  if(IR_ErrTimeCount)
    IR_ErrTimeCount--;
  else
    Set_IR_ResetFlag();
  TH0=ClockPeriod>>8;
  TL0=ClockPeriod&0xFF; // timer 0 counter
  TF0=0; // timer 0 flag
}
#endif

#if EnableExt1Interrupt
void EXT1Interrupt(void) interrupt 2
{
	if (PowerOnStatus)
		Set_ReadStatusFlag();
	
	IE1=0;

}
#endif

#if EnableTime1Interrupt
void Time1Interrupt(void) interrupt 3
{
}
#endif

#if EnableSerialPortInterrupt
void SerialPortInterrupt(void) interrupt 4
{ 
	BYTE sioData;

  	if (RI)
    	{ 
    		RI = 0;
    		sioData = SBUF;
    	}
	
  	if (TI)
    		TI=0;

}
#endif

#if 1
void PCA_Interrupt(void) interrupt 6
{

    if(IR_ErrTimeCount)
    IR_ErrTimeCount--;
  else
    Set_IR_ResetFlag();  

  if (DoPowerOffCountFlag)
  {
  	if (Shut_Down_Count!=0)
  		Shut_Down_Count--;
	else
	{
		Clr_DoPowerOffCountFlag();
		//Set_DoPowerHandlerFlag();
		cmd_Power_Handler =POWER_OFF_SYSTEM;
	}
	
  }

 // hwGreenLed_Pin = ~hwGreenLed_Pin;
	CCAP0L = 0x00;
	CCAP0H = 0x06;
	//CCAP0L = 0x02;
	//CCAP0H = 0x00;
	CCF0 = 0;
}
#endif


⌨️ 快捷键说明

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