|
麻烦大家看看为什么我程序烧进去却没有反应啊??想给予的功能是:P00~5:控制灯,P10~7:控制LED,P2.2、P2.3:左右位选,P3.2 P3.3中断
首先是:东的红亮难得绿亮,延时30,然后是东南黄灯亮,延时5S,再然后是东绿南红亮,延时30,最后是东南黄亮,延时5。弄了好长时间,麻烦大家了
程序如下:
#include
#include
#define uchar unsigned char
#define uint unsigned int
uchar table[10]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x83,0xf8,0x80,0x98};
void delay(uint ms)
{
uint i,j;
for(i=0;i
for(j=0;j<1141;j++);
}
void IO_Init()
{
P0=0x00;
P1=0x00;
P2=0x00;
P3=0x00;
}
void show1(void)
{ uint i,j;
for(i=0;i<3;i++)
{
P2=0x04;
P1=table;
for(j=0;j<10;j++)
{
P2=0x08;
P1=table[j];
delay(1000);
}
delay(1000);
}
P2=0X00;
}
void show2(void)
{ uint k;
P2=0x08;
P1=table[0];
for(k=0;k<6;k++)
{
P2=0x04;
P1=table[k];
delay(1000);
}
P2=0X00;
}
void interrupt_0(void)
{
P0=0xff;
while(1)
{
delay(200);
P0=0x21;
show1();
P0=0x12;
show2();
P0=0x0c;
show1();
P0=0x12;
show2();
}
delay(20);
}
void interrupt_1(void)
{
delay(20);
IO_Init();
}
void main()
{
IO_Init();
EX0=1;
EX1=1;
IT0=1;
P3=0x04;//边沿触发
IT1=1;
P3=0x08;
EA=1;
while(1);
}
电路图:
|
|