精华内容
下载资源
问答
  • 《智能体技术在城市交通信号控制系统中应用综述》-2014 文中综述了智能体技术在交通信号控制系统中应用的技术与方法,包括系统架构、控制算法、建模与仿真,以及智能交通集成管理等方面;以及具体应用、研究动向。 ...

    《智能体技术在城市交通信号控制系统中应用综述》-2014

    文中综述了智能体技术在交通信号控制系统中应用的技术与方法,包括系统架构、控制算法、建模与仿真,以及智能交通集成管理等方面;以及具体应用研究动向
    提出发展基于多智能体的交通网络信号集成控制系统的关键问题在于系统交互性、自适应性和可拓展性。


    背景

    智能体计算技术(agent-based computing) 允许将系统分解成多个相互关联的智能体,协作实现期望的全局目标,是分布式复杂巨杂系统的内涵式解决方法之一。【1】

    智能体计算技术对满足以下3个条件的问题具有强大的设计和分析能力【2】:
    (1)该问题在逻辑上或物理上是分散的;
    (2)子系统处于一个动态及不确定性环境;
    (3)各子系统之间需要信息交互.

    城市交通信号控制系统具有典型的分布式特征,且在时变的复杂交通网络环境下,仅凭局部路口的优化不能表征整体网络的性能。在交换关联路口信息的基础上,仍需要设计路口间精细的协调机制,采用联合的配时策略提升整体交通网络的控制效益。
    智能体技术的自治性、协作性和交互性符合分布式交通信号自适应控制的内在需求【4】。

    路口信号控制器可以感知周围环境并及时响应环境变化,且在没有人或其他因素的直接干预下,智能体能够自发的根据目标和环境的要求主动做出规划,实现交通控制的自动化;同时,通过各分布式路口智能体的相互协作,构建 多智能体控制系统(multiagent system,MAS),以实现全局路网的控制目标。


    基于智能体的交通控制系统构架及平台

    静态智能体、移动智能体
    与静态智能体相比,移动智能体具有从网络中一个系统转移到另一个系统的能力,具有减小网络负载,支持断开控制、支持异构环境、动态生成组件等功。因而,系统可在运行过程中实时地动态更新任务算法,并采用移动智能体技术将其发送到目标子系统中执行.

    采用智能体技术开发的控制系统构架可分为分层式网络式混合式
    分层式结构: 将整个系统分解成若干个子系统,各子系统彼此之间的交互较弱.
    网络式结构: 完全分散的智能体系统,各智能体之间相互通信且独立进行决策;因而,各分布式的智能体仅考虑局部效益,不能从全局的角度预测整个网络状态.
    混合式结构: 结合了分层式和 网络式的特征进行设计

    aDAPTS交通管理系统【3】:移动智能体、网络级、3级分层式结构
    (最高层负责规划和推理控制智能体的任务序列,中间层负责协调和分派控制智能体,最底层则实现各控制智能体的运行)
    【3】WANG F Y. Toward a revolution in transportation operations: AI for complex system 2008,23(6):8-13


    基于智能体的交通信号控制方法

    文献【12】2006:多智能体,二级控制模式,Q学习.

    文献【14】2003:多智能体,三层分布式。基于神经网络的模糊逻辑,强化学习
    包括交叉口控制器智能体(ICA)、子区控制智能体(ZCA)、区域控制智能体(RCA).
    ICA根据交叉口状态决定路口控制方案的修正(周期、绿信比、相位差)
    ZCA控制所辖子区内的ICAs,制定各子区内的控制策略及协调机制
    RCA控制所辖区域内的全部ZCAs,宏观制定区域的划分、调整及边界过渡方法


    **** 文献【18】2006:单层分布式、多智能体 每一智能体负责网络中每一路口的交通信号,且分属于各自的协调子区。协调子区可根据路网交通条件进行动态更新和划分,协调子区内的智能体采用集体协同决策的方式优化关联路口的控制方案.

    **** Samh等【23-24】2013:多智能体强化学习、单层分布式,
    每个智能体负责单路口交通灯的信号控制.为实现全局协调所有智能体的控制动作,每个智能体与其物理邻近的路口智能体进行协调,并采用Markov对策建立路口多智能体的精细协调模型,旨在系统环境状态下选择最优的联合动作.为避免系统状态空间的维度灾难及保障计算效率,遵循一般矩阵博弈和最佳响应策略的思想,提出一种基于min-max的多智能体强化学习算法
    目前,该方法正在加拿大伯灵顿的两个路口进行实证的应用研究.

    高海军等【26】2003:考虑非机动车辆对路口信号控制的影响,提出了一种面向交通路口混合交通流的分布式模糊控制方法.

    Yang【30】2005 和France【31】2003等:分层多智能体模型,采用强化学习算法在线优化本地控制,并采用遗传算法学习强化学习参数;

    于德新等【32】2006:采用遗传算法博弈论进行交通信号协调优化控制,提出了一种基于多智能体博弈的城市道路交通控制系统.

    Bakker等【33】2010:对比了3类扩展的多智能体交通信号协调控制,包括相邻路口拥堵信息、局部可测交通状态、精细协调机制


    基于智能体的交通数据和诱控一体化

    Li等【40】2003:多智能体技术研究了交通管理和路径诱导一体化
    Weyns等【41】2007:基于智能体的行驶路径预测方法,出行车辆可分派下级的智能体搜索路径并将出行意愿告知路侧设施(信号灯),通过多智能体间协调以避免交通拥堵.

    管青【42】2009:将区域交通信号控制与交通诱导协同理论相结合,从两者协同运作的角度出发,提出一种交通诱控集成一体化的管理系统架构,旨在根据实时路网交通状态,主动去调控及引导交通.



    展开全文
  • 十字路口交通信号控制系统

    千次阅读 多人点赞 2020-07-28 22:33:02
    十字路口交通信号控制系统主要任务开发平台设计思路 主要任务 设计一个用于十字路口的交通灯控制器,能显示十字路口东西、南北两个方向的红、黄、绿的指示状态; 具有倒计时的功能,用两组数码管作为东西和南北...

    主要任务

    • 设计一个用于十字路口的交通灯控制器,能显示十字路口东西、南北两个方向的红、黄、绿的指示状态;
    • 具有倒计时的功能,用两组数码管作为东西和南北方向的倒计时显示,主干道直行(绿灯)60秒后,左转(绿灯)40秒;支干道直行(绿灯)45秒后,左转(绿灯)30秒,在每次绿灯变成红灯的转换过程中,要亮黄灯5秒作为过渡。黄灯每秒闪亮一次。
    • 只考虑直行和左转车辆控制信号灯,右转车辆不受信号灯控制, 南北向车辆与东西向车辆交替方向,同方向等待车辆应先方向直行车辆而后放行左转车辆。

    开发平台

    系统开发工具 Vivado
    系统开发语言 Verilog
    仿真平台 杰创EDA远程二代网页版

    时序分析

    首先弄清楚主干路和支干路在一个周期内的变化状况,如图所示:
    在这里插入图片描述
    在这里插入图片描述

    电路原理图

    此电路原理图是在杰创EDA远程二代网页版上进行绘制的,如图所示在这里插入图片描述

    设计思路

    交通信号灯系统控制的原理框图如图所示,将系统分成4个模块:

    1. 主控制器模块
    2. 定时计数器模块
    3. 分频计数器模块
    4. 译码模块

    在这里插入图片描述

    主控制器模块

    主控制器模块原理上是一个状态机,依据要求设计,设计出信号灯点亮规律的状态转换表,如表所示,其中0表示灭,1表示亮,状态表显示了信号灯在运行过程中每个状态应该持续的时间,以及状态之间的转换顺序。依据分频计数器,当分频计数器的时钟达到了对应时间则切换为下一个状态,就可以实现控制信号灯的亮灭。
    在这里插入图片描述

    图中有八个状态,实际编程的时候还应该符加四个状态,用于表示黄灯的闪烁,这四个状态对应黄灯为0,表示黄灯熄灭,1s切换一次状态就可以达到黄灯每秒闪烁一次的效果,符加状态如下表所示:在这里插入图片描述

    分频计数器模块

    整个系统采用的时钟是1khz,原因是为了显示四位数码管上多位数字,而信号灯的状态切换是以秒为单位进行的,因此需要将1khz的时钟信号转化成1hz的,设计分频计数器,每500个周期,分频时钟信号反转一次。

    定时器模块

    状态机上共有8个状态,以这8个状态为周期进行循环,系统执行一个周期共计需要195秒,因此设计定时计数器进行计数,定时到195秒时就归零重新计时。

    译码模块

    在讲译码模块之前,先讲一讲四位数码管如何使用,七段数码管是电子开发过程中常用的输出显示设备,本项目使用的是一个四八位一体,共阴极型七段数码管。右图是本实验用到的四八位一体,共阴极型,左图为单个静态数码管。

    在这里插入图片描述在这里插入图片描述
    由于此设计七段数码管公共端连接到GND(共阴极型),当数码管的中的那一个段(a,b,c,d,e,f,g)被输入高电平,则相应的这一段被点亮。反之则不亮。四位一体的七段数码管在单个静态数码管的基础上加入了用于选择哪一位数码管的位选信号(1,2,3,4)端口。四个数码管的a,b,c,d,e,f,g,h,dp都连接在了一起,4个数码管分别由各自的 位选信号来控制,当位选信号为低电平时该位数码管被选择。同一时刻只有一位数码管被选中并点亮,下一时刻则切换到相邻位数码管,但因为切换速度很快,在视觉暂留效应的帮助下,我们看到的就是四位数码管被整体点亮

    为此可以设计出每个数字的译码表,如表所示

    数字 十六进制下编码
    0 7’h7e
    1 7’h30
    2 7’h6d
    3 7’h79
    4 7‘h33
    5 7’h5b
    6 7’h5f
    7 7’h70
    8 7’h7f
    9 7’h7b

    输出数据的时候,在管脚上输出相应的编码,控制时钟以快速频率切换就可以实现显示两位数字效果。默认使用两位数字来显示倒计时,有红灯倒计时大于99秒的情况,也就是超出两位数字所表示的范围,规定超过99秒则不显示

    实现

    主控制模块

    在这里插入图片描述

    分频计数器

    在这里插入图片描述

    定时计数器

    在这里插入图片描述

    译码模块

    在这里插入图片描述

    TOP模块

    在这里插入图片描述

    仿真测试文件

    在这里插入图片描述

    测试结果

    仿真测试结果

    此测试很重要,如果没有云平台进行测试只能进行仿真,仿真文件如上所示,时间单位为1us,每500us进行时钟信号反转就形成了1khz的时钟信号。
    仿真结果如图所示,宏观上看首先测试信号灯是否显示正确,观察ew(表示主干路方向),sn(表示支干路方向)两个值
    在这里插入图片描述再观察微观测试结果,截取了一个有代表意义的片段60秒至65秒,这段时间主干路直行黄灯正在闪烁,对应ew的值在0a和08之间变换,由状态表知是在S1状态和S8状态之间切换,每1秒切换一次,一次持续0.5秒,实现了黄灯的闪烁。
    在这里插入图片描述

    再来观察数码管的仿真结果,截取了一个有意义的片段60秒到65秒,60秒是状态S0和S1的交界处,容易出错。系统采用的共阴极4位数码管,片选信号0表示有效,1表示无效,所以片选信号1表示十位,片选2表示个位根据译码表知,60秒前是7e 30代表01秒,是直行绿灯最后一秒倒计时;60秒后倒计时是7e 5b代表05秒,表示黄灯5秒倒计时的开始。
    在这里插入图片描述
    195秒时仿真结果,195秒后重新开始循环。
    在这里插入图片描述

    云平台运行结果

    通常情况仿真结果正确就已经完成了,这里提供云平台的运行结果,仅用来观察系统运行结果,

    在这里插入图片描述

    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

    观看效果

    视频展示效果
    观看效果

    如果有不清楚的地方欢迎留言评论
    第一次写文章,欢迎大家交流,批评。

    展开全文
  • 交通信号控制系统的Verilog实现

    千次阅读 2020-07-17 11:29:44
    交通信号控制系统的Verilog实现 作为数字系统设计入门案例,下面简单介绍最简单的交通控制系统,说明设计思路。 首先给出要求:设计一个主干道和支干道十字路口的交通信号灯控制电路 (1)一般情况下保持主干道...

    交通信号灯控制系统的Verilog实现
    作为数字系统设计入门案例,下面简单介绍最简单的交通控制系统,说明设计思路。
    首先给出要求:设计一个主干道和支干道十字路口的交通信号灯控制电路
    (1)一般情况下保持主干道通畅,主干道绿灯亮、支干道红灯亮,并且主干道绿灯亮时间不少于60秒。
    (2)主干道绿灯亮超过60秒,且支干道有车时,主干道红灯亮,支干道绿灯亮,但支干道亮灯时间不超过30秒。
    (3)每次主干道或支干道绿灯变红灯时,黄灯先亮5秒。
    1.逻辑抽象,明确输入输出。
    主干道和支干道的十字路口交通灯系统求优先保证主干道的畅通。平时处于主干道绿灯、支干道红灯的状态。当支干道有车时,传感器发出信号S=1,主干道绿灯先转换成黄灯、再变成红灯,支干道由红灯变成绿灯。如果支干道继续有车通过时,则传感器继续有信号,使支干道保持绿灯亮,但支干道绿灯持续亮的时间不得超过30s,否则支干道绿灯先转换成黄灯再变成红灯,同时主干道由红灯变成绿灯。主干道每次通行时间不得短于60s,在此期间,即使支干道S有信号,也不能中止主干道的绿灯亮。
    输入信号有时钟、复位、传感器信号;输出有主干道红黄绿灯和支干道红黄绿灯。
    2.确定系统框图
    首先用状态机作为主控制,状态机转换条件根据计时器信息判断转换条件,译码电路中根据所在状态输出对应干道信号灯状态。
    控制单元根据时钟和传感信号向计数器发出信号,计时器向控制单元发出60s(t1)、30s(t2)、5s(t3)计时信号。主干道红黄绿用h_r,h_y,h_g表示,支干道红黄绿用f_r,f_y,f_g表示。
    在这里插入图片描述
    因此,用计时分别产生三个持续的时间段后,向控制单元发出时间已到信号,控制单元根据计时器及传感器的信号,决定是否进行状态转换。如果肯定,则控制单元发出状态转换信号St,计时器开始清零,准备重新计时。

    交通灯控制单元的控制过程分为四个阶段,对应的输出有四种状态,分别用S0、S1、S2和S3表示:
    S0状态 主干道绿灯亮支干道红灯亮,此时若支干道有车等待通过,而且主干道绿灯已亮足规定的时间t1,控制器发出状态转换信号St,输出从状态S0转换到S1 (转换条件:绿灯亮够60s且检测到支干道有车即 t1&&s=1

    S1状态 主干道黄灯亮,支干道红灯亮,进人此状态,黄灯亮足规定的时间t3时,控制器发出状态转换信号St,输出从状态S1转换到S2。 (转换条件:黄灯亮够5s就转换状态即 t3=1

    S2状态 支干道绿灯亮,主干道红灯亮,若此时支干道继续有车,则继续保持此状态,但支干道绿灯亮的时间不得超过t2,否则控制单元发出状态转换信号St,使输出转换到S3状态。若此时支干道没有车,则控制单元立即发出状态转换信号St,使输出转换到S3状态。
    (转换条件:支干道绿灯亮够30s或者检测到支干道没车即 t2+(~s)=1

    S3状态 支干道黄灯亮,主干道红灯亮,此时状态与S1状态持续的时间相同均为t3,时间到时,控制器发出St信号,输出从状态S3回到S0状态。对上述S0、S1、S2和S3四种状态按照格雷码进行编码分别为00,01,11和10。
    /控制状态机/
    always@(posedge clk or negedge rst)
    begin
    if(!rst)
    current_state<=2’d0;
    else
    current_state<=next_state;
    end

    always@(s,current_state,t1,t2,t3)
    begin
    	case(current_state)
    		s0:	begin
    			next_state=(t1&&s)?s1:s0;
    			ST=(t1&&s)?1'b1:1'b0;			
    			end
    		s1:	begin
    			next_state=(t3)?s2:s1;
    			ST=(t3)?1'b1:1'b0;			
    			end
    		s2:	begin
    			next_state=(t2||~s)?s3:s2;
    			ST=(t2||~s)?1'b1:1'b0;			
    			end
    		s3:	begin
    			next_state=(t3)?s0:s3;
    			ST=(t3)?1'b1:1'b0;
    			end
    		endcase
    end
    

    在这里插入图片描述
    在这里插入图片描述

    计时部分采用2个寄存器代表十位(t_h)和个位(t_l)计数,同时每次检测到转换信号都要清零重新计时

    always@(posedge clk or negedge rst)   //计时模块
    	begin
    		if(!rst)
    			{t_h,t_l}<=8'd0;
    		else if(ST)             //控制信号有效说明灯的颜色改变重新计数
    			{t_h,t_l}<=8'd0;
    		else if((t_h==4'd5)&(t_l==4'd9))   //判断是否计数到60
    			begin
    			{t_h,t_l}<={t_h,t_l};						
    			end
    		else if(t_l==4'd9)   //判断个位是否计数满,是则十位加一
    			begin
    			t_h<=t_h+1'b1;
    			t_l<=4'd0;			
    			end
    		else begin
    			t_h<=t_h;
    			t_l<=t_l+1'b1;		
    		end
    	end
        assign t3=(t_h==4'd0)&(t_l==4'd4);   //主干道绿灯计数时间
    	assign t2=(t_h==4'd2)&(t_l==4'd9);	 //	支干道绿灯计数时间
    	assign t1=(t_h==4'd5)&(t_l==4'd9);   //黄灯计数时间
    

    译码部分根据状态机所在状态输出对应信号灯状态

    always@(current_state)
    	begin
    		case(current_state)
    			s0:	begin
    				{hg,hy,hr}=3'b100;  //主干道绿灯
    				{fg,fy,fr}=3'b001;  //支干道红灯			
    				end
    			s1:	begin
    				{hg,hy,hr}=3'b010;  //主干道黄灯
    				{fg,fy,fr}=3'b001;  //支干道红灯			
    				end
    			s2:	begin
    				{hg,hy,hr}=3'b001;  //主干道红灯
    				{fg,fy,fr}=3'b100;  //支干道绿灯			
    				end		
    			s3:	begin
    				{hg,hy,hr}=3'b001;  //主干道红灯
    				{fg,fy,fr}=3'b010;  //支干道黄灯			
    				end	
    			endcase
    	end
    

    在这里插入图片描述
    仿真结果图
    总结:本文设计较简单,对于复杂交通还需改善,但是能够从中慢慢建立对系统架构的认知和联系,从中理清各模块间关系。后续还需多查资料研究,如有错误不合理之处,请告知。

    展开全文
  • 微机程序设计应用:交通信号控制系统

    万次阅读 多人点赞 2015-02-14 19:43:16
    设计任务 交通信号控制系统:要求能显示剩余时间和控制红、黄、绿三色灯的显示。 2、总体方案设计与方案论证(1) 总体方案设计 设计路口交通灯控制系统,使用LED显示单元的两组发光二极管(红黄绿)分别模拟十字...

    1、设计任务

    	交通信号灯控制系统:要求能显示剩余时间和控制红、黄、绿三色灯的显示。
    

    2、总体方案设计与方案论证

    (1) 总体方案设计

    	设计路口交通灯控制系统,使用LED显示单元的两组发光二极管(红黄绿)分别模拟十字路口的两组交通灯。
    
    a、南北路口的绿灯、东西路口的红灯同时亮20秒。数码管20秒倒记时显示。
    b、南北路口的黄灯亮5秒,同时东西路口的红灯继续亮。数码管5秒倒记时显示。
    c、南北路口的红灯、东西路口的绿灯同时亮20秒。
    d、南北路口的红灯继续亮、同时东西路口的黄灯亮5秒。
    e、转(1)重复。(并能在此基础添加一些功能,如紧急开关按下,时间暂停,两组路口都显示红灯)
    

    (2) 方案论证

    	将交通灯的显示规律进行观察,发现有“红绿、红黄、绿红、黄红”四种状态,将交通灯的显示抽象为这四种状态的循环切换,如需产生不同的时间,只需将每种状态直接加入一个延时程序即可,为了更加准确的记录时间和显示剩余时间,我们觉得采用8253来控制一秒,循环执行十次就是十秒,二十次就是二十秒。这样便可以完成任务。
    	由上论证可知,方案可行,可以进行具体设计和操作。
    

    3、总框图及总体软件设计说明

    (1) 总框图

    (2) 总体软件设计说明

    a、通过8253计数,每1s输出一个脉冲,刷新10次,持续十秒钟,重复减一直至零为止;
    b、8255的C口低四位作为输入输出端口,C口高四位控制某个数码管显示,B口控制数码管显示值,A口控制交通灯;
    c、交替选中数码管的高低位码,计数的同时数码管显示数字,并且交通灯亮;
    d、8253锁存并读数进行;
    e、计数至零时状态转换,数码管重新显示下一状态的数字,交通灯转换至下一状态;       
    f、重复上述过程,使交通灯的四个状态不断循环秒钟;
    

    4、接口电路逻辑图及硬件设计说明,或系统资源使用说明

    (1) 接口电路逻辑图

    (2) 硬件设计说明

    8253芯片说明

    	8253有3个独立的16位计数器,有6种工作方式。
    	利用8253的减法计数器原理,每送来一个脉冲就减1,减到0产生一个定时信号输出。
    	因为计数频率为2MHz,计数器的最大数值为65536,所以最大的定时时间为0.5us*65536=32.768ms,达不到1S的要求,因此需要用两个计数器级联来解决问题。
    	将2MHz的的时钟信号直接加在CLK0输入端,并让计数器0工作在方式2,选择计数初始值为5000,则从out0端可得到2MHz/5000=400Hz的脉冲,周期为0.25ms。再将该信号连到CLK1输入端,并使计数器1工作在方式2下,为了使out1输出周期为20s的波形,所以取时间常数为400.然后由out1输出到8255的PC0上,通过上升下降沿来判断1s是否结束。
    

    8255芯片说明

    	 8255A可为外设提供3个8位I/O端口,即A口,B口,C口,每个端口又可分两组编程,能工作于3种操作模式。
    	该实验使用8255A来作为输入输出的控制操作,将C口分为上下口,分别由A,B口控制。PC0用来接收8253的out1输出的信号,通过沿来判断是否完成1S计时。PC1用来判断有无紧急键按下,若为高电平则是紧急状态,使四个路口的红灯都亮。
    	C口的高四位用来控制数码管的显示位数,测试知数码管为低电平有效,当状态控制字分别为1101,1110时对应的第二位和第一位亮。然后进行循环。
    	A口作为输出端连接到发光二极管上,通过接收状态控制字来显示对应的灯。
    	B口也是作为输出端按顺序连接到数码管的LA,B,C,D,E,F,G,H上。
    

    5、局部程序框图及其设计说明

        首先,利用8253初始化,使其产生周期为一秒的脉冲,将主程序中规定的循环次数(即、秒数)在子程序中控制产生脉冲的个数,一个脉冲即为一秒。
        判断是否为一个脉冲,采用上升沿判断,出现一个上升沿即产生一个脉冲,循环次数减一,直到有n个脉冲,即已经过了n秒。
        紧急键的按下在延时过程中进行判断,如果按下,则循环判断紧急键的状态,并一直输出紧急状态的情况。当紧急键放开,则继续紧急前的状态继续延时。
    

    	延时的剩余次数即为剩余时间,因此,只要将CX的值显示在数码管处即可达成显示时间的目的。
    	CX中存有两位数,此时,将CX的值处以10,在AH和AL中分别得到余数(个位数字)和商值(十位数字)。
    	让两位数字同时显示,则需要将两位数字分别在数码管的高低两位显示出来,并且不断循环显示,此时显示频率很快,肉眼看上去就是两位同时亮的状态。
    

    6、源程序清单(详细注释)

    CODE SEGMENT
     ASSUME CS:CODE
    START:MOV AX,CS
          MOV DS,AX
          MOV DX,203H			;8255初始化,连接端口IOY0
          MOV AL,10000001B		;A口输出接LED,B口输出接数码管,C0~C3输入,C4~C7输出
          OUT DX,AL
    	  CALL INITIAL_8253		;8253初始化
    A1:   MOV DX,200h   		;8255的A口接
          MOV AL,01101111B  	;东西红,南北绿
          OUT DX,AL         	;将灯状态传送给LED显示
          MOV CX,20       		;计时20秒
          CALL action
          MOV DX,200h   		;东西红,南北黄     
          MOV AL,01111011B
          OUT DX,AL
          MOV CX,5         	;计时5秒
          CALL action
          MOV DX,200h			;东西绿,南北红   
          MOV AL,10011111B
          OUT DX,AL
          MOV CX,20     		;计时20秒
          CALL action  
          MOV DX,200h   		;东西黄,南北红    
          MOV AL,10110111B
          OUT DX,AL
          MOV CX,5        		;计时5秒
          CALL action
          JMP A1            	;循环到状态A1,即东西红,南北绿
    EXIT: MOV AH,4CH
          INT 21H
          
    
    action PROC
    	  PUSH AX
          PUSH DX
          PUSH CX
          mov ah,al					;保存紧急状态前的路灯的状态	
    LOOP2:
    	  mov dx,202h
          in al,dx
          test al,02h				;判断c口倒数第二位是否有状态
          JnZ L1 					;无紧急状态         
        						;有紧急键则转到紧急键处理
          CALL DISP				;显示当前时间  
          mov dx,200h
    	  mov AL,00111111B		;路口都显示红灯
    	  out dx,al
          JMP LOOP2
    L1:	  mov dx,200h
          mov al,ah
    	  out dx,al
          CALL DISP
    L2:   MOV DX,202h				;检测1s是否计完
    wait1:
    	  CALL DISP
    	  IN AL,DX
          TEST AL,01H
          JZ wait1                	;若1s没计数完,继续    
    wait2:
    	  CALL DISP
    	  IN AL,DX
          TEST AL,01H
          JNZ wait2   
          LOOP LOOP2             ;20s或5s计数完全?若没计数完,继续
          POP CX
          POP DX
          POP AX
          RET 
    action ENDP
    
    INITIAL_8253  PROC          ;8253初始化,1s
          PUSH AX
          PUSH DX
    	  mov al,00110101B
    	  mov dx,20Bh
    	  out dx,al
    	  mov al,00h
    	  mov dx,208h
    	  out dx,al
    	  mov al,50h
    	  mov dx,208h
    	  out dx,al
    	  mov al,01110101B
    	  mov dx,20Bh
    	  out dx,al
    	  mov al,00h
    	  mov dx,209h
    	  out dx,al
    	  mov al,04h
    	  mov dx,209h
    	  out dx,al
          POP DX
          POP AX
          RET
    INITIAL_8253 ENDP
    
    time1 PROC near
            lea di,time
            lea si,x1
            MOV CX,2
            MOV AL,11101111b  		;AL=DFH 1101 1111  控制 Y1~Y5 循环点亮
            MOV [si],AL      
    l31:	    mov dx,202h
     		mov al,0ffh
     		out dx,al
            MOV DX,201H	   		;B口输出段码
       	    MOV AL,[DI]
    	    OUT DX,AL	 
    	    INC DI		
    	    MOV AL,[si]
            MOV DX,202H    		;c口输出
    	    OUT DX,AL
    	    ROl byte ptr[si],1			;循环左移一位   
    	    loop l31
    	    RET
    time1 ENDP
    
    DISP PROC                  	 	;数码管显示
    	   	PUSH AX
    		PUSH BX
    		PUSH DX
    		PUSH CX		
    		lea di,time
    		MOV AX,CX
    		MOV CL,0AH  			;将CL中16进制数转化为十进制数
    		DIV CL
    		MOV BX,OFFSET table1
    		XLAT
    		mov [di],al
    		inc di
    		mov al,ah
    		MOV BX,OFFSET table1
    		XLAT
    		mov [di],al			
    		call time1		
    		POP CX
    		POP DX
    		POP BX
    		POP AX
    		RET
    DISP ENDP
    
    table1 DB 3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH  
    time db 2 dup(?)
    x1 db ?
    
    code ends
    	end start
    

    7、系统功能与操作说明

    a、南北路口的绿灯、东西路口的红灯同时亮20秒。数码管20秒倒记时显示。
    b、南北路口的黄灯亮5秒,同时东西路口的红灯继续亮。数码管5秒倒记时显示。
    c、南北路口的红灯、东西路口的绿灯同时亮20秒。
    d、南北路口的红灯继续亮、同时东西路口的黄灯亮5秒。
    e、转a循环
    f、期间,紧急开关按下,时间暂停,两组路口都显示红灯;紧急开关拨起,继续暂停前的状态继续
    

    8、总结

    	这个设计是利用四种状态来表示两个路口的红绿灯状态,使用这样化整为零的方法,再利用8255对四种状态进行切换控制,使每种状态之间利用一个延时子程序先进行大概的延时,再利用8253进行对一秒钟的准确延时,利用循环的方式,循环十次为十秒,则完成了对每种信号灯状态的准确定时;为了解决AB口都被占用,而还需要输出口进行对数码管高低位选择的控制,则想到了使用C口的高四位进行该项操作,至于之后的紧急状态的设置,则靠C口的低四位进行输入控制,只需判断相应位置的状态便可以进行这一类的操作。
    	整个实验最困难的地方就是最开始对四种状态的分析,世界上的任何事物总可以使用各种状态来表示,事物的变换规律也可以使用状态之间的转化来体现出来。我们可以将身边的事物转化为某种逻辑关系,这样就能实现各种功能的设备了。
    
    展开全文
  • 交通信号控制系统设计 作为一个硬件程序设计民工,最近一直在学习python,写个爬虫,排个序,再画个界面,其实还是挺好玩的。然而这不是我的主业啊!!!-_-||| 下学期开学就要找工作了,明天刚好...
  • 基于MATLAB的智能交通信号控制系统的实现

    万次阅读 热门讨论 2019-04-06 18:43:22
    写在前面 1)现实意义 早期使用的交通信号灯是固定配时的调控方式,无法随着车流量的变动而调整绿灯时间...智能交通系统的核心是交通信号灯的智能控制算法,根据实时交通流的大小,配置信号周期及各种色灯的闪亮时间...
  • 系统采用STC89C51单片机以及单片机最小系统和74HC245驱动电路以及外围的按键和数码管显示等部件,设计一个基于单片机的交通灯设计。设计通过两位一体共阴极数码管显...
  • 在最近的USENIX Security 2014上, 密歇根大学的一个研究团队发布了一份报告,他们发现,对于美国的一些城市交通信号控制系统来说, 要想破解并劫持也就是分分钟的事。 根据研究团队Alex Halderman指出, 由于...
  • 关键词:道路交通信号控制机 现状 发展交通信号控制产品--道路交通信号机(以下简称信号机)是控制道路交叉口信号的重要设备,它是交通信号控制系统前端控制的重要组成部分。目前已在全国各城市及主要国、省及市县...
  • 实验设计图(proteus 7.8仿真):      七段数码管有四个引脚 从左到右分别记为 a b c d 引脚输入电平与显示的数字对应关系为: a b c d 显示 0 0 0 0 0 ...其实就是把四个引脚看成16进制数...
  • 基于51单片机的交通控制系统设计

    万次阅读 多人点赞 2018-11-24 13:38:11
    交通灯是生活中的重要系统。本设计为基于51单片机交通系统的设计,采用模块化、层次化设计。运用单片机AT89C51进行数据的分析和处理,为显示提供信号,显示部分采用8位数码管显示倒计时值。系统电路简单、集成度高...
  • 轨道交通信号系统

    2020-06-16 17:05:26
    城市轨道交通信号系统通常由列车运行运行自动控制系统(ATC)和车辆段信号控制系统两大部分组成,用于列车进路控制、列车间隔控制、调度指挥、信息管理、设备工况监测及维护管理,由此构成一个高效综合自动化系统。...
  • 交通控制系统的设计

    千次阅读 2020-01-08 12:41:06
    城市交通控制系统是用于城市交通数据监测、交通信号灯控制与交通疏导的计算机综合管理系统,它是现代城市交通监控指挥系统中最重要的组成部分。所以,如何采用合适的控制方法,最大限度利用好耗费...
  • 文章简介 1.文章标题 Self-learning adaptive traffic signal control for real-time safety ...摘要:自适应交通信号控制(ATSC)是一项有前景的提高交叉口信号控制效率的技术。尤其是在能够获取车辆位置和轨迹实时
  • 城市轨道交通信号系统

    千次阅读 2008-05-13 21:43:00
    城市轨道交通信号系统通常由列车自动控制系统(Automatic Train Control,简称ATC)组成,ATC系统包括三个子系统:— 列车自动监控系统(Automatic Train Supervision,简称ATS)— 列车自动防护子系统(Automatic
  • 微机原理交通控制系统设计

    万次阅读 多人点赞 2018-09-10 00:07:21
    此次综合设计为模拟交通控制系统,是采用计算机通过编写汇编语言程序控制实验箱上的硬件资源实现的。红灯停,绿灯行的交通规则,广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于...
  • 城市轨道交通信号系统是用于对列车
  • 智能交通信号灯管理系统

    千次阅读 2007-10-10 22:48:00
    智能交通信号灯管理系统 一、交通信号灯管理系统概述 交通职能部门能及时了解道路交通运行情况、制定控制方案;控制信号灯来达到平衡交通压力;充分利用交通监控系统的技术手段来保证每条道路的畅通,使路网整体...
  • java(交通信号系统)

    千次阅读 2015-03-14 18:52:37
    交通信号系统 1.题目 模拟实现十字路口的交通灯管理系统逻辑,具体需求如下:  异步随机生成按照各个路线行驶的车辆。 例如:   由南向而来去往北向的车辆 ---- 直行车辆   ...
  • 利用arduino UNO制作的一个带倒计时的交通信号系统 大一新生,刚开始学arduino,看的是程晨老师的《Arduino 电子设计实战指南 零基础篇》,有一道课后题是制作一个带倒计时的交通信号灯,利用实验室器材花了一个多...
  • 设计要求 设计并制作汽车信号灯仪表盘控制系统,实现汽车左右转弯,紧急状态, 刹车,停靠瞬间的操作和信号灯指示功能,编译相应的汇编语言程序并进行系统调试。 仪表盘信号灯包括左右转弯灯,左右头灯和左右尾灯,...
  • 交通控制系统

    千次阅读 2011-04-14 23:29:00
    用VHDL语言设计一个由一条主干道和一条支干道的汇合点形成的十字交叉路口的交通控制器,要求如下: (1)主、支干道各设一个红、绿、黄指示灯,LED显示 (2)主干道处于常允许通行状态,支干道有车来的时候才...
  • 一个很水的课设,发出来给学弟学妹们can'ka 采用MFC完成,VS2008环境下编译运行正常。...系统有 自动模式,手动模式,夜间模式,路人模式(行人控制,可参考http://wenwen.soso.com/z/q184953098.htm) 23:00和5:00
  • 微机交通控制系统

    千次阅读 2008-01-17 16:30:00
    2006-06-13 12:41:46 微机交通控制系统课程设计任务书 一、课程设计目的 微机原理课程设计是微机原理课程的一次综合性训练。要求通过课程设计达到以下目的: 1.掌握微机系统的硬件设计方法(以IBM-PC机...
  • 交通灯管理系统的项目需求 模拟实现十字路口的交通灯管理系统罗技,具体需求如下:  异步随即生成按照各个路线行驶的车辆。  例如:  由南向而来,去往北向的车辆……直行车辆  由西向而来,去往南向的车辆……...
  • 基于单片机的交通信号控制器设计

    万次阅读 多人点赞 2011-02-28 20:16:00
    基于单片机的交通信号控制器设计一:功能要求设计一个基于单片机的交通信号控制器。已知东、西、南、北四个方向各有红黄绿色三个灯,在东西方向有两个数码管,在南北方向也有两个数码管。要求交通灯按照表1进行...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 19,115
精华内容 7,646
关键字:

交通信号控制系统