红绿灯实验报告

合集下载

红绿灯控制实训报告总结

红绿灯控制实训报告总结

一、实训背景随着我国经济的快速发展,城市交通问题日益突出。

为提高城市交通效率和安全性,红绿灯控制系统在交通管理中发挥着至关重要的作用。

为了让学生深入了解红绿灯控制系统的工作原理和实际应用,提高学生的实践能力,我们开展了红绿灯控制实训。

二、实训目的1. 掌握红绿灯控制系统的工作原理和设计方法。

2. 学会使用单片机、PLC等常用电子元器件和编程软件。

3. 培养学生的实际操作能力和团队协作精神。

4. 提高学生的创新意识和解决实际问题的能力。

三、实训内容1. 红绿灯控制系统基本原理(1)系统组成:包括控制器、交通灯模块、传感器模块、显示模块等。

(2)工作原理:控制器根据传感器采集的交通流量数据,自动调整红绿灯的切换时间,实现交通信号灯的智能控制。

2. 单片机编程与仿真(1)学习Keil uVision、Proteus等编程软件。

(2)编写单片机控制程序,实现红绿灯的基本控制功能。

3. PLC编程与仿真(1)学习PLC编程软件,如Step 7、EPLAN等。

(2)编写PLC控制程序,实现红绿灯的自动控制。

4. 虚拟仪器仿真(1)学习虚拟仪器技术,如LabVIEW等。

(2)利用虚拟仪器搭建红绿灯控制系统,进行仿真实验。

5. 红绿灯控制系统设计(1)设计系统硬件电路图。

(2)编写系统控制程序。

(3)调试系统,确保其正常运行。

四、实训过程1. 理论学习:学习红绿灯控制系统的工作原理、硬件设计、软件编程等相关知识。

2. 实践操作:在实验室进行单片机、PLC、虚拟仪器等设备的实际操作。

3. 团队合作:分组进行红绿灯控制系统的设计、编程、调试等工作。

4. 交流讨论:分享实训过程中的心得体会,共同解决遇到的问题。

五、实训成果1. 成功搭建红绿灯控制系统,实现交通信号灯的自动控制。

2. 掌握单片机、PLC等编程软件的使用方法。

3. 提高团队协作能力和解决问题的能力。

4. 培养创新意识和实际操作能力。

六、实训总结1. 通过本次实训,我们对红绿灯控制系统有了更深入的了解,掌握了其工作原理和设计方法。

交通灯控制实验报告

交通灯控制实验报告

交通灯控制实验报告交通灯控制实验报告引言:交通灯是城市交通管理的重要组成部分,通过对交通流量的控制,有效地维护交通秩序和安全。

本次实验旨在通过搭建一个简单的交通灯控制系统,探究不同交通流量下的信号灯变化规律,并分析其对交通流畅度和效率的影响。

实验装置:实验装置由红、黄、绿三种颜色的LED灯组成,分别代表红灯、黄灯和绿灯。

通过按键控制,可以切换不同灯光的显示状态。

在实验过程中,我们将模拟不同交通流量情况下的信号灯变化。

实验过程:1. 低交通流量情况下:首先,我们模拟低交通流量情况。

设置红灯时间为20秒,绿灯时间为30秒,黄灯时间为5秒。

在这种情况下,红灯的时间较长,确保道路上的车辆能够安全通过。

绿灯时间相对较短,以充分利用交通资源,提高交通效率。

黄灯时间较短,用于过渡信号灯变化。

2. 中等交通流量情况下:接下来,我们模拟中等交通流量情况。

设置红灯时间为30秒,绿灯时间为40秒,黄灯时间为5秒。

在这种情况下,红灯时间相对较长,确保道路上的车辆能够顺利通过。

绿灯时间适中,以保持交通的流畅性。

黄灯时间依然较短,用于过渡信号灯变化。

3. 高交通流量情况下:最后,我们模拟高交通流量情况。

设置红灯时间为40秒,绿灯时间为50秒,黄灯时间为5秒。

在这种情况下,红灯时间最长,确保道路上的车辆能够完全通过。

绿灯时间相对较长,以缓解交通压力,提高交通效率。

黄灯时间仍然较短,用于过渡信号灯变化。

实验结果:通过实验观察,我们发现不同交通流量下的信号灯变化对交通流畅度和效率有着明显的影响。

在低交通流量情况下,红灯时间较长,确保车辆安全通过,但可能导致交通效率稍有降低。

在中等交通流量情况下,信号灯的设置更加平衡,保证了交通的流畅性和效率。

而在高交通流量情况下,红灯时间最长,确保车辆完全通过,但也导致交通效率相对较低。

结论:通过本次实验,我们得出了以下结论:交通灯的设置应根据不同交通流量情况进行合理调整,以保证交通的流畅性和效率。

交通信号灯实验报告

交通信号灯实验报告

交通信号灯实验报告一、引言交通信号灯是城市交通管理中重要的组成部分,它通过信号指示交通流向,确保道路交通的有序进行。

本文基于对交通信号灯的实验观察和数据分析,旨在探讨信号灯在交通流控制方面的效果,并评估其对车辆和行人的影响。

二、实验方法1. 实验装置与设置在一条拥有车辆和行人交叉流动的道路上,我们设置了一组交通信号灯,并通过定时和'感应设备进行调控。

该交通信号灯分为红、绿、黄三个信号灯,每个信号灯的显示时间均可进行调整。

2. 实验观测与数据采集我们在实验过程中观测并记录了道路上车辆和行人的流动情况,同时还记录了交通信号灯每个信号灯的显示时间以及通过信号灯的车辆和行人数量。

三、实验结果与数据分析1. 交通流控制交通信号灯对交通流控制起到了关键作用。

通过分析实验数据,我们发现交通信号灯的定时控制能够在车辆和行人之间合理划分时间,避免交通事故因冲突而产生。

此外,通过在交通信号灯设置感应设备,能够根据道路的实际情况进行智能调控,使交通流畅度得到进一步提高。

2. 车辆延误与行程时间车辆延误是指车辆在通过交通信号灯时多余的等待时间。

我们通过观察交通信号灯绿灯显示时间和通过车辆数目的关系,发现在设置合理的绿灯显示时间下,车辆延误时间可以得到一定的缓解。

然而,当车辆流量高峰期,延误时间仍然较长,这表明仅靠信号灯的优化仍然无法完全解决交通拥堵问题。

3. 行人过街安全与效率交通信号灯不仅对车辆流量进行调控,也对行人过街提供了安全保障。

我们观察到,适当的行人过街时间设置能够保证行人过街的安全性,避免与车辆发生冲突。

同时,设置行人过街时间对行人效率也具有重要意义,过长的等待时间适得其反,可能导致行人不遵守交通信号灯的规定,增加交通事故的风险。

四、结论通过交通信号灯实验观察和数据分析,我们得出以下结论:1. 交通信号灯对交通流控制起到重要作用,能够在车辆和行人之间合理划分时间,保证道路交通有序进行。

2. 车辆延误时间可以通过合理设置交通信号灯的绿灯显示时间进行缓解,但仅靠信号灯的优化无法完全解决交通拥堵问题。

红绿灯实验报告

红绿灯实验报告

数字电路课程设计总结报告题目:红绿灯控制器目录一. 设计任务书二. 设计框图及整机概述三. 各单元电路的设计方案及原理说明四. 调试过程及结果分析五. 设计、安装及调试中的体会六. 对本次课程设计的意见及建议七. 附录(包括: 整机逻辑电路图和元器件清单)一.设计任务书1.题目: 红绿灯控制器2.设计要求设计一个红绿灯控制器设计应具有以下功能基本设计要求: 设计一个红绿灯控制器控制器设计应具有以下功能(1)东西方向绿灯亮, 南北方向红灯亮。

.(2)东西方向黄灯亮, 南北方向红灯亮。

(3)东西方向红灯亮, 南北方向绿灯亮。

(4 ) 东西方向红灯亮, 南北方向黄灯亮。

要求有时间显示(顺数、逆数皆可), 时间自定。

(大于15秒以上), 可添加其他功能。

3.给定条件(1)、只能采用实验室提供的中小规模电路进行设计。

(不一定是实验用过的)十字路口交通示意图二. 设计框图及整机概述1、设计框图2、 整机概述该电路旨在模拟交通灯基本工作原理。

在预置数电路信号灯显示电路中设定南北方向红灯(47秒)、绿灯(38秒)、黄灯(9秒), 电路按照设计要求的状态工作。

三. 各单元电路的设计方案及原理说明1、 减法计数器本电路采用两片同步十进制加/减法计数器74LS190, 用串行进位方式构成一个百进制减法计数器, 再采用预置数的方法, 构成47进制的减法计数器。

如下图所示:2、 状态控制器交通灯工作流程如图所示主、支道上红、绿、黄信号灯的状态主要取决状态控制器的输出状态。

他们之间的关系见真值表所示。

对于信号灯的状态, “1”表示灯亮, “0”表示灯灭。

主道红灯亮,支道黄灯亮支道红灯亮,主道绿灯亮 0秒末 主道红灯亮,支道绿灯亮 支道红灯亮,主道绿灯亮 47秒支道红灯亮,主道黄灯亮 9秒主道红灯亮,支道绿灯亮 0秒末47秒 9秒信号灯信号真值表根据真值表, 可求出各信号灯的逻辑函数表达式为: R=Q2‘G=Q2Q1‘Y=Q2Q1R1=Q2G1=Q2‘Q1’Y1=Q2‘Q1所以交通灯的显示电路如图所示:3、数码管显示数码管从左到右依次接入计数器高位、低位4、减法计数器——状态控制器减法计数器0秒或者9秒的时候给状态控制器一个脉冲信号, 电路图如下:四.调试过程及结果分析调试过程由电路仿真软件实现。

红绿灯实验报告

红绿灯实验报告

红绿灯实验报告第一篇:红绿灯实验报告实验报告班级:学号:姓名:日期:实验一、红绿灯控制一、实验目的熟悉软件的使用,掌握plc编程的方法,编写程序控制十字路口的红绿灯。

二、实验设备一台安装有STEP 7-MivroWIN4.0与S7200_simulation的电脑。

三、控制要求分析实验利用PLC控制十字路口的红绿灯。

十字路口的红绿灯分为横向控制灯和纵向控制灯,每个方向有红、绿、黄3种颜色的控制灯。

当电路接通,双向红绿灯开始正常工作,横向的绿灯和纵向的红灯先亮。

横向的绿灯亮维持8s,在横向绿灯亮的同时纵向的红灯也亮起,并维持10s。

第8秒时横向的绿灯熄灭,同时亮起黄灯并维持2s 后熄灭。

第10s时,横向黄灯熄灭的同时亮起红灯并维持10s,同时纵向的绿灯亮起并维持8s。

当纵向绿灯熄灭并亮起黄灯持续2s后红灯亮起,同时横向的绿灯也亮起并维持8s到此一个循环就此结束下一个循环开始。

当按下紧停按钮时两路同时亮黄灯2s后,其中一路亮红灯另一路亮绿灯。

本实验设置了两个紧停按钮。

四、PLC的I/O分析I0.1,I0.2两个紧停按钮。

M0.1,M0.2中间继电器。

Q0.0横向绿灯,Q0.1横向黄灯,Q0.2横向红灯,Q0.3纵向红灯,Q0.4纵向绿灯,Q0.5纵向黄灯。

T37、T41为8s定时器,T38、T42为2s定时器,T39、T40为10s定时器。

五、PLC梯形图程序及指令表程序梯形图程序:指令表程序:LD I0.1 = M0.1 Network 2 LDN M0.2 AN M0.1 AN T37 LDN M0.1 A T38 A M0.2 OLD = Q0.0 Network 3 LDN M0.2 AN M0.1 AN T39 TON T37, 80 Network 4 LDN M0.2 AN M0.1 AN T38 A T37 LDN M0.2 AN T38 A M0.1 OLD LDN M0.1 AN T38 A M0.2 OLD = Q0.1 Network 5 LDN M0.1 AN M0.2 A T37 LDN M0.2 A M0.1 OLD LDN M0.1 A M0.2 OLD TON T38, 20 Network 6 LDN M0.2 AN M0.1 AN T39 A T38 LDN M0.2 A T38 A M0.1 OLD = Q0.2 Network 7 LDN M0.1 AN M0.2 A T38 TON T39, 100 Network 8 LDN M0.1 AN M0.2 AN T40 LDN M0.1 A T42 A M0.2 OLD = Q0.3 Network 9 LDN T42 AN M0.1 AN M0.2 TON T40, 100 Network 10 LDN M0.1 AN M0.2 AN T41 A T40 LDN M0.2 A T38 A M0.1 OLD = Q0.4 Network 11 LDN M0.1 AN M0.2 AN T42 A T40 TON T41, 80 Network 12 LD T41 AN M0.2 AN T42 AN M0.1 LDN T42 A M0.1 AN M0.2 OLD LDN T42 AN M0.1 A M0.2 OLD = Q0.5 Network 13 LDN M0.1 AN M0.2 A T41 LDN M0.2 A M0.1 OLD LD M0.2 AN M0.1 OLD TON T42, 20 Network 14 LD I0.2 = M0.2六、实验过程记录及分析根据实验要求,编写plc梯形图程序。

单通道红绿灯的实训报告

单通道红绿灯的实训报告

一、实训背景随着城市化进程的加快,交通拥堵问题日益突出。

为了提高城市交通效率,保障交通安全,红绿灯系统在城市交通管理中扮演着至关重要的角色。

本实训旨在通过设计与实现单通道红绿灯系统,加深对交通信号控制原理的理解,提高动手实践能力。

二、实训目标1. 理解交通信号控制的基本原理和设计方法。

2. 掌握单通道红绿灯系统的硬件选型和软件设计。

3. 提高电路设计与编程能力,实现红绿灯的实时控制。

4. 分析和解决实际工程问题,提升问题解决能力。

三、实训内容1. 系统需求分析本实训设计单通道红绿灯系统,包括红灯、绿灯和黄灯三种状态,每种状态持续一定时间。

系统应具备以下功能:- 红灯亮,持续时间为30秒;- 绿灯亮,持续时间为60秒;- 黄灯亮,持续时间为10秒。

2. 系统硬件设计本系统采用以下硬件设备:- 微控制器:选用STM32F103系列单片机;- 红绿灯模块:选用LED灯模块;- 时间模块:选用定时器模块;- 电源模块:选用稳压电源模块。

3. 系统软件设计本系统采用C语言进行编程,主要实现以下功能:- 初始化硬件资源;- 定时器中断服务程序,实现红绿灯状态的切换;- 主循环程序,检测按键输入,调整红绿灯时间。

4. 系统测试与调试本实训通过以下步骤进行系统测试与调试:- 编写测试用例,验证系统功能;- 检查硬件电路连接,确保电路正常;- 运行程序,观察红绿灯状态是否按预期切换;- 调整参数,优化系统性能。

四、实训过程1. 需求分析首先对单通道红绿灯系统的功能需求进行详细分析,明确系统应具备的基本功能和性能指标。

2. 硬件选型根据系统需求,选择合适的硬件设备,包括微控制器、LED灯模块、定时器模块和稳压电源模块。

3. 电路设计根据硬件选型,设计电路图,包括微控制器与LED灯模块、定时器模块和稳压电源模块的连接。

4. 编程实现使用C语言编写程序,实现红绿灯状态的切换、定时器中断和按键输入等功能。

5. 测试与调试编写测试用例,对系统进行功能测试和性能测试,确保系统稳定运行。

技校红绿灯实训报告单

技校红绿灯实训报告单

一、实训目的本次红绿灯实训旨在通过模拟城市交通管理场景,让学生深入了解交通信号灯的工作原理、操作流程以及在实际交通管理中的应用。

通过实训,提高学生的交通安全意识,培养其交通管理技能,为今后从事交通管理工作打下坚实的基础。

二、实训时间2023年X月X日至2023年X月X日三、实训地点XX技校交通模拟实验室四、实训内容1. 红绿灯工作原理及分类2. 红绿灯操作流程3. 交通信号灯的安装与维护4. 交通指挥手势及口令5. 交通事故现场处理6. 实际交通指挥演练五、实训过程1. 理论学习阶段首先,由交通专业教师对红绿灯的工作原理、分类、操作流程等理论知识进行讲解。

通过多媒体教学,让学生对红绿灯有一个初步的认识。

2. 实践操作阶段(1)红绿灯安装与调试:学生在教师指导下,学习如何正确安装和调试红绿灯设备,确保其正常运行。

(2)交通指挥手势及口令训练:学生跟随教师学习交通指挥手势和口令,并进行反复练习,确保动作准确、规范。

(3)交通信号灯操作流程练习:学生分组进行红绿灯操作流程练习,包括绿灯亮起、黄灯闪烁、红灯亮起等,熟悉操作步骤。

(4)交通指挥演练:学生分组进行实际交通指挥演练,模拟真实交通场景,锻炼应变能力和指挥技巧。

3. 事故处理训练学生学习交通事故现场处理流程,包括事故现场保护、伤者救助、责任判定等,提高应对突发状况的能力。

六、实训结果1. 学生对红绿灯工作原理、操作流程有了全面了解。

2. 学生的交通指挥手势和口令准确度得到提高。

3. 学生的实际交通指挥能力得到锻炼。

4. 学生的交通安全意识和应急处理能力得到提升。

七、实训总结1. 实训成果本次实训取得了良好的效果,学生掌握了红绿灯的工作原理、操作流程以及实际交通指挥技巧,为今后从事交通管理工作打下了坚实基础。

2. 实训不足(1)部分学生在交通指挥手势和口令的准确性上仍有待提高。

(2)实际交通指挥演练中,部分学生应变能力不足,需要加强训练。

3. 改进措施(1)针对学生在交通指挥手势和口令准确性上的不足,加强个别辅导,提高学生动作规范度。

红绿灯设计实验实训报告

红绿灯设计实验实训报告

一、实验背景随着我国城市化进程的加快,交通问题日益突出,十字路口作为城市交通的重要组成部分,其红绿灯的设计与运行对交通秩序和效率具有重要影响。

为了提高学生的实际操作能力和创新能力,本次实验实训旨在让学生掌握红绿灯设计的基本原理和方法,并通过实际操作,设计并实现一个简易的红绿灯控制系统。

二、实验目的1. 理解红绿灯控制系统的基本原理和组成。

2. 掌握数字电路设计的基本方法和技巧。

3. 培养学生的实际操作能力和创新能力。

4. 提高学生的团队合作意识和沟通能力。

三、实验原理红绿灯控制系统主要由以下几个部分组成:1. 控制电路:负责产生控制信号,控制红绿灯的亮灭。

2. 显示电路:用于显示红绿灯的状态。

3. 时序电路:负责控制红绿灯的亮灭时间。

本次实验采用以下原理:1. 控制电路:利用74LS161级联实现模60的计数,并用74LS138进行状态译码,通过组合逻辑门电路实现控制信号的产生。

2. 显示电路:使用4个数码管显示时间,其中2个显示东西方向时间,另2个显示南北方向时间。

3. 时序电路:利用555定时器产生定时信号,控制红绿灯的亮灭时间。

四、实验内容1. 设计红绿灯控制电路:根据实验原理,设计控制电路,实现红绿灯的亮灭控制。

2. 设计显示电路:设计显示电路,实现红绿灯状态的实时显示。

3. 设计时序电路:设计时序电路,控制红绿灯的亮灭时间。

4. 硬件搭建:根据电路设计,搭建实验电路。

5. 调试与测试:对实验电路进行调试与测试,确保红绿灯控制系统正常运行。

五、实验步骤1. 分析实验原理,确定电路设计思路。

2. 设计控制电路,选择合适的集成电路和元件。

3. 设计显示电路,确定数码管和驱动电路。

4. 设计时序电路,选择合适的定时器和元件。

5. 根据电路设计,绘制电路图。

6. 搭建实验电路,连接各个元件。

7. 调试电路,确保红绿灯控制系统正常运行。

8. 测试电路,验证红绿灯控制系统的功能。

六、实验结果与分析1. 控制电路:通过设计,实现了红绿灯的亮灭控制,满足了实验要求。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

红绿灯实验报告上海交通大学材料科学与工程学院实验目的:通过Labview程序设计做出十字路口红绿灯的计算机模拟。

程序原理:整体思路:用户将纵向红灯时间t纵红、纵向黄灯时间t纵黄、纵向绿灯时间t纵绿输入完毕后,程序会将这三段时间相加作为一个循环的时长T,并把时间计数器的时间除以1000取整数部分,再用这个结果除以T取余数得到当前循环已进行的时间t,取整数得到已进行的循环次数n。

为了简便起见,程序默认t横黄等于t纵黄。

根据实际经验可知:机动车道部分:t纵红= t横黄+ t横绿t横红= t纵黄+ t纵绿人行道部分:t纵红= t横绿= 机动车道部分t纵红t横红= t纵绿= 机动车道部分t横红因此,我们可以采用判断时间区间的办法控制各个指示灯的亮灭,即:令纵向红灯时间区间为[ 0,t 纵红 ]、纵向黄灯时间区间为[ t纵红 + t纵绿,T ]、纵向绿灯时间区间为[ t纵红,t纵红 + t纵绿 ]、横向红灯时间区间为[ t纵红,T ]、横向黄灯时间区间为[ t横绿,t纵红 ]、横向绿灯时间区间为[ 0,t横绿 ],利用判定范围元件判断t所符合的区间。

当t符合某些红灯或绿灯的区间时,指定元件将布尔量直接输出到信号灯,从而点亮这些红灯或绿灯并保持其他红灯或绿灯不工作;当t符合黄灯的区间时,利用相应元件得到黄灯已工作的时间,并将其除以2取余数,判断余数是否等于0,将布尔量输入信号灯,达到让黄灯闪烁的目的。

显然,各对指示灯时间区间均不相同,但是同一方向上三种颜色的指示灯的时间区间相加正好可以构成一个完整的循环,所以某一确定方向上有且仅有一种颜色的交通灯在工作。

另外,本程序通过控制时间区间,完美地实现了不同方向上指示灯的协同工作,很好地模拟了实际情况。

另外,程序利用while循环以及移位寄存器实现连续运行。

根据时间计数器的性质,每计时1000毫秒就会自动停止一次,所以本程序的设计中,每次循环里时间计数器只运行1000毫秒,通过不停地循环实现程序的连续运行。

将移位寄存器赋以初始值1,而开始计时的时候n = 0。

当二者不相等时,利用元件把此时移位寄存器的数值再次寄存并继续循环;当二者相等后,利用元件把移位寄存器此时的数值加1后寄存并继续循环,则二者又不相等了,元件就会把此时移位寄存器的数值再次寄存并继续循环。

依此类推,则程序就会连续运行下去,不会终止。

程序设计方案:当前循环已进行的时间t和已进行的循环次数n的获取:加入一个时间计数器。

由于时间单位是毫秒,而用户输入的时间单位是秒,因此需要转换单位:把计数的时间用“商与余数”元件除以1000取整数部分,即可将毫秒转化为秒。

记此结果为t0,然后把t纵红、t纵黄和t纵绿用复合运算元件相加得到T,再用“商与余数”元件将t0除以T取余数即可得到当前循环已进行的时间t,取整数即为已进行的循环次数n。

机动车道指示灯部分:很简单,先把t纵红作为判定范围元件的上限,再把0作为它的下限,然后计算t是否在此区间内,将它输出的布尔量直接输入两个纵向红灯。

若真,说明红灯到了该亮的时候,并且纵向红灯亮;若假,说明未到红灯工作时段,并且纵向红灯灭。

纵向黄灯:时间区间为[ t纵红 + t纵绿,T ]先把t纵红、t纵黄和t纵绿用复合运算元件相加,作为判定范围元件的上限,再把t纵红和t纵绿用加法元件相加作为下限,然后计算t是否在此区间内,让它输出一个布尔量。

此处将这个布尔量记作b。

将b输入选择元件,并将[ t - (t纵红+ t纵绿)]赋值到选择元件上端,将1赋值到选择元件下端。

然后选择元件将最终取值除以2,余数输出到“等于0?”元件内,而后此元件把得出的布尔量输入两个纵向黄灯。

由此可知:若b为真,也就是说t在此区间内,纵向黄灯到了该亮的时候。

此时选择元件取值为:[ t - (t 纵红+ t纵绿)],即黄灯的工作时间。

由于已进行时间t为一变量,所以[ t - (t纵红+ t纵绿)]的奇偶性也随时间交替变化:若这一刻为奇数,则一秒后为偶数;若这一刻为偶数,则一秒后为奇数。

因此除以2的余数在0和1之间周期性变化,间隔为1秒。

也就是说,“等于0?”元件输出的布尔量在真假之间周期性变化,间隔也是1秒,那么黄灯也就亮1秒、灭1秒了,达到了闪烁的目的;若b为假,也就是说t不在此区间,纵向黄灯不应该工作。

此时选择元件取值为1,除以2的余数也一定是1,这样“等于0?”元件输出的布尔量就必然是假,两个纵向黄灯就不会亮了。

纵向绿灯:时间区间为[ t纵红,t纵红 + t纵绿 ]先把t纵红和t纵绿用加法元件相加作为判定范围元件的上限,再将t纵红作为它的下限,然后计算t是否在此区间内,将它输出的布尔量直接输入两个纵向绿灯。

若真,说明绿灯到了该亮的时候,并且纵向绿灯亮;若假,说明未到绿灯工作时段,并且纵向绿灯灭。

横向红灯:时间区间为[ t纵红,T ]首先,因为T = t纵红 + t纵黄 + t纵绿,所以t纵黄 + t纵绿 = T - t纵红;又因为t横红 = t纵黄 + t纵绿,所以有t横红 = T - t纵红。

也就是说,我们先要先把t纵红、t纵黄和t纵绿用复合运算元件相加,作为判定范围元件的上限,再将t纵红作为它的下限,然后计算t是否在此区间内,将它输出的布尔量直接输入两个横向红灯。

若真,说明红灯到了该亮的时候,并且横向红灯亮;若假,说明未到红灯工作时段,并且横向红灯灭。

横向黄灯:时间区间为[ t横绿,t纵红 ]首先,因为t纵红 = t横黄 + t横绿,所以t横黄 = t纵红 - t横绿,这也是时间区间选为[ t横绿,t纵红 ]的原因。

并且t横黄 = t纵黄,所以有t纵红 = t纵黄 + t横绿,即t纵红 - t纵黄 = t横绿。

也就是说,我们先要通过减法元件用t纵红减去t纵黄得到t横绿,并将它作为判定范围元件的下限,将t纵红作为元件的上限,计算t是否在此区间内,然后让判定范围元件输出一个布尔量。

此处将这个布尔量记作b。

将b输入选择元件,并将[ t - t横绿 ]赋值到选择元件上端,将1赋值到选择元件下端。

然后选择元件将最终取值除以2,余数输出到“等于0?”元件内,而后此元件把得出的布尔量输入两个横向黄灯。

由此可知,若b为真,也就是说t 在此区间内,横向黄灯到了该亮的时候。

此时选择元件取值为(t - t横绿),即黄灯的工作时间。

由于已进行时间t为一变量,所以(t - t横绿)的奇偶性也随时间交替变化:若这一刻为奇数,则一秒后为偶数;若这一刻为偶数,则一秒后为奇数。

因此除以2的余数在0和1之间周期性变化,间隔为1秒。

也就是说,“等于0?”元件输出的布尔量在真假之间周期性变化,间隔也是1秒,那么黄灯也就亮1秒、灭1秒了,达到了闪烁的目的;若b为假,也就是说t不在此区间,横向黄灯不应该工作。

此时选择元件取值为1,除以2的余数也一定是1,这样“等于0?”元件输出的布尔量就必然是假,两个横向黄灯就不会亮了。

首先,因为t纵红 = t横黄 + t横绿,并且t横黄 = t纵黄,所以t纵红 = t纵黄 + t横绿,因此可得t横绿 = t纵红- t纵黄。

也就是说,我们先要通过减法元件用t纵红减去t纵黄得到t横绿,并将它作为判定范围元件的上限,再把0作为它的下限,然后计算t是否在此区间内,将它输出的布尔量直接输入两个横向绿灯。

若真,说明绿灯到了该亮的时候,并且横向绿灯亮;若假,说明未到绿灯工作时段,并且横向绿灯灭。

总结:由上述分析可见,各对指示灯时间区间均不相同,但是同一方向上三种颜色的指示灯的时间区间相加正好可以构成一个完整的循环,所以某一确定方向上有且仅有一种颜色的交通灯在工作。

另外,本程序通过控制时间区间,完美地实现了不同方向上指示灯的协同工作,很好地模拟了实际情况。

人行道指示灯部分:纵向红灯:时间区间和控制逻辑与机动车道纵向红灯完全相同,因此只需将机动车道纵向红灯的输入端并联在人行道纵向红灯上即可。

纵向绿灯:时间区间和控制逻辑与机动车道横向红灯完全相同,因此只需将机动车道横向红灯的输入端并联在人行道纵向绿灯上即可。

横向红灯:时间区间和控制逻辑与机动车道横向红灯完全相同,因此只需将机动车道横向红灯的输入端并联在人行道横向红灯上即可。

横向绿灯:时间区间和控制逻辑与机动车道纵向红灯完全相同,因此只需将机动车道纵向红灯的输入端并联在人行道横向绿灯上即可。

纵向显示:加入一个判定范围元件,把t纵红作为它的上限,再把0作为它的下限,然后计算t是否在区间[ 0 ,t纵红 ]内,记它输出的布尔量为b1。

将b1输入选择元件,同时把(t纵红 - t)赋值到选择元件上端,把0赋值到下端,记这个选择元件的输出值为a1。

再加入一个判定范围元件,把t纵红和t纵绿用加法元件相加赋值到它的上限,再将t纵红作为它的下限,然后计算t是否在区间[ t纵红,t纵红 + t纵绿 ]内,记它输出的布尔量为b2。

将b2输入选择元件,同时把(t 纵红 + t纵绿 - t)赋值到选择元件上端,把0赋值到下端,记这个选择元件的输出值为a2。

再加入一个判定范围元件,把t纵红、t纵黄和t纵绿用复合运算元件相加,赋值到判定范围元件的上限,再把t纵红和t纵绿用加法元件相加作为下限,然后计算t是否在区间[ t纵红 + t纵绿,T ]内,记它输出的布尔量为b3。

将b3输入选择元件,同时把(T - t)赋值到选择元件上端,把0赋值到下端,记这个选择元件的输出值为a3。

添加一个“最大值与最小值”元件,将a1、a2分别作为两个输入端,将最大值输出到另一个“最大值与最小值”元件的输入端,把a3赋值到另一个输入端,将最大值输出到数值显示控件。

显然,b1、b2和b3只能有一个为真,数值显示控件显示的是a1、a2和a3的最大值。

当b1为真时,a1= t 纵红 - t,a2 = a3 = 0,则数值显示控件显示的是a1,也就是红灯的剩余时间。

根据前面的说明,此时纵向红灯亮。

同理,b2为真时,数值显示控件显示的是a2,也就是绿灯的剩余时间。

根据前面的说明,此时纵向绿灯亮;b3为真时,数值显示控件显示的是a3,也就是黄灯的剩余时间。

根据前面的说明,此时纵向黄灯亮。

总之,纵向显示控件显示的是这个方向正在工作的交通灯的剩余时间。

横向显示:加入一个判定范围元件,把t纵红、t纵黄和t纵绿用复合运算元件相加,赋值到它的上限,再把t纵红作为它的下限,然后计算t是否在区间[ t纵红,T ]内,记它输出的布尔量为b1。

将b1输入选择元件,同时把(T - t)赋值到选择元件上端,把0赋值到下端,记这个选择元件的输出值为a1。

再加入一个判定范围元件,先通过减法元件用t纵红减去t纵黄得到t横绿,并将这个值作为它的上限,再把0作为它的下限,然后计算t是否在区间[ 0,t横绿 ]内,记它输出的布尔量为b2。

相关文档
最新文档