

下面代码实现两个按键控制两个led的闪烁,通过外部中断实现
#include <reg51.h>
typedef unsigned int u16;
typedef unsigned char u8;
sbit led1=P1^0;
sbit led2=P1^1;
sbit k1=P3^2;
sbit k2=P3^3;
void delay(u16 n)
{
while(n–);
}
void Int0_RunFunc() interrupt 0
{
delay(1000);
if(k1==0)
{
led1=~led1;
}
}
void Int1_RunFunc() interrupt 2//
{//注意外部中断1的中断号是2不是1
delay(1000);
if(k2==0)
{
led2=~led2;
}
}
void main()
{
IT0=1;//设置下降沿触发中断
EX0=1;//开启外部中断0
IT1=1;//设置1中断的触发方式为下降沿触发
EX1=1;//开启外部中断1
EA=1;//开启总中断
while(1);
}
博客给出了通过外部中断实现两个按键控制两个LED闪烁的代码。代码中定义了LED和按键引脚,设置了延时函数,分别编写了外部中断0和1的处理函数,在主函数中设置了中断触发方式并开启总中断。
8469

被折叠的 条评论
为什么被折叠?



