sweetyy、

导航

单片机中断嵌套

单片机中断嵌套

一、开发板原理图

1、外部中断端口

2、独立按键(P1.4~P1.7)

3、LED灯对应P2口

二、Keil程序

#include <reg51.h>
#define uchar unsigned char
#define uint unsigned int
//流水灯显示数据组
uchar dis_code [9]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};

//延时函数
void delay(uint i)
{
	uint j;
	for(;i>0;i--)
	for(j=0;j<125;j++)
	//空函数
	{;}
}
	
	//主函数
	void main ()
	{
		uchar a;
		for(;;)
		{
			EA=1;    //总中断允许
			EX0=1;   //允许外部中断0中断
			EX1=1;   //允许外部中断1中断
			IT0=1;   //选择外部中断0为跳沿触发方式
			IT1=1;   //选择外部中断1为跳沿触发方式
			PX0=0;   //外部中断0为低优先级
			PX1=1;   //外部中断1为高优先级
			for(a=0;a<8;++a)
			{
				delay(500);
				//流水灯显示数据送到P2口驱动LED显示
				P2=dis_code[a];
			}
		}
	}
	
	//外部中断0的中断服务函数
	void int0_isr(void) interrupt 0 using 0
	{
	  
		for(;;)
		{
		    //1010 1010 奇数位亮
			P2=0xaa;
			delay(400);
			//0101 0101 偶数位亮
			P2=0x55;
			delay(400);
		}
	
	}
	
	//外部中断1的中断服务函数
	void int1_isr(void) interrupt 2 using 1
	{
	     //8位全亮全灭5次
		uchar m;
		for(m=0;m<5;m++)
		{
		    //8位全亮
			P2=0;
			delay(500);
			//8位全灭
			P2=0xff;
			delay(500);
		}
	}	

三、开发板短接线连接

P1.4~P1.7端口对应独立按键,这里选择P1.4和P1.5,分别连接INT0和INT1

四、效果展示

posted on 2021-12-12 18:03  sweetyy、  阅读(89)  评论(0)    收藏  举报