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;
}
}
中断函数有问题啊。if里面k3==0 始终是成立的。程序始终运行led=~led。
页:
[1]