天天看点

基于单片机的交通信号灯系统设计(#0405)

十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。
基于单片机的交通信号灯系统设计(#0405)

功能描述

1、采用51单片机作为主控单元;

2、采用74HC245芯片驱动数码管;

3、采用数码管显示倒计时时间;

4、东西和南北方向各有两个数码管,分别显示时间,东西和南北的时间是不一样的,相差黄灯的时间才是正确的;

5、可分别设置主干道和支干道通行时间;

6、具有紧急模式,特种车辆优先通行或交通事故应急处理。

按键说明

K1:黄灯长亮(深夜模式);K2:红灯长亮(禁行);

K3:东西通行;K4:南北通行;

K5:确定调时时间;K6:时间加;K7:时间减;

K8:切换调时方向(东西和南北可分别设置);

K9:复位按键;

整体方案

基于单片机的交通信号灯系统设计(#0405)

电路设计

采用Altium Designer作为电路设计工具。Altium Designer通过把原理图设计、PCB绘制编辑、拓扑逻辑自动布线、信号完整性分析和设计输出等技术的完美融合,为设计者提供了全新的设计解决方案,使设计者可以轻松进行设计,熟练使用这一软件必将使电路设计的质量和效率大大提高。

基于单片机的交通信号灯系统设计(#0405)

仿真设计

采用Proteus作为仿真设计工具。Proteus是一款著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计

主程序设计

void main()
{
    TMOD=0X11;                  //定时器设置
    TH1=0X3C;       
    TL1=0XB0;
    TH0=0X3C;                   //定时器0置初值 0.05S
    TL0=0XB0;
    EA=1;                       //开总中断
    ET0=1;                      //定时器0中断开启
    ET1=1;                     //定时器1中断开启
    TR0=1;                      //启动定时0
    TR1=0;                          //关闭定时1
    EX0=1;                      //开外部中断0
    EX1=1;                      //开外部中断1
    logo();                     //开机初始化
    P2=0Xc3;                    // 开始默认状态,东西绿灯,南北黄灯   
    sec_nb=sec_dx+5;            //默认南北通行时间比东西多5秒
    while(1)                      //主循环
    {    
        key();                  //调用按键扫描程序
        display();              //调用显示程序
    }   
}      

源文件获取