⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.c

📁 AT89C51单片机跑马灯,相应中断
💻 C
字号:
#include <reg51.h>
void int_0();
void delay(int n)
{
     int i,j;
	 for (i=1;i<=n;i++)
	     for (j=1;j<=n;j++)
		     ;

}
int main(void)
{
	char output;
	int i;
	EA=1;               // CPU所有中断开(IE最高位MSB)
	EX0=1;              // INT0中断开
	IT0=0;              // INT0低电平触发(为1则为下降沿触发)
	while(1)
	{
		output = 0x01;
		P0 = 0xff;
		for (i = 0; i<8; i++)
		{
			P1 = output;
			output = output << 1;
			delay(100);
		}
		output = 0x7f;
		P1 = 0;
		for (i = 0; i<8; i++)
		{
			P0 = output;
			output = (output >> 1) | 0x80;
			delay(100);
		}
	}
    return 0;
}
void int_0() interrupt 0 using 0
{
     char output1,output2,i;
	 output1 = 0x01;
     output2 = 0xfe;
     for (i = 0; i<8; i++)
	 {
	 	P1 = output1;
		output1 = output1 << 1;
		delay(100);
		P1 = 0;
		P0 = output2;
		output2 = output2 << 1 | 0x01;
		delay(100);
		P0 = 0xff;
	}
}

⌨️ 快捷键说明

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