您当前的位置:五五电子网电子知识应用领域交通控制指示单片机实现交通灯控制系统的双模式 正文
单片机实现交通灯控制系统的双模式

单片机实现交通灯控制系统的双模式

点击数:7861 次   录入时间:03-04 11:37:01   整理:http://www.55dianzi.com   交通控制指示

  void mod1()

  { if(num==1&>ime>5) // 东西道红灯亮,南北道绿灯亮,最后5 秒切换成黄灯

  { LED5=0;

  LED1=0; }

  if(num==2) // 东西道绿灯亮,南北道红灯亮

  { LED2=0;

  LED6=0;

  LED5=1;

  LED3=1;

  LED1=1; }

  if(num==1&>ime==5) // 东西道红灯亮,南北道黄灯亮5 秒

  { LED5=1;

  LED2=1;

  LED3=0; }

  shi=gtime/10;

  ge=gtime%10;

  if(aa==20) // 50ms×20=1s, 即过1s 数码管数字减1

  { aa=0;

  gtime--; }

  display(shi,ge);

  if(gtime==0&&num!=2)

  { gtime=60;

  num=2; }

  if(gtime==0&&num==2)

  { num=1;

  gtime=60;

  LED2=1;

  LED6=1; } }

  

www.55dianzi.com模式二函数:

  如同模式一,只是参数有变化。如将gtime=60 换成rtime=40;num=1 换成numa=1;仅此而已。

  主函数:

  void main()

  { init();

  while(1)

  /* 模式一,平常模式,红绿灯切换时间为60 秒*/

  { if(MODEL1==1||HMODE1==0) // 按键或红外控制切换模式

  { mod1(); }

  /* 通过按键切换工作模式*/

  if(KEY1==0)

  { delay(5); //按键消抖

  while(KEY1==0)

  { MODEL1++;

  rtime=40;

  if(MODEL1==3)

  { MODEL1=1;

  gtime=60; }

  while(!KEY1); } }

  … …

  /*模式二,上下班高峰期模式。红绿灯切换时间为40 秒*/

  if(MODEL1==2||HMODE1==1)

  { mod2(); }

  } }

  void timer0() interrupt 1

  { TH0=15536/256;

  TL0=15536%256;

  aa++; }

  4 系统的仿真

  结合软硬件,通过proteus 仿真,此系统可安全、可靠的运行。仿真图的部分截图如图5 所示。

  

图5 交通灯控制系统运行示意图

  图5 交通灯控制系统运行示意图

  5 结论

  该系统完全可以完成设计的要求。具有一定的实用价值,同时,该系统还有诸多开发前景,具备一定的扩展能力,如:根据图像识别,判断车辆数是否增加,以此来判断该运行哪种模式,有待进一步开发。



上一页  [1] [2] 


本文关键字:单片机  控制系统  交通灯  交通控制指示应用领域 - 交通控制指示