#include
#define gpio_led p2
//外部中断的io
sbit k3=p3^2;
sbit k4=p3^3;
void intconfiguration();
void delay(unsigned int n);
unsigned char keyvalue=0;
void main(void)
{
gpio_led=0x01;
intconfiguration();
while(1)
{
if(keyvalue)
gpio_led=_crol_(gpio_led,1);
else
gpio_led=_cror_(gpio_led,1);
delay(2000);
}
}
void intconfiguration()
{
//设置int0
it0=1;//跳变沿出发方式(下降沿)
ex0=1;//打开int0的中断允许。
//设置int1
it1=1;
ex1=1;
ea=1;//打开总中断
}
void delay(unsigned int n)
{
for(;n>0;n--)
{
}
}
//两个外部中断硬件上就是与p3^3和p3^2连接的
//,比如说按下p3^2键,触发外部中断0,中断处理程序0就会将keyvalue赋1
//,这时主循环就会执行gpio_led=_crol_(gpio_led,1
//);同理,当按下p3^3,就会触发外部中断1
//,中断处理程序0就会将keyvalue赋0;这时主循环就会执行gpio_led=_cror_(gpio_led,1)。