#include<reg51.h>
sbit K1 = P1^0; //定义4个按键K1K4,用于外部中断扩展D4
sbit K2 = P1^1;
sbit K3 = P1^2;
sbit K4 = P1^3;
sbit D1 = P1^4; //定义4个发光二极管D1
sbit D2 = P1^5;
sbit D3 = P1^6;
sbit D4 = P1^7;
void Xint0( ); //外部中断0中断函数声明
void main( void )
{
P1 = 0x00; //发光二极管熄灭,准备扫描按键
EA = 1; //打开总中断
EX0 = 1; //允许外部中断0中断
IT0 = 1; //INT0为电平触发方式
for( ; ; ){ ; }
}
void Xint0( ) interrupt 0 using 3
{
P1 = P1&0xff;
if( K1==1 ) D1 = !D1; //K1键单独控制D1发光、熄灭
if( K2==1 ) D2 = !D2; //K2键单独控制D2发光、熄灭
if( K3==1 ) D3 = !D3; //K3键单独控制D3发光、熄灭
if( K4==1 ) D4 = !D4; //K4键单独控制D4发光、熄灭
}