3——外部中断0——跳变沿触发方式

#include //调用52单片机库函数
#define uint unsigned int //定义宏 使得之后的定义简单,这里uint=unsigned int
void delay(uint a); //声明延时函数
sbit g=P0^0; //定义g控制第一个发光二极管
sbit k=P0^1; //定义k控制第二个发光二极管
sbit h=P0^2; //定义h控制第三个发光二极管
sbit x=P0^3; //定义x控制第四个发光二极管
sbit m=P0^4; //定义m控制第五个发光二极管
sbit n=P0^7; //定义n控制第八个发光二极管
sbit p3=P3^2; //定义外部中断0的触发,为0时工作

void main() //主函数
{



TCON=1; //此处不赋值的时候,系统默认为0,即为电平触发方式;当为1时,即为下降沿触发方式
EA=1; //开总中断
EX0=1; //开外部中断0

while(1){


p3=1; //让p3口提高到高电平,为制造下降沿做准备
g=0; //点亮第一个发光二极管
delay(109); //延时一定时间
g=1; //熄灭第一个发光二极管
delay(109); //延时一定时间
n=1; //熄灭第八个发光二极管
k=0; //点亮第二个发光二极管
delay(109); //延时一定时间
k=1; //熄灭第二个发光二极管
delay(109); //延时一定时间
p3=0; //触发外部中断0
}
}



void delay(uint a){
uint b,c; //延时程序
for(b=a;b>0;b--)
for(c=990;c>0;c--);
}



void exter0() interrupt 0 //中断函数,中断函数不用在之前声明,此处0说明,外部中断0排在第0位
{
n=0; //点亮第八个发光二极管
delay(109); //延时一定时间
m=0; //点亮第5个发光二极管
delay(109); //延时一定时间
}








相关文档
最新文档