51单片机定时器T1中断使数码管计数0—F,每秒加1,想要将if()函数写到main()函数中,如何实现。该程序下载到单片机中只显示8
#include<reg52.h>
typedef unsigned char u8;
typedef unsigned int u16;
sbit LSA=P2^2;
sbit LSB=P2^3;
sbit LSC=P2^4;
u8 code smgduan[16]={0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07, 0x7f,0x6f,0x77,0x7c,0x39,0x5e,0x79,0x71};
u8 n=0;
static u16 i;
void Timer1Init()
{
TMOD|=0x10;
TH1=0xFC;
TL1=0x18;
ET1=1;
EA=1;
TR1=1;
}
void main()
{
while(1)
{
LSA=0;
LSB=0;
LSC=0;
Timer1Init();
if(i==1000)
{
TR1=0;
i=0;
P0=smgduan[n++];
if(n==16) n=0;
}
}
}
void Timer1() interrupt 3
{
TH1=0xFC;
TL1=0x18;
i++;
/*
if(i==1000)
{
i=0;
P0=smgduan[n++];
if(n==16) n=0;
}
*/
}