......................抱歉,之前没看到用中断,现在在程序上稍作修改
P3口为控制口(中断int0——p3.2),P1口为输出口,p2口提供高电平,LED为共阳极,程序如下:
#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
sbit k1=P2^0;
sbit k2=P2^1;
sbit k3=P2^2;
sbit LED_1=P1^0;
sbit LED_2=P1^1;
sbit LED_3=P1^2;
void relay(uint ms)
{
uint i,j;
for(i=ms;i>0;i--)
for(j=110;j>0;j--);
}
void main()
{
while(1)
{
EA=1;
ET0=1;
while(P3^2==0)
{
if(k1==0)
{
LED_1=0;
relay(100);
}
if(k2==0)
{
LED_2=0;
relay(100);
}
if(k3==0)
{
LED_3=0;
relay(100);
}
}
}
程序完毕!
下面是电路图: