1914833143 发表于 2020-8-11 18:25:02

51单片机 外部中断

我用的官方给的程序(我用的是A3的板子为啥没现象   I/O口我也查过了 是对的    跪求大佬解答)
#include "reg52.h" //此文件中定义了单片机的一些特殊功能寄存器
typedef unsigned int u16; //对数据类型进行声明定义
typedef unsigned char u8;
sbit k3=P3^2; //定义按键 K3
sbit led=P2^0; //定义 P20 口是 led

void delay(u16 i)
{
while(i--);
}

void Int0Init()
{
IT0=1;//跳变沿出发方式(下降沿)
EX0=1;//打开 INT0 的中断允许。
EA=1;//打开总中断
}

void main()
{
Int0Init(); // 设置外部中断 0
while(1);
}

void Int0() interrupt 0
{
delay(1000);
if(k3==0)
{
led=~led;
}
}

小白-wyz 发表于 2020-9-1 01:49:12

中断函数有问题啊。if里面k3==0 始终是成立的。程序始终运行led=~led。
页: [1]
查看完整版本: 51单片机 外部中断