单片机学习笔记:中断函数的使用
#include<reg51.h>
#define uint unsigned int
#define uchar unsigned char
typedef unsigned int u16;
sbit beep=P1^5;
void init();
void delay(uint);
void delay1(u16 i)//蜂鸣器的延时
{
while(i--);
}
void main()
{
init();
while(1)
{
beep=~beep ;
delay1(50) ;
P0=0x00;//灯亮
}
}
void init()
{
EA=1;
EX0=1;
IT0=0;//电平触发,为1时是跳沿式触发
}
void exter0() interrupt 0
{
beep=1;
delay(50);
beep=0;
delay(50);
P0=0xff;//灯灭
delay(500);
}
void delay(uint z)
{
uint x,y;
for(x=0;x<z;x++)
for(y=0;y<110;y++);
}