我在做智能车,本来想通过外部中断触发来实现循迹和避障功能的切换,但是没有成功,现在在测试中断。
通过一个端口给P32口低电平(两端口直接用杜邦线连接),犹豫端口输出信号高低变化,导致程序在中断和跳出中断间循环,从而达到点亮LED的目的。
程序如下:
#include<reg52.h>
sbit led=P2^7;
sbit waibu=P1^0;
#define uint unsigned int
#define uchar unsigned char
void delay(uint z)
{
uchar y;
uint x;
for(x=z;x>0;x--)
for(y=20;y>0;y--);
}
void main()
{
EA=1;
EX0=1;//外部中断0
IT0=0;//电平触发
while(1)
{
waibu=0;
delay(1000);
}
}
void int0(void)interrupt 0 using 1
{
led=1;
delay(1000);
waibu=1;
delay(1000);
}
我觉得这个程序应该是达到让LED闪烁的目的吧。。可是实际中led不闪,会亮。
求助 |