int2.c

来自「51单片机用c语言实例 包括ad」· C语言 代码 · 共 50 行

C
50
字号
/*****************************************************************/
/*  文件名: Int2.Asm                                             */
/*  功能描述: 手动控制外部中断INT0,INT1. INT0中断产生则扩展P1口  */
/*      使LED闪烁4次, INT1中断产生则使LED流水显示4周.            */
/*****************************************************************/

#include "SST89x5x4.h"
#include "Intrins.h"

void delay(void)
{
	unsigned int x;
	for(x=0; x<0xFFFF; x++);
}

void int0_isr() interrupt 0		//INT0中断
{
	unsigned char j;
	for(j=0; j<4; j++)
	{
		P1 = 0xFF;				//使LED闪烁
		delay();
		P1 = 0x00;
		delay();
	}
}

void int2_isr() interrupt 2		//INT1中断
{
	unsigned char i=0x03, j;
	for(j=0; j<16; j++)
	{
		P1 = i;					//使LED流水显示
		i = _crol_(i, 2);
		delay();
	}
	P1 = 0x00;
}

void main()
{
	P1 = 0x00;
	IT0 = 1;
	EX0 = 1;			//中断0
	IT1 = 1;
	EX1 = 1;			//中断1
	EA = 1;
	while(1);
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?