十字路口交通信号灯设计

2022-12-20  

任务描述:


某企业承担了一个十字路口交通灯控制系统设计任务,控制要求:东西向绿灯亮 5s 后,黄灯闪烁,闪烁5次亮红灯,红灯亮后,南北向由红灯变成绿灯,5s 后南北向黄灯闪烁,闪烁5次后亮红灯,东西向绿灯亮,如此往复。请用单片机设计其控制系统并调试运行。


电路原理图

元件清单

C语言程序

#include  //包含头文件reg51.h,定义51单片机中的专用寄存器

void delay0_5s();

void delay5s();

void main()

{

 unsigned char k;

 TMOD=0x10; //设置T1为工作方式1

 while(1)

 {

  P1=0x09;  //东西绿灯亮5秒&南北红灯亮    

   delay5s();

  for(k=0;k<5;k++) //东西黄灯闪烁&南北红灯

  {

   P1=0x11;   //东西黄灯亮&南北红灯亮

   delay0_5s();

  P1=0x01;   //东西黄灯灭&南北红灯亮

  delay0_5s();

   }

     P1=0x24;  //东西红灯亮&南北绿灯亮5秒

   delay5s();

     for(k=0;k<5;k++)  //东西红灯&南北黄灯闪烁

    {

    P1=0x22; //东西红灯&南北黄灯亮

     delay0_5s();

     P1=0x20;    //东西红灯&南北黄灯灭

      delay0_5s();

   }

   }

   }

  void delay0_5s() //0.5秒延时

  {

  unsigned char i;

  for(i=0;i<10;i++)

  {

   TH1=0X3C;

   TL1=0xb0;

   TR1=1;

   while(!TF1);

   TF1=0;

   }

   }

 void delay5s() //5秒延时

  {

  unsigned char i;

  for(i=0;i<50;i++)

  {

   TH1=0X3C;

   TL1=0xb0;

   TR1=1;

   while(!TF1);

   TF1=0;

   }

   }


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。