就是数码管从0开始加+1 到7的时候流水灯走一遍 然后继续+1,为什么我写的程序进入不了流水灯!请大神帮忙修改
#include<reg52.h>
unsigned char miao=0;
unsigned char i=0;
unsigned char jishi[10]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};
code LED[]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f} ;
typedef unsigned int u16;
#define led P2
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
void time0init()
{
//设置INT0
TCON=1;
IT0=1;//跳变沿出发方式(下降沿)
EX0=1;//打开INT0的中断允许。
EA=1;//打开总中断
}
void delay(u16 i)
{
while(i--);
}
void main()
{
while(1)
{
if(miao==7)
{ time0init();
}
LSA=0;LSB=0;LSC=0;P0=jishi[miao%10];
delay(1000);
LSA=1;LSB=0;LSC=0;P0=jishi[miao/10];
delay(1000);
i++;
if(i==60)
{
miao+=1;
i=0;
}
}
}
void Time0() interrupt 0
{
static u16 i1;
static u16 i2;
delay(500);
/*TH0=0XFC;//给定时器赋初值,定时1ms
TL0=0X18;*/
i2++;
for(i1=0;i1<8;i1++)
{
if(i2==1000)
{
led=LED[i1];
delay(50000);
}
}
}
|