C51单片机中断——编程题

如题:
在这里插入图片描述
**

代码如下:

**

#include<reg52.h>
void delay()
{
    
    
	int i,j;
	for(i=0;i<200;i++)
		for(j=0;j<200;j++);	
}
void delay_1s()
{
    
    
	int i=0;
	for(i=0;i<20;i++)
	{
    
    
		TH0=0X3C;
		TL0=0XB0;
		TR0=1;
		while(TF0!=1);
		TF0=0;
	}
}
//闪烁led 外部中断
void flash() interrupt 2	//外部中断1 k4
{
    
    
	int i;
	for(i=0;i<10;i++)
	{
    
    
		P2=0XFF;
		delay_1s();
		P2=0XF0;
		delay_1s();
	}
}
//流水灯 外部中断
void flow() interrupt 0		//外部中断0	k3
{
    
    
	int i;
	P2=0xFF;
	for(i=0;i<4;i++)
	{
    
    
		P2=P2<<1;
		delay();
	}
}
void main()
{
    
    
	EA=1;//总中断
	
	EX1=1;//外部中断1允许位
	IT1=1;//触发方式
	
	EX0=1;
	IT0=1;
	TMOD=0X01;//定时器工作方式1
	P2=0XFF;
	while(1)
	{
    
    
		P2=0XF0;
	}
	
}

猜你喜欢

转载自blog.csdn.net/weixin_53391957/article/details/118255773