#include <stc15.h>
#include <intrins.h>
#define uchar unsigned char
#define uint unsigned int
sbit LED1=P0^6;
sbit LED2=P0^7;
sbit beepIO=P3^7;
void Delay50us();
void Delay50ms();
void Delay500ms();
void INT0_Init();
void INT2_Init();
void main()
{
P0M0&=0X3F;P0M1&=0X3F;
P3M0&=0X7F;P3M1&=0X7F;
beepIO=1;
INT0_Init();
INT2_Init();
EA=1;//使能總中斷
while(1)
{
beepIO=~beepIO;
Delay50us();
}
}
void INT0_Init()
{
IE0=0;
IT0=0;
EX0=1;
PX0=1;
EA=1;
}
void INT2_Init()
{
INT_CLKO |=0X10;//使能INT2中斷允許位
}
void INT0_ISR() interrupt 0
{
uchar i;
for(i=0;i<16;i++)
{
LED1=~LED1;
Delay500ms();
}
}
void INT2_ISR() interrupt 10
{
uchar i;
for(i=0;i<16;i++)
{
LED2=~LED2;
Delay500ms();
}
}
void Delay500ms() //@11.0592MHz
{
unsigned char i, j, k;
_nop_();
_nop_();
i = 22;
j = 3;
k = 227;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void Delay50ms() //@11.0592MHz
{
unsigned char i, j, k;
_nop_();
_nop_();
i = 3;
j = 26;
k = 223;
do
{
do
{
while (--k);
} while (--j);
} while (--i);
}
void Delay50us() //@11.0592MHz
{
unsigned char i;
_nop_();
_nop_();
_nop_();
i = 135;
while (--i);
}
|