• 大小: 62KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-19
  • 语言: 其他
  • 标签: stc  

资源简介

stc 51单片机实现的交通灯实例(包括keil程序,protues仿真)

资源截图

代码片段和文件信息

  #include
  char shu[11]={0xc00xf90xa40xb00x990x920x820xf80x800x900xff};
  char xian[4]={0x010x020x040x08};
  char dis[4][4]={3030202030302020};
  char time[4];
  int ii=0;
  int jj=0;
   int con=0;
   int d;
   int flag=0;
   sbit a=P0^7;
   int g=0;
   sbit j1=P3^1;
   sbit j2=P3^0;
  
     int flagg=0;
 int fl=0;


 void clear()
  { int j;
  for(j=0;j<4;j++)
  time[j]=dis[0][j];
  TH0=64536/256;
  TL0=64536%256;
  TMOD=0x10;
  ET0=1;
  TR0=1;
  EA=1;
  
  d=0x0c;

  }
  void de()
  {int i;
  for(i=0;i<1000;i++);
  }    
   void displayk()
 {   char time[4];
  int i;
   time[0]=0;time[1]=0;time[2]=0;time[3]=0;
       for(i=0;i<4;i++)
   {P0=shu[time[i]];
   P1=xian[i];P2=0xc0;
   de();
   P0=0xff;
 
    }
  }

    void key()
   { flagg=0;
   if(j1==0)
     { de();
 if(j1==0)
 displayk();
 flagg=1;

 
 }
 if(j2==1)
 fl=0;
 }

  
 /* void dispp()
  { int i;
  
   time[0]=3; time[1]=0;time[2]=3;time[3]=0;

  for(i=0;i<4;i++)
 {P0=shu[time[i]];
 P1=xian[i];P2=0x0c;
 de();
 P0=0xff;
 
 }
  }*/ 
  void display()
  {  int i;
     for(i=0;i<4;i++)
 {P0=shu[time[i]];
 P1=xian[i];P2=d;
 de();
 P0=0xff;
 
 }
  }    void key1()
{  if(j2==0)
    {de();
  if(j2==0)
  {
fl=1;
clear();
}

}

 }

  main()
  {   clear();
      while(1)
  {key();
  if(fl==0)
  key1();
  
   if(flagg==1)
goto ee;
  display();
  ee:
  de();
 
  }
 
  }
  void  time_int(void)interrupt 1
  {    int j;
        flag=0;
      TH0=64536/256;
     TL0=64536%256;
    TMOD=0x10;
     ET0=1;
     TR0=1;
    EA=1;
    con++;
   if(con>=3000)
       {con=0;
         if(time[1]==0)
             {time[1]=9;
           if(time[0]!=0)
           time[0]--;
              else
             {ii++;
              if(ii==4)
                 ii=0;
                flag=1; 
              for(j=0;j<2;j++)
                 time[j]=dis[ii][j];
/* if(d==0x0c)
{d=0x0a;
 }
 else if(d==0x0a)
 {d=0x11;
 }
 else if(d==0x11)
 {d=0x21;}
 else if(d==0x21)
 {d=0x11;
 }*/

   
           }

 }

 else
 time[1]--;
 
if(time[3]==0)
   {time[3]=9;
  if(time[2]!=0)
  time[2]--;
  else
     {jj++;
      if(jj==4)
         jj=0;
    
       for(j=2;j<4;j++)
       time[j]=dis[jj][j];
   flag=1;
/*if(d==0x0c)
{d=0x0a;
 }
 else if(d==0x0a)
 {d=0x11;
 }
 else if(d==0x11)
 {d=0x21;}
 else if(d==0x21)
 {d=0x11;
 } */

 }

   
  }

 else
 time[3]--;
 }
  if(flag==1)
 {flag=0;
  if(d==0x0c)
{d=0x12;
 }
 else if(d==0x12)
 {d=0x21;
 }
 else if(d==0x21)
{d=0xc0;
 } 
 else 
 {d=0x0c;
 }
 
}
}

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     122124  2011-08-30 16:42  交通灯\k.DSN

     文件        742  2012-03-30 16:44  交通灯\k.PWI

     文件       2254  2011-11-15 15:54  交通灯\k.SDF

     文件     122124  2011-08-30 16:10  交通灯\Last Loaded k.DBK

     文件       7187  2011-10-29 14:29  交通灯\q

     文件       2236  2011-10-29 14:29  交通灯\q.hex

     文件         39  2011-10-29 14:29  交通灯\q.lnp

     文件      12317  2011-10-29 14:29  交通灯\q.M51

     文件       1358  2011-10-15 09:45  交通灯\q.opt.bak

     文件        718  2011-10-29 14:29  交通灯\q.plg

     文件       2169  2011-10-15 09:45  交通灯\q.Uv2.bak

     文件      57033  2011-10-29 14:29  交通灯\q.uvopt

     文件      13396  2011-10-22 10:30  交通灯\q.uvproj

     文件       1351  2011-09-02 20:13  交通灯\q_Opt.Bak

     文件       2145  2011-06-03 23:40  交通灯\q_Uv2.Bak

     文件      57653  2011-10-22 10:30  交通灯\q_uvopt.bak

     文件       5115  2002-04-16 14:32  交通灯\STARTUP.A51

     文件      11665  2011-10-29 14:29  交通灯\STARTUP.LST

     文件        758  2011-10-29 14:29  交通灯\STARTUP.OBJ

     文件       2871  2011-09-02 20:11  交通灯\Text1.c

     文件       8204  2011-10-29 14:29  交通灯\Text1.LST

     文件       8077  2011-10-29 14:29  交通灯\Text1.OBJ

     目录          0  2011-10-29 14:29  交通灯

----------- ---------  ---------- -----  ----

               441536                    23


评论

共有 条评论