基于51单片机智能交通灯(紧急模式+特种车辆通行)(仿真+源程序+原理图+论文)

本文主要是介绍基于51单片机智能交通灯(紧急模式+特种车辆通行)(仿真+源程序+原理图+论文),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

资料编号:209

功能介绍:

本设计基于STC89C51/52(与AT89S51/52、AT89C51/52通用,可任选)单片机

2、数码管倒计时显示时间。

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

4、可以分别设置主干道和支干道的通行时间。

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

操作说明:

按键依次功能:黄灯长亮(深夜模式)、红灯长亮(禁行)、确定调时时间、时间加、时间减、切换调时方向(东西和南北均可以分别设置通行时间)。单独的是复位按键。

设在十字路口,分为东西向和南北向,在任一时刻只有一个方向通行,另一方向禁行,持续一定时间,经过短暂的过渡时间,将通行禁行方向对换。其具体状态如下图所示。说明:黑色表示亮,白色表示灭。交通状态从状态1开始变换,直至状态6然后循环至状1,周而复始,即如图(图2-1)所示:直至状态6然后循环至状态1,通过具体的路口交通灯状态的演示分析我们可以把这四个状态归纳如下:

图2-1交通状态

东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时20秒。此状态下,东西向禁止通行,南北向允许通行。

东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时5秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。

南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时30秒。此状态下,东西向允许通行,南北向禁止通行。

南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时5秒。此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。

下面我们可以用图表表示灯状态和行止状态的关系如下:

表2-1交通状态及红绿灯状态

状态1

状态3

状态4

状态6

东西向

禁行

等待变换

通行

等待变换

南北向

通行

等待变换

禁行

等待变换

东西红灯

1

1

0

0

东西黄灯

0

0

0

1

东西绿灯

0

0

1

0

南北红灯

0

0

1

1

南北绿灯

1

0

0

0

南北黄灯

0

1

0

0

东西南北四个路口均有红绿黄3灯和数码显示管4个,在任一个路口,遇红灯禁止通行,转绿灯允许通行,之后黄灯亮警告行止状态将变换。状态及红绿灯状态如表2-1所示。说明:0表示灭,1表示亮。

程序部分展示(有中文注释,新手容易看懂)

#define uchar unsigned char

#define uint unsigned int//宏定义

uchar data buf[4];//秒显示的变量

uchar data sec_dx=15; //东西数默认

uchar data sec_nb=15;//南北默认值

uchar data set_timedx=15;//设置东西方向的时间

uchar data set_timenb=15;//设置南北方向的时间

int n;

uchar data countt0,countt1;//定时器0中断次数

//定义6组开关

sbit k4=P3^7; //切换方向

sbit k1=P3^5;//时间加

sbit k2=P3^6;//时间减

sbit k3=P3^4;//确认

sbit k5=P3^1;//禁止

sbit k6=P1^5;//夜间模式

sbit Red_nb=P2^6;//南北红灯标志

sbit Yellow_nb=P2^5;//南北黄灯标志

sbit Green_nb=P2^4; //南北绿灯标志

sbit Red_dx=P2^3;//东西红灯标志

sbit Yellow_dx=P2^2;//东西黄灯标志

sbit Green_dx=P2^1;//东西绿灯标志

bit set=0;//调时方向切换键标志 =1时,南北,=0时,东西

bit dx_nb=0;//东西南北控制位

bit shanruo=0;//闪烁标志位

bit yejian=0;//夜间黄灯闪烁标志位

uchar code table[11]={//共阴极字型码

0x3f, //--0

0x06, //--1

0x5b, //--2

0x4f, //--3

0x66, //--4

0x6d, //--5

0x7d, //--6

0x07, //--7

0x7f, //--8

0x6f, //--9

0x00 //--NULL

};

//函数的声明部分

void delay(int ms);//延时子程序

void key();//按键扫描子程序

void key_to1();//键处理子程序

void key_to2();

void key_to3();

void display();//显示子程序

void logo(); //开机LOGO

void Buzzer();

//主程序

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

logo();//开机初始化

P2=0Xc3;// 开始默认状态,东西绿灯,南北黄灯

sec_nb=sec_dx+5; //默认南北通行时间比东西多5秒

while(1) //主循环

{

key(); //调用按键扫描程序

display(); //调用显示程序

}

}

下面是分享资料下载链接:

https://pan.baidu.com/s/1bY9remZRU-kHbsgujcWKFw?pwd=3rsy

这篇关于基于51单片机智能交通灯(紧急模式+特种车辆通行)(仿真+源程序+原理图+论文)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:https://blog.csdn.net/m0_74295839/article/details/128696688
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/399029

相关文章

Linux系统配置NAT网络模式的详细步骤(附图文)

《Linux系统配置NAT网络模式的详细步骤(附图文)》本文详细指导如何在VMware环境下配置NAT网络模式,包括设置主机和虚拟机的IP地址、网关,以及针对Linux和Windows系统的具体步骤,... 目录一、配置NAT网络模式二、设置虚拟机交换机网关2.1 打开虚拟机2.2 管理员授权2.3 设置子

SpringBoot如何通过Map实现策略模式

《SpringBoot如何通过Map实现策略模式》策略模式是一种行为设计模式,它允许在运行时选择算法的行为,在Spring框架中,我们可以利用@Resource注解和Map集合来优雅地实现策略模式,这... 目录前言底层机制解析Spring的集合类型自动装配@Resource注解的行为实现原理使用直接使用M

C#原型模式之如何通过克隆对象来优化创建过程

《C#原型模式之如何通过克隆对象来优化创建过程》原型模式是一种创建型设计模式,通过克隆现有对象来创建新对象,避免重复的创建成本和复杂的初始化过程,它适用于对象创建过程复杂、需要大量相似对象或避免重复初... 目录什么是原型模式?原型模式的工作原理C#中如何实现原型模式?1. 定义原型接口2. 实现原型接口3

大数据spark3.5安装部署之local模式详解

《大数据spark3.5安装部署之local模式详解》本文介绍了如何在本地模式下安装和配置Spark,并展示了如何使用SparkShell进行基本的数据处理操作,同时,还介绍了如何通过Spark-su... 目录下载上传解压配置jdk解压配置环境变量启动查看交互操作命令行提交应用spark,一个数据处理框架

使用Python实现表格字段智能去重

《使用Python实现表格字段智能去重》在数据分析和处理过程中,数据清洗是一个至关重要的步骤,其中字段去重是一个常见且关键的任务,下面我们看看如何使用Python进行表格字段智能去重吧... 目录一、引言二、数据重复问题的常见场景与影响三、python在数据清洗中的优势四、基于Python的表格字段智能去重

Spring AI集成DeepSeek三步搞定Java智能应用的详细过程

《SpringAI集成DeepSeek三步搞定Java智能应用的详细过程》本文介绍了如何使用SpringAI集成DeepSeek,一个国内顶尖的多模态大模型,SpringAI提供了一套统一的接口,简... 目录DeepSeek 介绍Spring AI 是什么?Spring AI 的主要功能包括1、环境准备2

Spring AI与DeepSeek实战一之快速打造智能对话应用

《SpringAI与DeepSeek实战一之快速打造智能对话应用》本文详细介绍了如何通过SpringAI框架集成DeepSeek大模型,实现普通对话和流式对话功能,步骤包括申请API-KEY、项目搭... 目录一、概述二、申请DeepSeek的API-KEY三、项目搭建3.1. 开发环境要求3.2. mav

Python3脚本实现Excel与TXT的智能转换

《Python3脚本实现Excel与TXT的智能转换》在数据处理的日常工作中,我们经常需要将Excel中的结构化数据转换为其他格式,本文将使用Python3实现Excel与TXT的智能转换,需要的可以... 目录场景应用:为什么需要这种转换技术解析:代码实现详解核心代码展示改进点说明实战演练:从Excel到

Java实现状态模式的示例代码

《Java实现状态模式的示例代码》状态模式是一种行为型设计模式,允许对象根据其内部状态改变行为,本文主要介绍了Java实现状态模式的示例代码,文中通过示例代码介绍的非常详细,需要的朋友们下面随着小编来... 目录一、简介1、定义2、状态模式的结构二、Java实现案例1、电灯开关状态案例2、番茄工作法状态案例

嵌入式QT开发:构建高效智能的嵌入式系统

摘要: 本文深入探讨了嵌入式 QT 相关的各个方面。从 QT 框架的基础架构和核心概念出发,详细阐述了其在嵌入式环境中的优势与特点。文中分析了嵌入式 QT 的开发环境搭建过程,包括交叉编译工具链的配置等关键步骤。进一步探讨了嵌入式 QT 的界面设计与开发,涵盖了从基本控件的使用到复杂界面布局的构建。同时也深入研究了信号与槽机制在嵌入式系统中的应用,以及嵌入式 QT 与硬件设备的交互,包括输入输出设