简单交通灯求助

2019-07-16 02:49发布

本人菜鸟,
程序如下:
#include<reg51.h>
unsigned char t0,t1,msec,sec,r;
void delay(unsigned char i)
{
unsigned char j,k;
for(k=0;k<i;k++)
for(j=0;j<25;j++);
   
}
void delay0_5s1()
{
for(t0=0;t0<0x0a;t0++)
{
  TH1=0x3c;
  TL1=0xb0;
  TR1=1;
  while(!TF1);
  TF1=0;
}
}
void delay_t1(unsigned char t)
{
for(t1=0;t1<t;t1++)
delay0_5s1();
}
void T0_INT(void) interrupt 1
{
TH0=0x3c;
TL0=0xb0;
msec++;
if(msec==20)
{
   msec=0;
   sec++;
   if(sec==30)
   {
     sec=0;
   }
  }
}
void main()
{  unsigned char led[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};
  TMOD=0x10;
  TH0=0x3c;
  TL0=0xb0;
  TR0=1;
  EA=1;
  ET0=1;
  
while(1)
{
   P3=0x80;
   P1=led[sec%10];
   delay(1);
   P3=0x40;
   P1=led[sec/10];
   delay(1);
   P0=0xf3;
  delay_t1(5);
  for(r=0;r<4;r++)
  {
   P0=0xeb;
   delay0_5s1();
   P0=0xfb;
   delay0_5s1();
  }
  P0=0xde;
  delay_t1(5);
  for(r=0;r<4;r++)
  {
   P0=0xdd;
   delay0_5s1();
   P0=0xdf;
   delay0_5s1();
   }
  }
}
请问数码管怎么会只亮一个呢,问题出在哪里?
QQ截图20130109183017.png
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
HARRY007
1楼-- · 2019-07-16 06:41
 精彩回答 2  元偷偷看……
sirius08
2楼-- · 2019-07-16 06:50
很好的资料
海浪秋天
3楼-- · 2019-07-16 07:31
{:1:}{:1:}{:1:}{:1:}

一周热门 更多>