80 lines
1.8 KiB
C
80 lines
1.8 KiB
C
|
#include "H/Function_Init.H"
|
|||
|
|
|||
|
void EX_Init(void);
|
|||
|
uchar INT1_flag = 0x00;
|
|||
|
/*****************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void EXTI_Test(void)
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD>ⲿ<EFBFBD>жϲ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*****************************************************/
|
|||
|
void EXTI_Test(void)
|
|||
|
{
|
|||
|
EX_Init();
|
|||
|
while(1)
|
|||
|
{
|
|||
|
}
|
|||
|
}
|
|||
|
/*****************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void EX_Init(void)
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD>ⲿ<EFBFBD>жϳ<EFBFBD>ʼ<EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*****************************************************/
|
|||
|
void EX_Init(void)
|
|||
|
{
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD>жϿ<D0B6>INT07<30><37>INT11/10<31><30>INT20/21
|
|||
|
P0CON &= 0X7F; //<2F>ж<EFBFBD>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
P0PH |= 0x80; //<2F>ж<EFBFBD>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
P4CON &= 0XFC; //<2F>ж<EFBFBD>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
P4PH |= 0x03; //<2F>ж<EFBFBD>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
P2CON &= 0XFC; //<2F>ж<EFBFBD>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
P2PH |= 0x03; //<2F>ж<EFBFBD>IO<49><4F><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
|
|||
|
//<2F><><EFBFBD><EFBFBD>INT07<30><37><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>жϡ<D0B6>INT11/10<31>½<EFBFBD><C2BD><EFBFBD><EFBFBD>жϡ<D0B6>INT20/21˫<31><CBAB><EFBFBD>ж<EFBFBD>
|
|||
|
//<2F>½<EFBFBD><C2BD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
INT0F = 0X00 ; //0<>ر<EFBFBD> 1ʹ<31><CAB9>
|
|||
|
INT1F = 0X03 ; //0<>ر<EFBFBD> 1ʹ<31><CAB9>
|
|||
|
INT2F = 0X03 ; //0<>ر<EFBFBD> 1ʹ<31><CAB9>
|
|||
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
INT0R = 0X80 ; //0<>ر<EFBFBD> 1ʹ<31><CAB9>
|
|||
|
INT1R = 0X00 ; //0<>ر<EFBFBD> 1ʹ<31><CAB9>
|
|||
|
INT2R = 0X03 ; //0<>ر<EFBFBD> 1ʹ<31><CAB9>
|
|||
|
|
|||
|
//<2F>ⲿ<EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ȼ<EFBFBD><C8BC><EFBFBD><EFBFBD><EFBFBD>
|
|||
|
IE |= 0x05; //<2F>ⲿ<EFBFBD>ж<EFBFBD>0<EFBFBD><30>1<EFBFBD>ж<EFBFBD>ʹ<EFBFBD><CAB9>
|
|||
|
IE1 |= 0x08; //<2F>ⲿ<EFBFBD>ж<EFBFBD>2<EFBFBD>ж<EFBFBD>ʹ<EFBFBD><CAB9>
|
|||
|
IP |= 0X00; //<2F><><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>ȼ<EFBFBD>
|
|||
|
IP1 |= 0X00;
|
|||
|
EA = 1;
|
|||
|
}
|
|||
|
|
|||
|
/*****************************************************
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD>void EX0/1/2() interrupt 0/2/10
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ܣ<EFBFBD><EFBFBD>ⲿ<EFBFBD>жϺ<EFBFBD><EFBFBD><EFBFBD>
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*<EFBFBD><EFBFBD><EFBFBD>ڲ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>void
|
|||
|
*****************************************************/
|
|||
|
void INT0Interrupt() interrupt 0
|
|||
|
{
|
|||
|
P04 = ~P04;
|
|||
|
}
|
|||
|
|
|||
|
void INT1Interrupt() interrupt 2
|
|||
|
{
|
|||
|
P05 = ~P05;
|
|||
|
if(P40 == 0)
|
|||
|
{
|
|||
|
INT1_flag = 0x10; //INT10<31><30><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
}
|
|||
|
if(P41 == 0)
|
|||
|
{
|
|||
|
INT1_flag = 0x20; //INT11<31><31><EFBFBD><EFBFBD><EFBFBD>ж<EFBFBD>
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
void INT2Interrupt() interrupt 10
|
|||
|
{
|
|||
|
P06 = ~P06;
|
|||
|
}
|