📄 int.c
字号:
//****************************************************************************
// @Module Interrupt Unit
// @Filename INT.C
// @Project int.dav
//----------------------------------------------------------------------------
// @Controller Infineon XC866-4FR
//
// @Compiler Keil
//
// @Codegenerator 1.4
//
// @Description: This file contains functions that use the IR module.
//
//----------------------------------------------------------------------------
// @Date 2003-1-1 0:56:25
//
//****************************************************************************
// USER CODE BEGIN (IR_General,1)
// USER CODE END
//****************************************************************************
// @Project Includes
//****************************************************************************
#include "MAIN.H"
// USER CODE BEGIN (IR_General,2)
// USER CODE END
//****************************************************************************
// @Macros
//****************************************************************************
// USER CODE BEGIN (IR_General,3)
// USER CODE END
//****************************************************************************
// @Defines
//****************************************************************************
// USER CODE BEGIN (IR_General,4)
// USER CODE END
//****************************************************************************
// @Typedefs
//****************************************************************************
// USER CODE BEGIN (IR_General,5)
// USER CODE END
//****************************************************************************
// @Imported Global Variables
//****************************************************************************
// USER CODE BEGIN (IR_General,6)
// USER CODE END
//****************************************************************************
// @Global Variables
//****************************************************************************
// USER CODE BEGIN (IR_General,7)
// USER CODE END
//****************************************************************************
// @External Prototypes
//****************************************************************************
// USER CODE BEGIN (IR_General,8)
// USER CODE END
//****************************************************************************
// @Prototypes Of Local Functions
//****************************************************************************
// USER CODE BEGIN (IR_General,9)
// USER CODE END
//****************************************************************************
// @Function void INT_vInit(void)
//
//----------------------------------------------------------------------------
// @Description This is the initialization function of the IR function
// library. It is assumed that the SFRs used by this library
// are in their reset state.
//
// The project settings regarding the external interrupts are
// taken over into the corresponding special function
// registers IENx (interrupt enabling), TCON and EXICONx
// (trigger selection)(x=0 or 1). The global enable Bit EA is
// not changed. The initialization of the interrupt priorities
// is located in function MAIN_vInit.
//
//----------------------------------------------------------------------------
// @Returnvalue None
//
//----------------------------------------------------------------------------
// @Parameters None
//
//----------------------------------------------------------------------------
// @Date 2003-1-1
//
//****************************************************************************
// USER CODE BEGIN (IR_Init,1)
// USER CODE END
void INT_vInit(void)
{
// USER CODE BEGIN (IR_Init,2)
// USER CODE END
// ------ Port initialization for Interrupt module-----
/// Pin P0.5 (input)
/// - used as External interrupt 0 input pin
// ---------- Non Maskable Interrupt configuration ----------
/// NMIWDT disabled
/// NMIPLL disabled
/// NMIFLASHTIMER disabled
/// NMIOCDS disabled
/// NMIVDD disabled
/// NMIVDDP disabled
/// NMIECC disabled
NMICON = 0x00; // NMI Control Register
/// ---------- external interrupt 0 ----------
/// enabled
/// Interrupt on falling edge
/// falling edge triggered
IT0 = 1;
/// ---------- external interrupt 1 ----------
/// disabled
/// ---------- external interrupt 2 ----------
/// disabled
/// ---------- external interrupt 3 to 6----------
/// disabled
IEN0 = 0x81; // interrupt enable register 0
IEN1 = 0x00; // interrupt enable register 1
TCON = 0x01; // timer0/1 control register
EXICON0 = 0x00; // external interrupt trigger select
// register 0
EXICON1 = 0x00; // external interrupt trigger select
// register 1
// USER CODE BEGIN (IR_Init,3)
// USER CODE END
} // End of function INT_vInit
//****************************************************************************
// @Function void INT_viExt0(void)
//
//----------------------------------------------------------------------------
// @Description This is the service routine for the External interrupt 0.
// Please note that you have to add application specific code
// to this function.
//
//----------------------------------------------------------------------------
// @Returnvalue None
//
//----------------------------------------------------------------------------
// @Parameters None
//
//----------------------------------------------------------------------------
// @Date 2003-1-1
//
//****************************************************************************
// USER CODE BEGIN (IR_IsrExt0,1)
// USER CODE END
void INT_viExt0(void) interrupt EXT0INT
{
SFR_PAGE(_su0, SST2); // switch to page0
IRCON0 &= ~(ubyte)0x01; // clear EXINT0
// USER CODE BEGIN (IR_IsrExt0,2)
EX0=0;
disp(0x87,8);
Getkey();
EX0=1;
// USER CODE END
SFR_PAGE(_su0, RST2); // restore the old SCU page
} // End of function INT_viExt0
// USER CODE BEGIN (IR_General,10)
// USER CODE END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -