当无外部中断(外部中断0)时,数码管按a~g段依次点亮,不断循环显示;当有外部中断(按钮被按下,P3.2有下降沿电压)时,数码管显示状态改为“8”亮灭闪烁显示,亮灭闪烁显示8次后,返回主程序继续按段顺序点亮
#include<reg51.h>
#define uchar unsigned char
void delay(void)
{
uchar i,j;
for(i=0;i<200;i++)
for(j=0;j<120;j++);
}
void ext0() interrupt 0
{
uchar i;
for(i=0;i<8;i++)
{
P2=0x00;
delay();
P2=0xff;
delay();
}
}
main()
{
uchar i;
EX0=1;
IT0=1;
EA=1;
while(1)
{
P2=~(1<<i);
delay();
i++;
i%=8;
}
}
#define uchar unsigned char
void delay(void)
{
uchar i,j;
for(i=0;i<200;i++)
for(j=0;j<120;j++);
}
void ext0() interrupt 0
{
uchar i;
for(i=0;i<8;i++)
{
P2=0x00;
delay();
P2=0xff;
delay();
}
}
main()
{
uchar i;
EX0=1;
IT0=1;
EA=1;
while(1)
{
P2=~(1<<i);
delay();
i++;
i%=8;
}
}
温馨提示:答案为网友推荐,仅供参考