C51单片机中断编程:p3.2开关按一下,原来8盏循环点亮led终止在某一盏,再按一下,又开始循环,求程序

2024-12-21 22:14:30
推荐回答(4个)
回答1:

# include
bit flag; //添加
main()
{
int i;
EA=1; //添加
EX0=1; //添加
IT0=1; //添加
P1=0xfe;
while(1)
{
while(flag); //添加
for(i=0;i<30000;i++);
P1<<=1;
P1|=0x01;
if(P1==0xff)
{
for(i=0;i<30000;i++);
P1=0xfe;
}

}
}

void exint0() interrupt 0 //添加
{
flag=!flag;
}

回答2:

用两个中断。一个定时器中断,每次定时中断后让LED移位。另一个外部中断P3.2,每次中断后将定时器停止,TR0=0

回答3:

学习了

回答4:

ee