标题: 基于51单片机的交通灯设计 有三种状态 [打印本页]

作者: 浪子--L    时间: 2019-8-5 11:58
标题: 基于51单片机的交通灯设计 有三种状态
这是我当初的设计此设计有三种状态:
状态一:东西绿灯亮(持续25s后,闪烁黄灯5s),南北红灯亮(持续30s);

状态二:南北绿灯亮(持续25s后,闪烁黄灯5s),东西红灯亮(持续30s);

状态三:紧急状态,按下紧急禁止通行按键S3,全部红灯亮。

部分程序:(完整程序请下载压缩包文件)

#include<REGX51.H>//51头文件
#include<stdio.h>
#define ucharunsigned char  //宏定义
#define uintunsigned int
uchar h;
uint r=0;
uint s;
ucharcode  dis[]={0Xc0,0Xf9,0Xa4,0Xb0,0X99,0X92,0X82,0Xf8,0X80,0X90,0Xff,};//数码管译码表
voiddelay(uint c)  //定义延迟子程序
{

   uint i,j;
    for(i=0;i<c;i++)
     for(j=0;j<100;j++);
}
//中断服务程序1
void t0(void)interrupt 0 using 1    //东西通行
{
  delay(2);
   if(INT0==0)
    {
      r++;
     if(r==2)
       {
        r=0;
       }
      r%=2;
     if(r==0)
       {
         P0=0xeb;
        P1=0x00;
        P2=0xff;
       }
         while(1)
        {
         if(INT0==0|INT1==0|T0==0)
         {
         delay(2);
          if(INT0==0|INT1==0|T0==0)
            break;
         }
        };
    }
}



3.jpg (19.12 KB, 下载次数: 60)

流程图

流程图

2.jpg (34.34 KB, 下载次数: 46)

元件清单

元件清单

1.jpg (101.29 KB, 下载次数: 46)

Proteus仿真

Proteus仿真

51单片机交通灯设计.rar

26.58 KB, 下载次数: 87, 下载积分: 黑币 -5


作者: 45阿    时间: 2019-9-10 16:23
大佬你的程序有注释吗?我刚学有点看不懂比如说(h)定义的什么还有为什么delay(392);这不是延时吗?怎么都600了。。。
作者: a237123475    时间: 2019-12-27 13:16
学到了
作者: 19950313    时间: 2020-6-7 00:41
运行出错
作者: 黄尼玛a    时间: 2020-6-10 17:01
厉害了  谢谢研发




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1