交通信号灯模拟(PV操作)

合集下载

模拟交通灯的控制

模拟交通灯的控制

模拟交通灯的控制一、选题的原因通过对模拟交通灯控制系统的制作,进一步熟悉51单片机,掌握定时器和中断系统的综合应用,熟练软、硬件的调试方法。

二、任务要求设计并实现单片机交通灯控制系统,实现以下三种情况下的交通灯的控制:(1)正常情况下双方向轮流点亮交通灯,交通灯的状态如表1所示。

(2)特殊情况1:特殊情况时,A通道放行。

(3)特殊情况2:有紧急车辆通过时,A、B通道均为红灯,紧急情况优先级高于特殊情况。

表1 交通灯显示状态三、电路分析、仿真图及元器件选择1、电路分析:根据任务可以看出,该系统涉及定时控制东、南、西、北四个方向的12个交通信号灯,且出现特殊和紧急情况时,能及时调整交通灯的指示状态。

采用12个LED发光二极管模拟红、黄、绿交通灯,用单片机的P1口控制发光二极管的亮灭状态;交通灯控制端口线分配及控制状态如表2所示。

需要采用两个按键S1、S2模拟紧急情况和特殊情况的发生,当S1、S2为高电平(不按按键)时,表示正常情况,当S1为低电平(按下按键)时,表示紧INT脚(P3.2)即可实现外部中断0的中断申请,当S2急情况,将S1信号接至0INT脚(P3.3)即可为低电平(按下按键)时,表示特殊情况,将S2信号接至1实现外部中断1的中断申请。

根据以上分析,交通灯控制端口线分配及控制状态如下表2所示:表2 交通灯控制端口线分配及控制状态2、仿真图:根据以上的分析,用proteus画出仿真图如下图1所示。

图1 proteus仿真电路图3、元器件选择:根据图1 所示的电路图,列出该电路的元器件清单如表3所示。

表3 元器件清单四、程序设计1、程序流程图:(1)正常情况下交通灯控制程序流程:在正常情况下,A、B方向交通灯每55秒变换一次,变化时,绿灯、黄灯、红灯分别闪烁3次,每次延时1秒,其控制流程如下图2所示。

图2 在正常情况下交通灯控制程序流程(2)特殊情况1流程:特殊情况1为仅允许A向通行,采用外部中断1方式进入与其相应的中断服务程序,并设置该中断为低优先级中断,控制A方向单向通行时间为60s,其流程如图3所示。

交通信号灯模拟操作系统可设

交通信号灯模拟操作系统可设

交通信号灯模拟操作系统可设交通信号灯模拟操作系统是一个可以模拟交通信号灯的软件系统,可以用来模拟交通信号灯的运行和管理。

这个系统使用了计算机虚拟技术,可以准确的模拟出现实世界中的交通状况,使人们更好地理解交通规则和信号灯的工作方式。

在这个系统中,用户可以根据自己的需求和喜好,设置不同的交通信号灯的时长和灯色,以模拟不同的交通状况。

通过这个模拟,人们可以更好地理解交通信号灯的原理和工作方式,提高自己的交通安全意识。

在这个系统中,除了可以设置交通信号灯的时长和灯色以外,还可以设置其他一些参数,比如道路长度和车辆速度等,以模拟不同的交通场景。

通过这些参数的设置,人们可以更加清晰地看到交通信号灯的作用和必要性。

此外,在这个系统中,还可以进行一些高级的设置和管理,比如设置不同的交通路口或者交通信号灯的优先级等。

这些高级设置可以帮助人们更好地理解交通规则和驾驶技巧,并在某些情况下提高交通运输的效率和安全性。

交通信号灯模拟操作系统的可设性是其最大的特点之一。

这个系统可以根据需要进行多种参数的设置和调整,以满足不同人群的需求和学习要求。

比如,不同年龄段和驾驶人员可以根据自己的需求和能力,设置不同的交通场景和灯光时长,以便更好地理解和掌握交通规则和驾驶技巧。

此外,交通信号灯模拟操作系统还可以进行多种交互和娱乐活动,以丰富用户的学习和体验感。

用户可以在系统中建立自己的交通场景,并邀请其他人参与模拟,以达到更好的学习和娱乐效果。

总之,交通信号灯模拟操作系统是一个十分有用的工具,可以帮助人们更加深入地理解交通规则和信号灯的工作方式,提高驾驶技巧和交通安全意识。

其可设性和交互性使其成为了一个非常有趣和实用的系统,可以为驾驶人员和交通管理者们提供很大帮助。

06 用PLC进行十字路口交通灯的控制线路设计,并进行模拟调试

06 用PLC进行十字路口交通灯的控制线路设计,并进行模拟调试

用PLC进行十字路口交通灯的控制线路设计,并进行模拟调试一、实验目的熟练使用各基本指令,根据控制要求,掌握PLC的编程方法和程序调试的方法,使学生了解用PLC 解决一个实际问题的全过程。

二.十字路口交通灯控制模拟实验面板图图1三.控制要求设置一个启动按钮SB1、停止按钮SB2、强制按钮SB3、循环选择开关S。

当按下启动按钮之后,信号灯控制系统开始工作,首先南北红灯亮,东西绿灯亮。

按下停止按钮后,信号控制系统停止,所有信号灯灭。

按下强制按钮SB3,东西南北黄、绿灯灭,红灯亮。

循环选择开关S可以用来设定系统单次运行还是连续循环运行。

工艺流程如下:南北红灯亮并保持25秒,同时东西绿灯亮,保持20秒,20秒钟到了之后,东西绿灯闪亮3次(每周期1秒)后熄灭。

继而东西黄灯亮并保持2秒,到2秒后,东西黄灯灭,东西红灯亮并保持30秒,同时南北红灯灭,南北绿灯亮20秒,20秒到了之后,南北绿灯闪亮3次(每周期1秒)后熄灭。

继而南北黄灯亮并保持2秒,到2秒后,南北黄灯灭,南北红灯亮,同时东西红灯灭,东西绿灯亮。

到此完成一个循环。

四.编制梯形图并写出程序,实验梯形图参考图2程序清单将PTS-11挂件上PLC输出端的COM、COM0、COM1、COM2、COM3相接。

将PWD-42挂件上SB1、SB2、SB3、S分别接到PWD41上PLC的输入点X0、X1、X2、X3;南北的红、黄、绿灯(左边的R、Y、G)分别接到输出点Y2、Y1、Y0;东西的绿、黄红灯(右边的G、Y、R)分别接到输出点Y3、Y4、Y5;将行车指示甲、乙分别接到输出点Y6、Y7。

+24V接到PTS-11上的+24V,COM接到输入端的COM。

输入/输出配置六.实验操作过程按实验接线接好连线,将程序输入PLC中并运行。

将循环选择开关断开,按下启动按钮,观察运行情况。

按下停止按钮将系统停止。

将循环选择开关闭合,按下启动按钮,观察运行情况。

将循环选择开关断开,按下启动按钮,观察运行情况。

交通信号灯模拟电路实验

交通信号灯模拟电路实验

目录1 引言 (1)2 Multisim的简介 (2)3 设计过程 (3)3.1 总体设计要求 (3)3.2 控制电路的特点 (4)4 单元模块 (6)4.1 电源模块 (6)4.2 秒脉冲发生模块 (6)4.3 计数模块 (8)4.4 分频模块 (9)4.5 控制电路模块 (10)5 交通信号灯的仿真与调试 (14)5.1 电路的仿真 (14)5.2 交通灯完整功能的实现 (16)5.3 调试方法 (18)5.4 调试中出现的问题、原因分析及解决方法 (18)6 设计心得 (21)参考文献 (23)附录Ⅰ器件明细表 (24)附录Ⅱ仿真原理图 (25)1 引言设计内容:1.信号灯白天工作要求某方向绿灯点亮20秒,然后黄灯点亮4秒,最后红灯点亮24秒。

在该方向为绿灯和黄灯点亮期间,另一方向红灯点亮。

如果以4秒作为时间计量单位,则某一方向绿、黄、红三种指示灯点亮的时间比例为5:1:6。

从点亮要求可以看出,有些输出是并行的:如南北方向绿灯亮时,东西方向红灯亮;南北方向黄灯亮时,东西方向红灯亮;南北方向红灯亮时,东西方向绿灯亮;南北方向红灯亮时,东西方向黄灯亮。

信号灯采用LED红、绿、黄发光二极管模拟。

2.夜间工作方式南北东西各方向黄灯亮,且每秒闪动一次。

其它灯不亮。

要求设置一个手动开关,用它控制白天和夜间工作方式。

交通灯的发展史交通灯是指由红、黄、绿三种颜色灯组成用来指挥交通的信号灯,最早出现在英国中部的约克城的一个典故中,当时交通灯只有两种颜色红绿,随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。

它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。

交通灯中黄色信号灯的发明者是我国的胡汝鼎,他怀着“科学救国”的抱负到美国深造,在大发明家爱迪生为董事长的美国通用电器公司任职员。

一天,他站在繁华的十字路口等待绿灯信号,当他看到红灯而正要过去时,一辆转弯的汽车呼地一声擦身而过,吓了他一身冷汗。

交通信号灯控制电路的设计与仿真

交通信号灯控制电路的设计与仿真

由于黄灯点亮时按秒闪动以及时间显示按秒
倒计时,所以需要设计秒脉冲产生电路。秒脉 冲产生电路实际就是一个多谐振荡电路,它可 以是用门电路和电阻、电容组成的多谐振荡电 路,也可以是用定时器555和电阻、电容组成 的多谐振荡器。为了电路简单和调节振荡周期 方便,采用555定时器组成多谐振荡器。
555多谐振荡器原理图
220V交流电
降压变压器 整流、滤波、稳压
+5V



校表
自动
数字电子钟电原理图




自动
校表
自动
校表
自动 校表
gf 10
ab 6
改动:可调电容换成固定 20p 电容。 校表开关 S4 去掉。
1 ed
5 ch

谢谢观看/欢迎下载
BY FAITH I MEAN A VISION OF GOOD ONE CHERISHES AND THE ENTHUSIASM THAT PUSHES ONE TO SEEK ITS FULFILLMENT REGARDLESS OF OBSTACLES. BY FAITH I BY FAITH
(1)要求根据设计要求实现交通灯的现实 功能; (2)用Multisim进行仿真 (3)设计说明书;
1秒脉冲产生电路: 由于黄灯点亮时按秒闪动以及时间显示按
秒倒计时,所以需要设计秒脉冲产生电路。秒 脉冲产生电路实际就是一个多谐振荡电路,它 可以是用门电路和电阻、电容组成的多谐振荡 电路,也可以是用定时器555和电阻、电容组 成的多谐振荡器。为了电路简单和调节振荡周 期方便,选择用555定时器组成多谐振荡器。
十二进制计数器: 计数器可以用触发 器组成,也可以用中规模集成计数器 组成,以及用移位寄存器组成环形或 扭环形计数器。建议用中规模移位寄 存器组成扭环形12进制计数器。

交通信号灯仿真模型搭建图解

交通信号灯仿真模型搭建图解

摘要现今,随着我国经济水平的不断提升,汽车已成为人们工作生活的重要工具,汽车数量的不断上升给现有城市交通带来不小的压力。

本文主要通过51单片机实现对交叉路口的红绿灯的控制,利用单片机的定时器计时产生中断,通过数码管刷新显示倒计时,为司机和行人提供活动参考,单片机根据当前的系统状态切换到下一个状态。

主干道和支干道是两个互斥的状态,详细介绍了系统的工作原理、工作流程,第三章介绍了系统的硬件设计以及器件选型,硬件包括电源部分,单片机控制模块设计部分,数码管显示部分,按键部分等。

第四章是对软件设计方面的介绍,包括对程序主流程的介绍,以及中断程序模块、数码管显示模块分析介绍,最后还有二极管之间连接电路图、二极管与LED显示器的连接电路图、整体交通灯电路图,总结了系统还存在的可扩展性和不足之处。

第五章用Proteus仿真软件实现了主干道每次放行15秒,支干道每次放行10秒;每次绿灯变红之前,黄灯先亮3秒,此时另一干道上的红灯并闪烁,并且主、支干道交替进行,以及仿真图片。

实践表明,该系统能够安全有效的实现交通秩序的控制和疏解。

【关键词】单片机80C51交通控制LED Proteus仿真ABSTRACTToday, as China's economy continues to improve, the car has become an important tool in people's life and work, the number of cars rising to the existing city traffic is not a small pressure.This paper mainly through the control of 51 single-chip realization of the intersection traffic lights, the use of single-chip timer interrupt timer refresh, digital display countdown, providing reference for drivers and pedestrians, SCM to the next state according to the current state switching system. The main roads and branch roads are two mutually exclusive States, introduced the working principle, working process of the system, the third chapter introduces the hardware design and device selection, the hardware includes the power supply part, MCU control module design, digital display, key parts etc.. The fourth chapter is the design of software is introduced, including the main program flow is introduced, and the interrupt program module, digital tube display module analysis, and finally the diode connected between the diode and the circuit, LED display circuit, the overall traffic light circuit, summarizes the system has expansibility and shortcomings place. The fifth chapter uses the Proteus simulation software allowed 15 seconds for each trunk, branch trunk release each 10 seconds; before each green red, yellow light on for 3 seconds, then the other roads and flashing red light, and the main trunk road, alternately, and the simulation. Practice shows that, the system can effectively control the flow of traffic safety and ease.【Key words】MCU 80C51 Traffic control LED Proteus simulation目录摘要............................................................................................................................................. - 0 - ABSTRACT .................................................................................................................................... - 1 - 目录............................................................................................................................................. - 2 - 前言.. (1)第一章研究背景和意义 (2)第二章单片机控制的交通灯的设计方案 (4)第一节系统工作原理和方案 (4)第二节本课题主要内容 (6)第三章交通灯的硬件设计 (8)第一节电源模块设计 (8)第二节单片机控制模块设计 (9)一、方案选择 (9)二、复位电路 (10)三、晶振电路 (11)第三节LED显示模块 (12)一、LED数码管介绍 (12)二、LED数码管显示原理 (13)第四节按键设置模块 (13)第四章交通灯的软件设计 (15)第一节主函数流程 (15)第二节中断程序模块 (16)第三节数码管显示模块 (19)第四节交通灯电路 (19)第五节倒计时显示器电路 (20)第六节交通灯设计总电路图 (20)第五章Proteus仿真 (22)第一节Proteus软件介绍 (22)第二节Proteus仿真分析 (22)第六章调试心得 (31)结论 (32)致谢 (33)前言交叉路口的交通控制系统保证了车辆的安全,对于路口交通的控制管理,科学的管理和控制是一个重要而又影响深远的研究课题。

模拟交通灯控制系统(附源程序)

模拟交通灯控制系统(附源程序)

课程设计成绩评定表模拟交通灯控制系统摘要人口的快速增长和车辆的增加,使得城市交通拥挤成为不可避免的问题,为了缓解这一现象,我们设计了模拟交通灯控制系统,通过此系统可以使车辆按一定秩序行驶,降低交通压力。

此系统是由8088为核心部件组建,利用8253A定时/计数器芯片的定时功能,向8259A中断控制器芯片发出定时中断请求,驱动8255A可编程并行接口芯片改变路口的LED灯的亮灭和显示倒数的秒数。

与此同时,该系统设计了应急中断处理,通过外部中断使各个路口皆为红灯,以便应用于急救车、紧急事件或特别情况的应急处理。

关键字:交通灯定时器中断目录摘要 (II)1 交通灯路况分析 (1)1.1交通灯运作的基本情况 (1)1.2交通灯状态变化分析 (2)1.3交通灯持续时间分析 (2)2 项目概述 (3)2.1设计内容 (3)2.2 设计要求 (3)3 系统设计 (4)3.1总体设计 (4)3.2功能模块 (6)4 硬件设计 (11)4.1硬件介绍 (11)4.2 硬件功能分析 (15)4.3硬件模块连接 (17)5 系统实现 (21)5.1开发环境 (21)5.2运行步骤 (21)5.3运行结果分析 (22)参考文献 (23)心得体会 (24)教师评语 (25)附录 (26)1 交通灯路况分析1.1交通灯运作的基本情况一十字路口,假设1、3为东西方向,2、4为南北方向,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车; 延时一段时间后,1、3路口的绿灯熄灭,而1、3路口的黄灯开始闪烁,闪烁若干次以后,1、3 路口红灯亮, 而同时2、4路口的绿灯亮,2、4路口方向通车;延时一段时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁,闪烁若干次以后,再切换到1、3路口方向,并不断重复上述过程。

如图1-1所示:北南东西绿黄红红黄绿绿黄红红黄绿图1-1 交通灯路况1.2交通灯状态变化分析1. 东西方向为红,南北方向为绿,并持续一定的时间,时间到,南北方的绿灯立刻转为黄灯,进入下一个状态。

模拟交通指示灯的控制报告书

模拟交通指示灯的控制报告书

目录1. 技术要求 (1)2. 设计方案 (1)3. 设计总体框图 (2)4. 设计单元电路 (2)4.1 交通指示灯电路 (2)4.2 紧急通车及复位电路...................................... (4)4.3 倒计时数显电路 (5)5. 电路原理说明 (6)6. 调试报告 (8)7. 心得体会 (9)8. 参考文献 (10)附录: (11)附录1:源程序代码 (11)附录2:系统整体实现电路图 (14)附录3:元器件清单 (15)模拟交通指示灯的控制1.技术要求假设十字路口有东南两个方向的交通信号指示灯,每个方向各有3个指示灯(用发光二极管模拟),这三个指示灯分别用来标识前行、暂停、左拐,要求如下:A、每个方向的指示灯按照要求点亮不同的时间,前行指示灯点亮10秒熄灭,接着暂停指示灯点亮2秒熄灭,然后左拐指示灯点亮8秒熄灭,按照这种方式进行循环;B、当向东方向的前行指示灯点亮的时候,向南方向的前行指示灯熄灭,暂停指示灯和左拐指示灯分别点亮;C、当向南方向的前行指示灯点亮的时候,向东方向的前行指示灯熄灭,暂停指示灯和左拐指示灯点亮。

2.设计方案十字路口有东西南北四个方向的交通信号指示灯,每个方向各有3个指示灯,分别用绿色、红色、黄色的发光二极管来模拟,其中绿色指示灯用来标识前行,红色指示灯用来标识暂停,黄色指示灯用来标识左拐。

指示灯的亮灭规律如下:当东西方向的绿色指示灯点亮10秒时,东西方向的红色指示灯和黄色指示灯以及南北方向的绿色指示灯熄灭,与此同时,在南北方向上,红色指示灯先点亮2秒后熄灭,接着黄色指示灯点亮8秒,10秒结束后,东西方向的绿色指示灯、南北方向的红色指示灯和黄色指示灯熄灭,南北方向的绿色指示灯点亮10秒,与此同时,在东西方向上,红色指示灯先点亮2秒后接着黄色指示灯点亮8秒。

东西和南北方向的指示灯就这样循环交替进行点亮和熄灭。

为了更贴近生活,我还考虑了紧急通车情况,通过外部中断请求信号来响应,当紧急通车结束后或者指示灯的规律出现错误后,需要复位来重新回到正常状态。

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

目录第一章课程设计目的和要求 01.1 课程设计目的 01.2 课程设计要求 (1)第二章课程设计任务内容 02.1课程设计任务 02.2 课程设计原理 02.3 课程设计内容 (4)第三章详细设计说明 (5)3.1 模块描述 (5)3.2 性能描述 (5)3.3 输入项 (6)3.4 输出项 (6)3.5 数据结构 (7)3.6 算法介绍 (7)3.7 流程图 (8)3.7.1 主程序流程图 (8)3.7.2 算法流程图 (9)3.8 接口描述 (11)3.9 限制条件 (13)第四章件使用说明 (13)4.1 系统开发与运行环境 (13)4.2系统的运行说明 (13)4.3 运行结果 (13)第五章课程设计心得体会 (19)附录1:参考文献 (20)附录2:程序清单 (21)交通信号灯模拟第一章课程设计目的和要求1.1 课程设计目的根据学院课程安排,在大三的第一个学期我们开设了操作系统这门课程,操作系统可以说是是计算机系统的核心和灵魂,是计算机系统必不可少的组成部分。

通过学习,对于操作系统的运行方式以及设计理念有了较清楚的认识。

要想真正学好并理解操作系统这门课程,不但需要理解操作系统的概念和原理,还需要加强操作系统实验,上机进行编程实践,现在一学期的课程已经结束,本次课程设计在同学们掌握理解该课程的基础上,对操作系统内部的一些具体项目的实现方法进行实战演练,通过实践将知识彻底掌握。

操作系统课程设计是该课程重要的实践教学环节。

通过这次课程设计,一方面可以使学生更透彻地理解操作系统的基本概念和原理,摆脱抽象的理解,从实践中将理论具体化;另一方面,通过课程设计还可以加强学生的实践能力,培养学生独立分析问题、解决问题、应用知识的能力和创新精神。

本次课程设计的题目为交通信号灯模拟,在熟练掌握课本所讲解的计算机的P 操作和V操作的原理的基础上,利用C++程序设计语言在windows操作系统下模拟实现交通信号灯的模拟,一方面加深对原理的理解,另一方面提高根据已有原理通过编程解决实际问题的能力,为进行系统软件开发和针对实际问题提出高效的软件解决方案打下基础。

1.2 课程设计要求在深入理解操作系统基本原理和充分理解课题的基础上,对于选定的题目,独立自主思考,通过查阅相关资料,先确定设计方案,设计程序的运行流程,分析程序所需的模块及各个模块所包含的功能,之后设计每个模块的处理流程,并画出相应的流程图,要求设计合理,利用VC++6.0编程实现,并且程序要拥有可视化的运行界面,界面应清楚地反映出系统的运行结果,之后个人确定好测试方案,选择测试用例,对系统进程测试,运行程序并截图,截图要能充分说明结果,说明系统的使用方法和特点,并提交课程设计报告。

对于模拟交通信号灯的情况,要求在掌握P、V操作的基础上,能够进行合理的调度,并利用各种算法来实现车辆通行、控制、记录等功能。

第二章课程设计任务内容2.1课程设计任务一个十字路口,共有四组红绿灯,每个路口的车辆都遵循"红灯停,绿灯行"的原则,假设将每一台汽车都作为一个进程,请设计良好的机制,展示出合理的"十字路口交通管理"情况.车辆通行设定:路口宽度不限,对一个路口而言,只有当一辆车通过路口(越过对面路口的交通灯后)后,其后续车辆才能继续通过交通灯,车辆通过路口的时间可以固定,可以自行计算。

进程的互斥:交通灯进程实际上是互斥的,即不能同时为红或者同时为绿.进程的消息通信或其他通信方式:对车辆进程而言,每一个车辆在通过路口前,必须确认前面的车辆已经通过了路口.进程的调度:停留在一个路口的车辆,决定其前进或等候的因素是交通灯和前面车辆的状态,需要设计一个良好的进程调度机制来控制所有车辆的通行。

2.2 课程设计原理本实验利用P、V操作进行设计。

信号量S是一个整数,S大于等于零时代表可供并发进程使用的资源实体数,但S小于零时则表示正在等待使用临界区的进程数。

P原语操作的动作是:(1)S减1;(2)若S减1后仍大于或等于零,则进程继续执行;(3)若S减1后小于零,则该进程被阻塞后进入与该信号相对应的队列中,然后转进程调度。

V原语操作的动作是:(1)S加1;(2)若相加结果大于零,则进程继续执行;(3)若相加结果小于或等于零,则从该信号的等待队列中唤醒一等待进程,然后再返回原进程继续执行或转进程调度。

PV操作对于每一个进程来说,都只能进行一次,而且必须成对使用。

在PV原语行期间不允许有中断的发生。

本课题利用P操作和V操作来模拟车辆的出发和到达。

2.3 课程设计内容假设在一个十字路口,共有四组红绿灯,每个路口的车辆都遵循"红灯停,绿灯行"的原则,假设将每一台汽车都作为一个进程,要求设计良好的调度机制,展示出合理的"十字路口交通管理"情况.对于本程序,对于车辆通行,设定为路口的宽度不限,对一个路口而言,只有当一辆车通过路口(越过对面路口的交通灯后)后,其后续车辆才能继续通过交通灯,车辆通过路口的时间可以固定,并且可以自行计算。

交通灯的进程实际上是互斥的,即不能同时为红或者同时为绿.对车辆进程而言,每一个车辆在通过路口前,必须确认前面的车辆已经通过了路口.同时,停留在一个路口的车辆,决定其前进或等候的因素是交通灯和前面车辆的状态,需要设计一个良好的进程调度机制来控制所有车辆的通行。

在模拟车辆运行的进程中,要求可以按要求捕捉所需要的车辆的出发时间。

在进程程序设计的过程中要保证程序运行的流畅度,合理模拟车辆遇到红绿灯变换是黄灯的暂停情况。

对于结果的分析要能够得到具有代表性的数据,比如可以根据用户需要捕获特定的某辆车的情况等。

第三章详细设计说明3.1 模块描述对于交通信号灯模拟程序,其功能模块图如下图3-1所示:图3-1 交通信号灯模拟程序功能模块图对于交通信号灯模拟程序,系统需要实现的功能包括:1、模拟车辆驶出十字路口的一端。

2、模拟车辆到达路十字路口的另一端。

3、可以记录需要的车辆的出发时间和编号。

4、利用有效的调度程序对车辆的行进进行相应的控制。

5、要能对车辆是否能行进进行合理的判断。

6、要能合理的进行红绿灯的变换操作。

3.2 性能描述交通信号灯模拟程序,要求能模拟出交通信号灯处的车辆运行状况,要求能进行合理的调度和红绿灯切换,不考虑车辆在十字路口中间行驶的过程,视为离开后下一时刻直接到达对面。

要求能记录想要记录的车辆的运行时间以及车辆编号。

车辆的运行通过P操作和V操作执行,P操作进行车辆驶出的操作,V操作进行车龄到达的操作。

车辆运行调度通过ETW和STN执行,分别判断南北向和东西向是否有车,由此来控制是否能进行通车。

红绿灯的变换用来调整南北和东西是否有车的状态,同时进行输出,报告红绿灯切换状态并暂停2秒。

3.3 输入项对于交通信号灯模拟程序,需要的输入项包括:东、西、南、北四个方向的车辆数量,需要记录的车两的驶来方向和需要记录的车辆的编号,如表3-1所示。

表3-1 自行输入数据表需要在定义里定义的数据,可自行更改,如下:绿灯持续时间,如表3-2所示。

表3-2 初始定义数据表3.4 输出项对于交通信号灯模拟程序,需要的输出项包括:车辆行驶的方向、车辆编号、车辆出发时间,如表3-3所示:表3-3 输出项表3.5 数据结构为了实现题设的要求,在VC++6.0环境下编译实现,整个系统的主要流程设计为如下步骤:1.定义全局变量用来存放实验所需基本信息2.change函数实现交换无车标志的功能3.P函数模拟P原语的功能4.V函数模拟V原语的功能5.ETW函数实现东西方向的车辆调度6.STN函数实现南北方向的车辆调度7.main函数实现程序的输入接口以及模拟演示3.6 算法介绍设计P(int i)函数用来实现从i(东西南北)方向等待车辆中挑出当前的第一个并让其通行,同时记录此车的编号,输出此车的发车时间。

设计V(int i)函数实现时间的流逝,红绿灯的转换以及无车标志的转换,同时输出上一时刻调用P函数车辆的到达时间。

设计东西调度函数ETW()以及南北调度函数STN()在互斥方向无车且绿灯状态下循环调用P、V函数实现单方向队列上车辆的循环调度。

设计main()函数用来提供程序的输入接口,并实现南北东西方向函数的交叉调度,以及预测车辆出发时间的输出显示。

3.7 流程图3.7.1 主程序流程图交通信号灯模拟程序,运行开始时显示制作人信息,确定后按要求输入各个方向的车辆数量,之后输入初始红绿灯状况并输入要记录的车辆的来向和车辆编号。

组程序的流程图如图3-2所示。

图3-2 交通信号灯模拟主程序流程图3.7.2 算法流程图P(int i)函数用来实现从i(东西南北)方向等待车辆中挑出当前的第一个并让其通行,同时记录此车的编号,输出此车的发车时间,P操作算法流程图如图3-3所示。

图3-3 P操作算法流程图V(int i)函数实现时间的流逝,红绿灯的转换以及无车标志的转换,同时输出上一时刻调用P函数车辆的到达时间,V操作算法流程图如图3-4所示:图3-4 V操作算法流程图3.8 接口描述int Max[4]说明:记录东、西、南、北四个方向的车数量。

int Time说明:记录当前行进时间。

int R[30]说明:记录当前车辆的编号。

int PS说明:用来存储东西南北的数字编号。

int PN说明:存储预测车辆编号。

int PT说明:用来存储测车辆出发时间。

int SN说明:东西有无车(1无车,0有车)int EW说明:南北有无车(1无车,0有车)int T说明:红绿灯变幻时间。

int L[2]说明:东西方向红绿灯状态,0时为红灯,1时为绿灯。

char FX[4]说明:用来存储东西南北四个方向的名字,分别为E、W、S、N。

3.9 限制条件交通信号灯模拟程序限制条件如下:1、每个方向的车辆数量不能超过100;2、车辆按照先后次序进行排号,不能自定义编号;3、必须指定程序开始执行时的红绿灯状况。

第四章软件使用说明4.1 系统开发与运行环境代码实现:C++语言程序开发工具:Microsoft Visual C++ 6.0运行环境:windows XP或更高版本操作系统执行方式:文件打开后直接执行窗口界面:MS-DOS窗口界面操作方式:全键盘控制操作需要相关专业技能:无4.2系统的运行说明交通信号灯模拟程序的运行说明如下:1、按照系统提示一步一步向下走即可顺利执行程序。

2、输入数据的过程中一定要尽量保证数据的正确性,防止因数据不正确而造成程序的崩溃等问题。

3、在所有数据都输入之后,程序会自动直接开始运行,运行过程中程序会自动执行到最后,而不会运行一步停下来等待用户的指示,因此为了保证用户检验数据,请在运行之前做好充分的数据记录,以便与理论值进行对照。

相关文档
最新文档