51单片机的INT0 中断

文章介绍了INT0中断在P3.2口的设置,包括低电平有效和下降沿有效模式的选择。当CPU检测到中断信号时,会设置中断标志IE0。INT0初始化函数配置了中断总开关、触发方式和INT0开关。中断服务函数实现了P2端口LED灯的翻转。主函数中触发INT0中断并控制P2口状态。
摘要由CSDN通过智能技术生成

 INT0 对应的是P3.2 口的附加功能,可由IT0(TCON.0)选择其为低电平有效还是下降沿有效。当CPU 检测到P3.2 引脚上出现有效的中断信号时,中断标志IE0(TCON.1)置1,向CPU 申请中断。

 INT0中断的初始化:

void INT0_Init()
{
	EA = 1;     //EA为总开关,EA为1时中断才能用
	IT0 = 1;    //当IT0=0 时,为电平触发方式。当IT0=1 时,为边沿触发方式(下降沿有效)
	EX0 = 1;    //INT0的开关

}

中断服务函数

void INT0_ZD(void) interrupt 0
{
	while(1)
	{
		P2 = P2 << 1;
		Delay100ms(10);
		if(P2 == 0x00)
		{
			P2 = 0xff;
		}
	}
}

主函数

void main()
{
	EX0_Init();
	P2 = 0xff;
	while(1)
	{
		INT0 = 0; //触发INT0
	}

}

延时函数



void Delay100ms(unsigned int r)		//@11.0592MHz
{
	unsigned char i, j,k;
	for(k=0;k<r;k++)
	{
		i = 180;
		j = 73;
		do
		{
			while (--j);
		} while (--i);
	}

}

LED灯由管脚P2控制。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值