#include"iocc2530.h"
#define LED1 P1_0
#define LED2 P1_1
#define LED3 P1_3
#define LED4 P1_4
#define SW1 P1_2
unsigned int counter=0;
void delay(unsigned int time)
{
unsigned int i;
unsigned char j;
for(i = 0; i < time; i++)
{
for(j = 0; j < 240; j++)
{ asm("NOP");
asm("NOP");
asm("NOP");
}
}
}
#pragma vector=P1INT_VECTOR
__interrupt void P1_ISR()
{
EA=0;
if(P1IFG&0x04)//00000100
{
while(SW1==0)
delay(100);
while(!SW1)
{
counter++;
}
P1IFG&=0xFB;//11111011
}
EA=1;
}
void main()
{
P1SEL&=0xE0;//11100000
P1DIR|=0x1B;//00011011
P1DIR&=0xFB;//11111011,SW1
P1INP&=0xFB;//11111011
P2INP&=0xBF;//10111111
IEN2|=0x10;//00010000 P1使能
P1IEN|=0x04;//00000010 P1.2使能
PICTL&=0xFD;//11111101 上升沿
EA=1;
LED1=0;
LED2=0;
LED3=0;
LED4=0;
while(1)
{
if(counter==1)
{
LED1=1;
}
else if(counter==2)
{
LED2=1;
}
else if(counter==3)
{
LED3=1;
}
else if(counter==4)
{
LED4=1;
}
else
{
LED1=LED2=LED3=LED4=0;
counter=0;
}
}
}
没有设置延时,所以led的状态人眼分辨不出来变化
1.请检查下载器是否支持该开发板,或者是否正确配置开发板信息。
2.检查下载线是否良好,尤其是芯片专用下载线,可能会因为质量不佳而导致下载失败。
3.检查下载器的驱动程序是否安装正确,确保下载器能够正常工作。
4.检查开发板的接口是否接触良好,确保能够有效传输数据。回答不易,记得采纳呀!
5.检查程序代码是否有问题,确保程序能够正常运行。