• 大小: 60KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-05-10
  • 语言: 其他
  • 标签: 交通灯  

资源简介

四路交通灯,带有C程序,proteus仿真通过

资源截图

代码片段和文件信息

#include 
#define uchar unsigned char
#define uint unsigned int
uchar dcode[]={0x3f0x060x5b0x4f0x660x6d0x7d0x070x7f0x6f};
uchar a[]={25302530};
uchar kf;
sbit k1=P1^0;
sbit k2=P1^1;
sbit k3=P1^2;
sbit k4=P1^3;
sbit k5=P1^4;
sbit k6=P1^5;
sbit k7=P1^6;
sbit k8=P1^7;

sbit nr=P2^0;
sbit ng=P2^1;
sbit ny=P2^2;
sbit er=P2^3;
sbit eg=P2^4;
sbit ey=P2^5;
sbit wy=P2^6;
sbit wg=P2^7;
sbit wr=P3^0;
sbit sr=P3^1;
sbit sg=P3^2;
sbit sy=P3^3;

void delay(uint x)
  {
    uint ij;
    for(i=x;i>0;i--)
    for(j=125;j>0;j--);
   }
void display()
{
  k1=0;
  P0=dcode[a[0]/10];
  delay(1);
  k1=1;

  k2=0;
  P0=dcode[a[0]%10];
  delay(1);
  k2=1;
  k3=0;
  P0=dcode[a[1]/10];
  delay(1);
  k3=1;
  k4=0;
  P0=dcode[a[1]%10];
  delay(1);
  k4=1;
  k5=0;
  P0=dcode[a[2]/10];
  delay(1);
  k5=1;
  k6=0;
  P0=dcode[a[2]%10];
  delay(1);
  k6=1;

  k7=0;
  P0=dcode[a[3]/10];
  delay(1);
  k7=1;

  k8=0;
  P0=dcode[a[3]%10];
  delay(1);
  k8=1;

}

void dis(void)
{
if(f<25)
 {
  nr=0;
  sr=0;
  ny=0;
  sy=0;
  ng=1;
  sg=1;

  er=1;
  eg=0;
  ey=0;
  wy=0;
  wg=0;
  wr=1;
 }
 else if(f>=25&&f<30)
  {
  nr=0;
  sr=0;
  ny=1;
  sy=1;
  ng=0;
  sg=0;

  er=1;
  eg=0;
  ey=0;
  wy=0;
  wg=0;
  wr=1;



  }
    else if(f>=30&&f<55)
     {
  nr=1;
  sr=1;
  ny=0;
  sy=0;
  ng=0;
  sg=0;

  er=0;
  eg=1;
  ey=0;
  wy=0;
  wg=1;
  wr=0;



     }
      else if(f>=55&&f<60)
       {
  nr=1;
  sr=1;
  ny=0;
  sy=0;
  ng=0;
  sg=0;

  er=0;
  eg=0;
  ey=1;
  wy=1;
  wg=0;
  wr=0;



       }


}


void sn(void)
{

  
    a[0]--;
    a[2]--;
    a[1]--;
a[3]--;
}
void main(void)
{
TMOD=0x01;
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
ET0=1;
TR0=1;
EA=1;
while(1)
  {
    display();
dis();
  }



void timer0() interrupt 1
{
TH0=(65536-50000)/256;
TL0=(65536-50000)%256;
if(k==20)
{
  k=0;
 
  f++;
  
 
  sn();

  if(f==25)
   {
    a[0]=5;
    a[2]=5;
   }
  if(f==30)
   {
    a[0]=30;
    a[2]=30;

   }
   if(f==60)
   {
    
    a[0]=25;
    a[2]=25;
   }

   if(f==30)
   {
    a[1]=25;
    a[3]=25;
   }
  if(f==55)
   {
    a[1]=5;
    a[3]=5;

   }
   if(f==60)
   {
    f=0;
    a[1]=30;
    a[3]=30;
   }

}
else
k++;
}                                                 

























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

     文件     159005  2004-01-01 00:11  最新交通灯\Last Loaded 复件 交通灯.DBK

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

     文件      11753  2004-01-01 02:27  最新交通灯\STARTUP.lst

     文件        832  2004-01-01 02:27  最新交通灯\STARTUP.obj

     文件       8129  2004-01-01 02:27  最新交通灯\交通灯

     文件       2483  2004-01-01 02:28  最新交通灯\交通灯.c

     文件       1737  2004-01-01 02:27  最新交通灯\交通灯.hex

     文件       7312  2004-01-01 02:27  最新交通灯\交通灯.LST

     文件      12708  2004-01-01 02:27  最新交通灯\交通灯.M51

     文件       8367  2004-01-01 02:27  最新交通灯\交通灯.OBJ

     文件       1258  2004-01-01 02:28  最新交通灯\交通灯.Opt

     文件       9212  2004-01-01 02:28  最新交通灯\交通灯.plg

     文件       2047  2004-01-01 02:28  最新交通灯\交通灯.Uv2

     文件       1086  2004-01-01 01:39  最新交通灯\交通灯_Opt.Bak

     文件       2047  2004-01-01 01:39  最新交通灯\交通灯_Uv2.Bak

     文件     159005  2004-01-01 02:28  最新交通灯\复件 交通灯.DSN

     文件        742  2010-12-04 19:33  最新交通灯\复件 交通灯.PWI

     文件       1646  2004-01-01 01:52  最新交通灯\新建 文本文档.txt

     目录          0  2010-12-04 19:33  最新交通灯

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

               394484                    19


评论

共有 条评论