天祥单片机学习之中断

代码如下:

#include<reg52.h>

sbit dula=P2^6;
sbit wela=P2^7;

unsigned char num;
sbit d1=P1^0;    //取发光二极管第一位

unsigned char code table[]={
    0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,
	0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71,
    };

void delay(unsigned int z);
void main()
{
	EA=1;    //开总中断
	EX0=1;   //开外部中断0
	IT0=1;   //跳变沿触发方式
	wela=1;
	P0=0xea;
	wela=0;
	while(1)
	{
		for(num=0;num<16;num++)
		{
			d1=1;      //关闭第一个LED
			dula=1;
			P0=table[num];
			dula=0;
			delay(1000);
		}
	}
}

void delay(unsigned int z)
{
	unsigned int i=0,j=0;
	for(i=0;i<z;i++)
		for(j=0;j<110;j++);
}

//中断函数
void extern0() interrupt 0
{
 	d1=0;     //点亮第一个LED
}

你可能感兴趣的:(单片机,中断)