交通灯控制器的设计与实现
交通灯控制器的设计与实现

<交通灯控制器的设计和实现>学生姓名:旭班级学号:133指导老师:实验3一.实验名称:交通灯控制器的设计和实现二.实验学时:6学时三.实验目的1)了解交通灯管理的基本工作原理。
2)熟悉计数器/定时器的工作方式及使用编程。
3)掌握多位LED显示的方法。
四.实验内容设计一个用于十字路口的交通灯控制器。
基本要求:A和B方向各有一组红、黄、绿灯用于指挥交通,红、黄、绿的持续时间分别为25s,5s,20s。
当有紧急情况(如消防车)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,正常工作。
一组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间。
五.实验仪器1.PC机2.数字系统设计实验开发板六.实验步骤1.实验时序分析:本实验所设计的交通信号控制器,适用于在两条干道汇合点形成的十字交叉路口,路口设计两组红绿灯分别对两个方向上的交通运行状态进行管理。
交通灯的闪亮时序关系如图1所示,当B方向的红灯亮时,A方向对应绿灯亮,而后由绿灯转换为黄灯,即B方向红灯亮的时间等于A方向绿灯和黄灯亮的时间之和。
同理,当A方向的红灯变亮时,B方向的交通灯也遵循此规则。
各干道上安装有数码管,以倒计时的形式显示本道各信号灯闪亮的时间。
当出现特殊情况时,各方向上均亮红灯,倒计时停止。
特殊运行状态结束后,控制器恢复原来的状态,继续运行。
图1. 交通灯的时序分析2.系统设计思路:整个系统设计如图2所示,该系统主要由分频模块、计数模块、数码管显示控制模块、交通灯控制模块以及显示电路设备组成。
其中分频模块主要将系统输入的基准时钟信号转换为1 Hz以及适应于数码管显示的的激励信号,驱动计数模块和两个控制模块工作。
两个控制模块根据计数器的计数情况对交通灯的亮灭及数码管的显示时间进行控制。
对于紧急情况,只需在计数模块中添加一个控制功能HOLD,当HOLD=1时,计数功能暂停。
图2. 交通灯系统模块图3.具体步骤3.1.根据实验要求作预习报告。
交通灯控制器的课程设计

课程设计课题:交通灯控制器的设计一、设计目的:学习QuartusII的使用方法,熟悉可编程逻辑器件的使用。
通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。
在现代化的大城市中, 十字交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,红、黄、绿灯的转换要有一个准确的时间间隔和转换顺序,这就需要有一个安全、自动的系统对红、黄、绿灯的转换进行管理, 本系统就是基于此目的而开发的。
二、设计任务:1.满足如下时序要求:南北方向红灯亮时,东西方向绿灯亮,反之亦然。
2.每一方向的红(绿)黄灯共维持30秒。
3.当某一方向绿灯亮时,置显示器为30秒,然后以每秒减1计数方式工作,直至减到数为3秒时,红绿灯熄灭,黄灯开始间隙闪耀3秒,减到为0,红绿灯交换,一次工作循环结束,进入下一步另一方向的工作循环。
4.红绿黄灯均采用发光二极管。
5.设计由晶振电路产生1Hz标准秒信号的单元电路。
6.要求对整体电路进行仿真,观察并记录下仿真波形。
三、设计原理:交通灯有四个状态:G1 Y1 R1 G2 Y2 R2S1. 亮灭灭灭灭亮S2. 灭闪灭灭灭亮S3. 灭灭亮亮灭灭S4. 灭灭亮灭闪灭然后重复状态S1.●分频器分频器实现的是将高频时钟信号转换成底频的时钟信号,用于触发控制器、计数器和扫描显示电路。
该分频器将时钟信号分频成1HZ和4HZ的时钟信号。
●控制器控制器的作用是根据计数器的计数值控制发光二极管的亮、灭,以及输出倒计时数值给七段数码管的分位译码电路。
此外,当检测到为夜间模式时,手动控制点亮黄灯的二极管。
●计数器这里需要的计数器的计数范围为30-0。
计到0后,下一个时钟沿回复到30,开始下一轮计数。
此外,当检测到夜间模式时,计数器暂停计数,而系统复位信号使计数器异步清零。
四、电路设计1、分频单元电路设计2、30减计数单元电路设计3、红黄绿灯控制单元电路设计4、译码显示单元电路设计●设计流程五、实验程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jiaotong isport(clk,clr:in std_logic;clk1,clk2,clk3:buffer std_logic; ---分频信号pout:out std_logic_vector(6 downto 1);---东西南北的红绿黄灯状态表示C1:out std_logic_vector(3 downto 0);---BCD码高四位表示C0:out std_logic_vector(3 downto 0));---BCD码低四位表示end jiaotong;architecture one of jiaotong issignal g1,y1,r1,g2,y2,r2:STD_LOGIC;---1表示东西方向,2表示南北方向,g,y,r分别表示绿灯,黄灯,红灯signal div:integer range 0 to 20000000; ---分频1signal divn:integer range 0 to 4000000; ---分频2,用于控制黄灯闪烁type st is(s1,s2,s3,s4);---分别表示红绿黄灯的四种组合状态signal state:st;beginC:process(clk)beginif clk'event and clk='1' then---对20HZ进行分频,1HZif(div<19999999)thendiv<=div+1;clk1<='0';else div<=0; clk1<='1';end if;if(divn<2499999)then ---用于黄灯闪烁divn<=divn+1;clk2<='0';else divn<=0; clk2<='1';end if;end if;end process;process (clk1) isvariable t:integer :=31; ---初始赋值beginif clr='1' then ---夜间时为黄灯闪烁,且为手动控制pout(6)<='0'; pout(5)<=clk2 and '1'; pout(4)<='0';pout(3)<='0'; pout(2)<=clk2 and '1'; pout(1)<='0';else if(clk1'event and clk1='1') thent:=t-1;case state is ---四种组合状态转换when s1 =>G1<='1'; Y1<='0'; R1<='0'; G2<='0';Y2<='0';R2<='1'; if(t=3) then state<=s2;else state<=s1;end if;when s2 =>G1<='0';Y1<='1';R1<='0';G2<='0';Y2<='0';R2<='1';if(t=0) then state<=s3;t:=30;else state<=s2;end if;when s3 =>G1<='0';Y1<='0';R1<='1';G2<='1';Y2<='0'; R2<='0';if(t=3) then state<=s4;else state<=s3;end if;when s4 =>G1<='0';Y1<='0';R1<='1';G2<='0';Y2<='1';R2<='0';if(t=0) then state<=s1;t:=30;else state<=s4;end if;when others =>NULL;end case;case t is ---十进制数与BCD码一一对应赋值,输出时便于七段显示译码器显示when 0 => C1<="0000";C0<="0000";when 1 => C1<="0000";C0<="0001";when 2 => C1<="0000";C0<="0010";when 3 => C1<="0000";C0<="0011";when 4 => C1<="0000";C0<="0100";when 5 => C1<="0000";C0<="0101";when 6 => C1<="0000";C0<="0110";when 7 => C1<="0000";C0<="0111";when 8 => C1<="0000";C0<="1000";when 9 => C1<="0000";C0<="1001";when 10=> C1<="0001";C0<="0000";when 11=> C1<="0001";C0<="0001";when 12=> C1<="0001";C0<="0010";when 13=> C1<="0001";C0<="0011";when 14=> C1<="0001";C0<="0100";when 15=> C1<="0001";C0<="0101";when 16 =>C1<="0001";C0<="0110";when 17 =>C1<="0001";C0<="0111";when 18 =>C1<="0001";C0<="1000";when 19 =>C1<="0001";C0<="1001";when 20 =>C1<="0010";C0<="0000";when 21 =>C1<="0010";C0<="0001";when 22 =>C1<="0010";C0<="0010";when 23 =>C1<="0010";C0<="0011";when 24 =>C1<="0010";C0<="0100";when 25 =>C1<="0010";C0<="0101";when 26 =>C1<="0010";C0<="0110";when 27 =>C1<="0010";C0<="0111";when 28 =>C1<="0010";C0<="1000";when 29 =>C1<="0010";C0<="1001";when 30 =>C1<="0011";C0<="0000";when others =>NULL;end case;end if;pout(6)<=G1; pout(5)<=clk2 and Y1;pout(4)<=R1; ---东西南北六盏灯对应pout(3)<=G2; pout(2)<=clk2 and Y2;pout(1)<=R2; end if;end process ;end one;六、测试方法与测试结果1、测试仪器:QUARTUSⅡ2、测试方法:FPGA下载验证与仿真验证3、测试结果:满足设计要求以20HZ为基准仿真:仿真结果:C1:显示30减计数的个位C0:显示30减计数的十位POUT(6):东西方向绿灯控制端POUT(5):东西方向黄灯控制端POUT(4):东西方向红灯控制端POUT(3):南北方向绿灯控制端POUT(2):南北方向黄灯控制端POUT(1):南北方向红灯控制端白天●夜间黄灯闪烁(手动控制)●设计满足了1.30秒倒数显示2.两个方向灯的交替3.黄灯在最后3秒闪烁七、讨论该电路基本上满足了设计要求,电路简单,实现容易,节省器件。
智能交通灯控制系统的设计与实现

智能交通灯控制系统的设计与实现随着城市化进程的加速,城市道路交通越来越拥堵,交通管理成为城市发展的一个重要组成部分。
传统的交通信号灯只具备固定时序控制交通流量的功能,但随着技术的进步和智能化应用的出现,要求交通信号灯具备实时性、自适应性和智能化,因此,智能交通信号灯控制系统应运而生。
本文将从软硬件系统方面,详细介绍智能交通灯控制系统的设计与实现。
一、硬件设计智能交通灯控制系统的硬件部分由四个部分组成:单片机系统、交通灯控制器、传感器及联网模块。
1. 单片机系统单片机是智能交通灯控制系统的核心,该系统选用了8位单片机,主要实现红绿灯状态的自适应和切换。
在设计时,需要根据具体情况选择型号和板子,选择时需要考虑其开发环境、风险和稳定性等因素。
2. 交通灯控制器交通灯控制器是智能交通灯控制系统中的另一个重要部分,主要实现交通信号的灯光控制。
在控制器的设计时,需要考虑网络连接、通信、数据传输等多方面因素,确保系统的稳定性和可靠性。
3. 传感器传感器主要负责采集道路交通信息,包括车辆数量、速度、方向和道路状态等,从而让智能交通灯控制系统更好地运作。
传感器有多种类型,包括磁感应传感器、摄像头、光电传感器等,需要根据实际需求选择。
4. 联网模块联网模块主要负责智能交通灯控制系统的联网和数据传输,包括存储和处理车流数据、上传和下载数据等。
在设计时,需要考虑网络连接的稳定性、数据安全等因素,确保智能交通灯控制系统的连续性和可靠性。
二、软件设计智能交通灯控制系统的软件部分主要由两部分组成:嵌入式系统和上位机系统。
1. 嵌入式系统嵌入式系统是智能交通灯控制系统的主体,主要设计车流量检测、信号灯状态切换等程序。
为了保证系统的自适应性和实时性,需要采用实时操作系统,如FreeRTOS等。
在软件设计阶段,需要注意设计合理的算法和模型,确保系统的准确性和稳定性。
2. 上位机系统上位机系统主要实现智能交通灯控制系统的监控和管理,包括车流量监控、灯光状态监控、信号灯切换和日志记录等。
交通灯控制电路的设计(实验报告)

交通信号灯控制电路的设计一、设计任务与要求1、任务用红、黄、绿三色发光二极管作为信号灯,设计一个甲乙两条交叉道路上的车辆交替运行,且通行时间都为25s的十字路口交通信号灯,并且由绿灯变为红灯时,黄灯先亮5s,黄灯亮时每秒钟闪亮一次。
2、要求画出电路的组成框图,用中、小规模集成电路进行设计与实现用EAD软件对设计的部分逻辑电路进行仿真,并打印出仿真波形图。
对设计的电路进行组装与调试,最后给出完整的电路图,并写出设计性实验报告。
二、设计原理和系统框图(一)设计原理1、分析系统的逻辑功能,画出其框图交通信号灯控制系统的原理框图如图2所示。
它主要由控制器、定时器、译码器和秒脉冲信号发生器等部分组成。
秒脉冲信号发生器是该系统中定时器和该系统中定时器和控制器的标准时钟信号源,译码器输出两组信号灯的控制信号,经驱动电路后驱动信号灯工作,控制器是系统的主要部分,由它控制定时器和译码器的工作。
图1 交通灯控制电路设计框图图中:Tl:表示甲车道或乙车道绿灯亮的时间间隔为25s,即车辆正常通行的时间间隔。
定时时间到,Tl=1,否则,Tl=0.Ty:表示黄灯亮的时间间隔为5s。
定时时间到,Ty=1,否则,Ty=0。
St:表示定时器到了规定的时间后,由控制器发出状态转换信号。
它一方面控制定时器开始下一个工作状态的定时,另一方面控制着交通信号灯状态转换。
2、画出交通信号灯控制器ASM图(1)甲车道绿灯亮,乙车道红灯亮。
表示甲车道上的车辆允许通行,乙车道禁止通行。
绿灯亮足规定的时间隔TL时控制器发出状态信号ST转到下一工作状态。
(2)乙车道黄灯亮乙车道红灯亮。
表示甲车道上未过停车线的车辆停止通行已过停车线的车辆继续通行乙车道禁止通行。
黄灯亮足规定时间间隔TY时控制器发出状态转换信号ST转到下一工作状态。
(3)甲车道红灯亮乙车道绿灯亮。
表示甲车道禁止通行乙车道上的车辆允许通行绿灯亮足规定的时间间隔TL时 控制器发出状态转换信号ST转到下一工作状态。
交通灯控制系统设计与实现

交通灯控制系统设计与实现一、引言交通灯控制系统作为城市交通管理的重要组成部分,具有极为重要的意义。
在繁忙的城市交通系统中,交通灯控制系统具有极为广泛的应用和推广前景。
本文将从交通灯控制系统的设计和实现两方面,介绍交通灯控制系统的相关知识。
二、交通灯的工作原理交通灯是红、黄、绿三种颜色灯组成,交通信号灯之间呈现循环变化的状态。
交通灯控制系统是通过循环控制交通信号灯的轮流变化,使交通流动实现交通安全、高效、和人性化控制的一种技术策略。
通常情况下,交通灯控制系统需要考虑到下列各方面的问题:(1) 交通的流量与密度;(2) 不同时间段的交通情况;(3) 特定时间段的出行方式;(4) 环境污染的程度和治理效果;(5) 指挥的响应速度;(6) 各种自然因素和人为因素的影响;(7) 交通信号灯牵引作用;(8) 交通流量的正常工作。
三、设计交通灯控制系统设计交通灯控制系统时,可以基于一些先进的技术和具体方法来制定需要的计划。
具体的步骤如下所示:(1) 采用先进的通信技术。
用传统的通信方式难以满足现代交通灯控制系统对实时性、可控性等方面的需求,采用先进通讯技术如RS485协议和INTERNET等,实现集中管理、遥控、实时监测、故障排除、性能监测等功能。
(2) 设计灵活优雅的应急切换方案。
针对交通信号灯故障、人群聚集等行为,灵活应对便是好的系统设计情况。
(3) 运用智能优化算法。
在交通信号灯控制问题中,大量算法的应用势在必行,利用先进的算法方法来对不同的情况进行分析和决策,以达到可能的最优化方案。
(4) 设计集中的管理平台为方便管理,交通灯控制系统要实现集中控制和管理。
通过建立中心管理平台,实现统一的控制、统一的管理、统一的监测和统一的调度,从而达到整个系统有组织、有序的管理。
四、实现交通灯控制系统在实现交通灯控制系统时,采用智能化管理几时一大重要法宝。
1、采用智能化交通信号灯技术。
为了保证交通信号灯的正常工作,需要采用先进的交通信号灯技术保证其正常工作。
交通灯控制器的设计与实现

交通灯控制器的设计与实现一、实验目的1.了解交通灯管理的基本工作原理。
2.熟悉8253计数器/定时器、8259A中断控制器和8255A并行接口的工作方式及应用编程。
3.掌握多位LED显示的方法。
二、实验内容与要求设计一个用于十字路口的交通灯控制器。
1.基本要求:1)东西和南北方向各有一组红,黄,绿灯用于指挥交通,红,黄,绿的持续时间分别为25s,5s,20s。
2)当有紧急情况(如消防车)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,正常工作。
3)一组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间。
2.提高部分:1) 实时修改交通灯的持续时间。
2) 根据不同时段对主要交通方向的信号进行调整。
3) 可以使用LCD显示提示信息。
三、实验报告要求1.设计目的和内容2.总体设计3.硬件设计:原理图(接线图)及简要说明4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法)四、总体设计交通灯的工作过程如下:设十字路口的1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。
之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车,2个路口的LED数码管开始倒计时25秒。
延迟20秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。
闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车,2个路口的LED数码管重新开始倒计时25秒。
延迟20秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。
闪烁5次后,再切换到1、3路口方向。
之后,重复上述过程。
当有紧急情况时,2个方向都红灯亮,倒计时停止,车辆禁止通行,当紧急情况结束后,控制器恢复以前的状态继续工作。
在设计中采用6个发光二极管来模拟2个路口的黄红绿灯,每个路口用2个数码管来显示通行或禁止剩余的时间。
紧急情况用一个单脉冲发生单元申请中断来模拟,紧急情况结束后,再发一个中断来恢复以前的状态。
基于FPGA交通信号灯控制器的设计与实现毕业设计

题目 基于FPGA 的交通灯控制器的设计与实现专业 电子信息 班级 1 学号 12 姓名 张扬 主要内容、基本要求、主要参考资料等:模拟十字路口交通信号灯的工作过程,利用交通灯模块上的两组红、黄、绿LED 发光二极管作为交通信号灯,设计一个交通信号灯控制器。
设计说明:有两条公路,一条是交通主干道,另一条是支干道。
在主干道和支干道的交叉路口上,设置了红、黄、绿灯,进行交通管理,如图1所示。
支干道主干道图 1 路口交通管理示意图基本要求如下:① 交通灯从绿变红时,有4s 黄灯亮的间隔时间;② 交通灯从红变绿是直接进行的,没有间隔时间;③ 主干道的绿灯时间为20s ,支干道的绿灯时间为10s ;④ 在任意时间,显示每个状态开始到结束所需要的时间。
由此可以得出交通信号灯A ,B ,C ,D 的4种状态,如表1所示。
表 1 交通信号灯的4种状态 交通信号灯 A B C D主干道的交通灯 绿(20s ) 黄(4s ) 红(10s ) 红(4s )支干道的交通灯红红绿黄主要参考资料:【1】张洪润.FPGA/CPLD应用设计200例(上册)[M].北京:北京航空航天大学出版社,2009.【2】潘松.EDA技术实用教程(第三版)[M].北京:科学出版社,2006. 完成期限:2009年11月到2010年6月指导教师签章:专业负责人签章:2009年11月6日诚信承诺本人__________声明,本论文及其研究工作是由本人在导师指导下独立完成,论文所利用的一切资料均符合论文著作要求,且在参考文献中列出。
作者签字:年月日摘要近年来,随着社会上特别是城市中机动车保有量的不断增加,在现代城市的日常运行控制中,车辆的交通控制越来越重要。
在十字交叉路口,越来越多的使用红绿灯进行交通指挥和管理[1]。
本课题以FPGA硬件描述语言为设计手段,完成了交通信号灯控制电路的开发,其中交通信号灯控制电路的开发目的是设计一个适用于主、支干道十字交叉路口的红黄绿交通灯的控制系统,通过合理设计系统功能,使红黄绿的转换有一个准确的时间间隔和转换顺序,当然这就需要一个自动和安全的系统对红、黄、绿灯的转换进行控制。
智能交通灯控制系统的设计与实现

智能交通灯控制系统的设计与实现一、引言随着城市交通的不断拥堵,智能交通灯控制系统的设计与实现成为改善交通流量、减少交通事故的关键。
本文将对智能交通灯控制系统的设计原理和实际应用进行深入探讨。
二、智能交通灯控制系统的设计原理智能交通灯控制系统的设计原理主要包括实时数据收集、交通流量分析和信号灯控制决策三个方面。
2.1 实时数据收集智能交通灯控制系统通过传感器、摄像头等设备实时采集车辆和行人的信息,包括车辆数量、车速、行人密度等。
这些数据可以通过无线通信技术传输到中央服务器进行处理。
2.2 交通流量分析在中央服务器上,通过对实时数据进行分析处理,可以得到不同道路的交通流量情况。
交通流量分析可以包括车辆流量、行人流量、车速和拥堵程度等指标,为后续的信号灯控制提供依据。
2.3 信号灯控制决策基于交通流量分析结果,智能交通灯控制系统可以根据交通状况智能地决定信号灯的开启和关闭时间。
优化的信号灯控制策略可以使车辆和行人的通行效率达到最大化。
三、智能交通灯控制系统的实现智能交通灯控制系统的实现需要使用计算机技术、通信技术和物联网技术等多种技术手段。
3.1 计算机技术的应用智能交通灯控制系统中的中央服务器需要配置高性能的计算机系统,以支持实时数据的处理和交通流量分析。
同时,通过计算机系统可以实现信号灯控制策略的优化算法。
3.2 通信技术的应用智能交通灯控制系统需要使用通信技术实现各个交通灯和中央服务器之间的数据传输。
传统的有线通信和无线通信技术都可以应用于智能交通灯控制系统中,以实现数据的实时传输。
3.3 物联网技术的应用智能交通灯控制系统可以通过物联网技术实现与交通工具和行人之间的连接。
车辆和行人可以通过智能终端设备向交通灯发送信号,交通灯可以实时地根据这些信号做出相应的决策。
四、智能交通灯控制系统的实际应用智能交通灯控制系统已经在一些城市得到了广泛的应用。
4.1 交通拥堵减少智能交通灯控制系统根据实时的交通流量情况,可以合理地分配交通信号灯的开启和关闭时间,从而避免了交通拥堵现象的发生,提高了道路的通行效率。
智能交通信号灯控制系统设计与实现

智能交通信号灯控制系统设计与实现随着城市化进程的不断加快,交通拥堵问题也日益突出,这也使得人们对交通信号灯的控制以及优化变得越来越关注。
智能交通信号灯作为一种新型的交通控制系统,其最大的优势在于提高了交通效率和管理能力。
本文将介绍如何设计和实现智能交通信号灯控制系统。
1 智能交通信号灯的原理智能交通信号灯是通过网络控制单元,实现对各个交叉口的信号灯的控制。
当交通拥堵时,系统会根据实时交通数据进行优化调整,降低道路的拥堵程度,提高交通的效率。
智能交通信号灯主要由三个部分组成:传感器、控制器和信号灯。
①传感器:可以检测车流量、车速和人行道行人数量等交通信息。
②控制器:是智能交通信号灯的核心部分,用于控制各个交通路口的信号灯,根据从传感器获得的数据来控制信号灯的显示状态。
③信号灯:根据控制器的指示来实时显示交通灯的状态。
2 智能交通信号灯优势智能交通信号灯主要具有以下优势:①提高交通效率:普通交通灯只能按照设定的固定时长来控制交通流量,而智能交通信号灯采用实时数据感知,能够根据交通流量和方向进行自适应控制,提高交通效率。
②缓解交通拥堵:智能交通信号灯在交通拥堵的时候,会自动调整控制方案,从而尽可能地缓解道路拥堵状况。
③降低交通事故发生率:智能交通信号灯通过实时监测交通情况,减少了不必要的交通信号灯的切换,让道路行驶更加稳定,从而减少了交通事故的发生率。
3 智能交通信号灯的设计与实现智能交通信号灯的设计和实现需要以下几个步骤:①设定交通流量检测机制通过使用传感器技术,检测车道上的车辆数量和记录其速度,获得实时交通数据,用于智能交通信号灯的控制。
②设计控制算法算法主要用于根据获得的实时数据,进行信号控制和灯光切换,以提高道路通行效率。
如控制算法包括最短路径控制、动态调整时间控制、压力均衡控制和优先级控制。
③信号灯控制器设计智能交通信号灯控制器是系统中最核心的设备,它主要负责实时运算交通状态和时间的关系,实现最优的信号灯控制策略,确保信号灯显示时的安全性和效率。
EDA实验报告:基于VHDL语言的交通灯控制系统设计与实现

图为k1=0时的输出状态s1,输出恒为011110。即亮灯为R1,y2。保持时间1S。
(k2=0)
上图为k2=0时的输出状态s2,输出恒为101011。即亮灯为G1,R2。保持时间2S。
(k3=0)
上图为k3=0时的输出状态s3,输出恒为110011。即亮灯为R1,G2。保持时间1S。
四、小结及心得体会
else
if counter<5 then
next_state<=s3;
else
next_state<=s0;
end if;
end if;
end if;
end if;
end if;
end case;
end process;
ouput:process(current_state)
begin ——显示程序
begin
u1: jiaotongdeng port map(
clk=>clki,
k0=>k0,
k1=>k1,
k2=>k2,
k3=>k3,
r1=>r1,r2=>r2,g1=>g1,g2=>g2,y1=>y1,y2=>y2
);
u2: div port map(clk=>clk1,clk_out=>clki);
end if;
end if;
end if;
when s3=>
if k0='0' then
next_state<=s0;
else
if k1='0' then
next_state<=s1;
基于单片机的交通灯控制系统设计与实现

基于单片机的交通灯控制系统需要包含以下组成部分:1.硬件设备组成:单片机、LED 灯、显示屏等硬件设备。
2.设计思路描述:交通灯控制系统的设计思路是基于定时器的,利用计数器和定时器来控制红绿灯的转换,同时通过按键检测实现手动控制。
3.程序设计:程序需要完成按键检测、信号灯控制和定时器计数等功能。
具体实现可以分为以下几步:(1) 根据硬件设备的引脚对应关系,定义各个引脚的控制方式和状态。
(2) 在程序中定义计时器和定时器,用于计时和设置红绿灯状态。
例如,计时器每隔一定时间就会触发定时器,设置红绿灯的状态,并且根据状态判断相应的亮灯和熄灯。
(3) 通过按键检测来实现手动控制,当检测到按键按下时,立即切换灯的状态,当再次按下时,又立即切换回之前的状态。
4.实现代码:下面是一个该系统的简单代码示例,供参考:#include <reg52.h>#define uint unsigned int#define uchar unsigned charsbit KEY1 = P3^0;//按键定义sbit RED = P2^2;//红灯定义sbit YELLOW = P2^1;//黄灯定义sbit GREEN = P2^0;//绿灯定义/*函数声明*/void initTimer0();void delay1ms(uint count);/*主函数*/int main(){initTimer0();/*初始化计时器*/while(1){if(KEY1 ==0){/*按键按下*/delay1ms(5);/*消抖*/if(KEY1 ==0){/*仍然按下*//*绿灯亮10s*/GREEN =1;delay1ms(10000);GREEN =0;/*黄灯亮3s*/YELLOW =1;delay1ms(3000);YELLOW =0;/*红灯亮7s*/RED =1;delay1ms(7000);RED =0;/*黄灯亮2s*/YELLOW =1;delay1ms(2000);YELLOW =0;}}}return0;}/*函数定义*/void initTimer0(){TMOD &=0xF0;TMOD |=0x01;TH0 =0xFC;TL0 =0x18;EA =1;ET0 =1;TR0 =1;}/*1ms延时函数*/void delay1ms(uint count){uint i,j;for(i=0;i<count;i++){for(j=0;j<125;j++){}}}/*计时器中断函数*/void timer0() interrupt 1{TH0 =0xFC;TL0 =0x18;}以上是一个简单的基于单片机的交通灯控制系统设计与实现示例。
实验03--交通灯控制器的设计与实现

实验三交通灯控制器的设计与实现一、实验目的1)了解交通灯管理的基本工作原理。
2)熟悉计数器/定时器的工作方式及应用编程。
3)掌握多位LED显示的方法。
二、实验内容设计一个用于十字路口的交通灯控制器。
基本要求:东西和南北方向各有一组红、黄、绿灯用于指挥交通,红、黄、绿的持续时间分别为25s,5s,20s。
当有紧急情况(如消防车)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,正常工作。
一组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间。
三、实验学时:6学时四、实验步骤1. 根据实验要求作预习报告。
2. 根据实验需求,进行程序的设计。
3. 根据以前设计的经验,反复调试程序。
4. 调试通过,下载到FPGA开发板上进行实践调试。
5. 完成整个过程,写实验报告。
附:有关管脚配置参看前6次实验的实验指导书五、实验要求:实验报告应包含实验目的、实验原理,分析与设计思路,实验程序,对应变量的管脚配置表,实验结果,实验总结。
其中具体要求为:1)程序实现模块化设计,写出设计思路,认真标注代码注释;2)达到正确地运行结果;3)实验中出现的问题进行详细总结。
六.实验原理八段数码显示管的原理,Verilog 程序设计原理,实际情况中交通灯的原理。
七.分析与设计思路题目要求是东西和南北方向各有一组红、黄、绿灯用于指挥交通,红、黄、绿的持续时间分别为25s,5s,20s。
当有紧急情况(如消防车)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,正常工作。
一组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间。
根据要求,我们可以有这样的思路:1. 首先,紧急情况时候,必须两个走向的道路都是红灯。
2. 其次,正常情况下,两个走向的道路必须有一个且只有一个是亮红灯的。
3. 再者,正常情况下,若一条道路亮红灯时,另一条道路必须是绿灯,或者是黄灯。
除此之外,关于八段数码显示管的显示,我们先采用片选信号选出,然后对这个已选出的数码管进行段选来让它显示指定的数字。
交通灯控制器的设计与实现Word

交通灯控制器的设计与实现一、实验目的1.了解交通灯管理的基本工作原理。
2.熟悉8253计数器/定时器、8259A中断控制器和8255A并行接口的工作方式及应用编程。
3.掌握多位LED显示的方法。
二、实验内容与要求设计一个用于十字路口的交通灯控制器。
1.基本要求:1)东西和南北方向各有一组红,黄,绿灯用于指挥交通,红,黄,绿的持续时间分别为25s,5s,20s。
2)当有紧急情况(如消防车)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,正常工作。
3)一组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间。
2.提高部分:1) 实时修改交通灯的持续时间。
2) 根据不同时段对主要交通方向的信号进行调整。
3) 可以使用LCD显示提示信息。
三、实验报告要求1.设计目的和内容2.总体设计3.硬件设计:原理图(接线图)及简要说明4.软件设计框图及程序清单5.设计结果和体会(包括遇到的问题及解决的方法)四、总体设计交通灯的工作过程如下:设十字路口的1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。
之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车,2个路口的LED数码管开始倒计时25秒。
延迟20秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。
闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车,2个路口的LED数码管重新开始倒计时25秒。
延迟20秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。
闪烁5次后,再切换到1、3路口方向。
之后,重复上述过程。
当有紧急情况时,2个方向都红灯亮,倒计时停止,车辆禁止通行,当紧急情况结束后,控制器恢复以前的状态继续工作。
在设计中采用6个发光二极管来模拟2个路口的黄红绿灯,每个路口用2个数码管来显示通行或禁止剩余的时间。
紧急情况用一个单脉冲发生单元申请中断来模拟,紧急情况结束后,再发一个中断来恢复以前的状态。
交通灯控制器的设计(综合设计实验)

实验11 交通灯控制器的设计(综合设计实验)一、目的、任务……1.巩固和加深学生对电子电路基本知识的理解,提高他们综合运用本课程所学知识的能力。
2.培养学生根据实验需要选学参考书籍,查阅手册、图表和文献资料的自学能力。
通过独立思考,深入钻研有关问题,学会自己分析并解决问题的方法。
3.通过电路方案的分析、论证和比较,设计计算和选取元器件初步掌握复杂实用电路的分析方法和工程设计方法。
4.培养严肃、认真的工作作风和科学态度。
通过综合设计实验,帮助学生逐步建立正确的生产观点、经济观点和全局观点。
二、设计内容设计一个十字路口交通灯定时控制系统:①主、支干道交替通行,主道每次放行30秒,支道每次放行20秒。
②绿灯亮表示可以通行,红灯亮表示禁止通行。
③当绿灯变红灯时,黄灯先亮5秒,此时另一干道上的红灯不变。
④主、支路口要有数字显示,作为时间提示,以便人们更直观地把握时间。
具体要求主、支干道通行时间及黄灯亮的时间均以秒为单位作减计数。
⑤黄灯亮时,红灯按1HZ的频率闪烁。
⑥要求主、支干通道通行时间及黄灯亮的时间均可在0~99S内任意设定。
三、设计方案该交通灯定时控制系统的组成框图如图1所示。
由状态控制器、状态译码器、减法计数器、秒脉冲发生等组成。
状态控制器主要用于记录十字路口交通灯的工作状态,通过状态译码器分别点亮相应状态的信号灯。
秒信号发生器产生整个定时系统的时基脉冲,通过减法计数器实现减计数,控制每一种工作状态的持续时间。
减法计数器的回零脉冲使状态控制器完成状态转换,同时状态译码器根据系统下一个工作状态决定计数器下一次减计数的初始值。
减法计数器的状态由BCD译码器译码、数码管显示。
在黄灯亮期间,状态译码器将秒脉冲引入红灯控制电路,使红灯闪烁。
图1 交通灯控制系统原理框图四、单元电路设计1.状态控制器设计(1)交通灯顺序工作流程图如图2所示。
30秒末到5秒末到20秒末到5秒末到图2 交通灯顺序工作流程图(2)状态控制器信号灯四种不同的状态分别用(主绿灯亮,支红灯亮)、S 1(主黄灯亮,支红灯闪烁)、S 2(主红灯亮,支绿灯亮)、S 3(主红灯闪烁,支黄灯亮)表示,其状态编码及状态转换图3所示。
交通信号灯控制器设计

把各个单元电路互相连接起来,进行系统通调。
3.定时系统
根据设计要求,交通灯控制系统要有一个能自动装入 不同定时时间的定时时间器,以完成30秒,20秒,5秒的定时 任务。时间状态由两片74LS47预置到减法计数器的时间常数通 过三片8路双向三态门74LS245来完成。三片74LS245的 输入数据分别接入30,20,5三个不同的数字,任一输入数据 到减法计数器的置入由状态译码器的输出信号控制不同 74LS245的选通信号码来实现。
状态.它们之间的关系如下真值表.对于信号灯的状态,``1”表示灯
亮,``0”表示灯灭.
状态控制器输出 主干道信号灯
支干道信号灯
Q2 Q1 R Y G r y g
0 0001 10 0 0 1010 10 0 1 0100 00 1 1 1100 01 0
根据真值表,可列出各信号灯的逻辑函数 表达式为:
根据设计任务要求,当黄灯亮时,红灯应按 1HZ的频率闪烁.从状态译码器真值表中看出, 黄灯亮时,Q1必为高电平;而红灯点亮信号与 Q1无关.现利用Q1信号去控制一三态门电路 74LS245(或模拟开关),当Q1为高电平时,将秒 信号脉冲引到驱动红灯的与非门的输入端,使 红灯在黄灯亮其间闪烁;反之将其隔离,红灯信 号不受黄灯信号的影响.
取一固定电阻47k与一5k 的电位器相串联代
替电阻R2。在调试电路时调节电位器Rp,使输出 脉冲周期为IS。
精品课件!
精品课件!
四.调试要点
首先调试秒信号发生器,用示波器监视秒信号发生器 的输出,调节电位器RW,使输出信号的周期为1秒。
交通红绿灯控制器的设计与制作

3. 交通红绿灯控制器显示电路
• 由于交通红绿灯控制器只是模拟控制系统, 输出功率不是很大,所以采用单片机端口 驱动完全可以实现,无需外加驱动电路, 主要构成电路是限流 电阻,发光二极管等 电路组成。
4.单片机最小系统
• 单片机最小系统主要由单片机、晶振及复 位电路组成。
• 单片机采用stc89c52单片机、晶振12Mhz、 复位电路由电阻电容构成。
极体、三极管识别与测量,如: 1N4007,4700UF/50V、7805集成芯片等。 • 4)完成PCB板子的设计与制作工作: • 5)完成元件的焊接工作 • 2)完成硬件电路的调试工作
2.键盘控制电路
• 键盘控制电路采用非编码键盘中的独立式 键盘,键盘扫描电路采用中断法设计的。 采用二极管起到线或的作用,只要有按键 按下就产生中断。按键采用8*8;二极管采 用1N4007整流管即可。
基本知识:交通红绿灯控制器 硬件电路原理:
交通红绿灯控制器硬件电路主要由单片机最小 系统、路灯显示部分、电源电路、键盘电路等 组成,通过编写程序来控制单片机管脚电平的
变化实现对路灯的亮灭控制的。
交通红绿灯控制器硬件电路图:
3、1.电源电路 电源电路设计的任务主要有:
• 1)完成电路的设计的任务。 • 2)完成原理图、PCB板图的绘制。 • 3)常见元件的识别与测量如:变压器、二
引导问题:
• 1、设计制作前所需要进行的备内容? • 答:仔细阅读设计文件的要求,确认每一个指标
的含义,认真准备硬件电路 • 2、硬件电路的设计过程? • 答:(1)整体方案的设计,包括控制器的选择、
电路参数的计算如:电源输出功率等; • (2);电源电路的设计 • (3)显示电路的设计; • (4)单片机最小系统的设计; • (5)键盘电路的设计
交通灯顺序控制系统的程序设计与实现

交通灯顺序控制系统的程序设计与实现一、本文概述随着城市化进程的加速和交通流量的日益增大,交通灯控制系统在维护交通秩序、保障行车安全方面发挥着至关重要的作用。
本文旨在探讨交通灯顺序控制系统的程序设计与实现,通过分析现有的交通灯控制策略,结合现代编程技术和智能交通系统的发展趋势,提出一种高效、智能的交通灯顺序控制方案。
本文首先概述了交通灯控制系统的重要性和设计要求,然后详细介绍了交通灯顺序控制系统的设计原则、关键技术和实现方法,最后通过案例分析,验证了所提出控制策略的有效性和实用性。
本文旨在为交通灯控制系统的研究和应用提供理论支持和实践指导,为城市交通管理水平的提升和智能交通系统的发展贡献力量。
二、交通灯顺序控制系统的基本原理交通灯顺序控制系统,也被称为交通信号灯控制系统,是城市交通管理的重要组成部分。
其基本原理在于通过预设的时间序列来控制交通信号灯的红、黄、绿三种颜色灯的亮灭,从而有序地引导和控制交通流。
时间序列设定:根据交通流量和道路设计,为每一个交通路口设定一个特定的时间序列,这个序列规定了红灯、绿灯和黄灯的亮灭时间。
一般情况下,绿灯亮时,表示车辆可以通行;红灯亮时,表示车辆必须停止;黄灯亮时,表示警告,车辆应该减速并准备停止。
传感器检测:通过安装在路口的传感器,如车辆检测器、行人按钮等,实时检测交通流量和行人过街需求,将这些信息反馈给控制系统。
控制系统处理:控制系统接收到传感器的反馈信息后,会根据预设的算法和规则,对时间序列进行动态调整。
例如,如果检测到某个方向的车辆流量较大,控制系统可能会增加该方向绿灯的亮灯时间。
信号灯控制:控制系统通过输出信号,控制交通信号灯的亮灭。
这些信号通常是电信号,可以直接驱动交通信号灯。
安全保障:交通灯顺序控制系统还会考虑到一些特殊情况,如紧急车辆通行、故障处理等。
在这些情况下,控制系统会优先保障交通安全。
通过以上五个方面的协同工作,交通灯顺序控制系统能够有效地引导和控制交通流,提高道路通行效率,保障交通安全。
交通灯控制器的设计

一设计任务有一条主干道和一条支干道的汇合点形成十字交叉路口,主干道为南北向,支干道为东西向。
为确保车辆安全,迅速地通行,在交叉道口的每个入口处设置了红,绿,黄3色信号灯。
要求:(1)主干道绿灯亮时,支干道红灯亮,反之亦然,两者交替允许通行,主干道每次放行55s,支干道每次放行25s。
每次由绿灯变为红灯的过程中,黄灯亮5s作为过渡。
(2)能实现正常的倒计时显示功能。
(3)能实现总体清零功能:计数器由初始状态开始计数,对应状态的指示灯亮。
(4)能实现特殊状态的功能显示:进入特殊状态时,东西、南北路口均显示红灯状态。
发挥部分:(1)增加左转允许控制功能(2)选择学校附近一个路口实地观察,按实际数据设计出该路口交通灯控制器。
二题目分析与整体构思1.该交通灯控制器应具备的功能根据设计任务主干道定为绿灯55sec,黄灯5sec,红灯30sec,支干道定为红灯60sec,绿灯25sec,黄灯5sec,,同时用数码管指示当前状态(红、黄、绿)剩余时间。
另外,设计一个特殊状态,当特殊状态出现时,两个方向都禁止通行,指示红灯,停止计时。
特殊状态解除后,恢复计数并指示时间。
2.实现方案从题目中计数值与交通灯的亮灭的关系如图所示:3.设计规划根据交通灯控制器的功能与要求,将其总体电路分为分频器、计数器(5s计时,、25s计时、55s计时)、控制器、译码器、数码器显示控制模块。
小组进行任务划分,我负责分频器和译码器模块。
三模块的原理及其程序1.分频器由于石英晶体振荡器产生的频率很高,要得到秒脉冲,需要用分频电路。
例如,振荡器输出4MHz信号,通过D触发器(74LS74)进行4分频变成1MHz,然后送到10分频计数器(74LS90,该计数器可以用8421码制,也可以用5421码制),经过6次10分频而获得1Hz 方波信号作为秒脉冲信号。
分频器实现的是将高频时钟信号转换成底频的时钟信号,用于触发控制器、计数器和扫描显示电路。
基于车流量检测的智能交通灯控制系统设计与实现

其次,智能交通灯控制系统的智能化程度还有待提高。未来可以考虑引入更多 的传感器和设备,如无线通信模块、气象检测模块等,以实现对道路交通环境 的全方位监测。此外,还可以引入人工智能、机器学习等技术,使系统能够根 据历史数据预测未来车流量,从而实现更为精准的红绿灯时序控制。
最后,如何实现智能交通灯控制系统的广泛普及和应用也是亟待解决的问题。 需要政府部门、企业和社会公众共同努力,推动智能交通灯控制系统的产业化 和规模化应用。例如,可以通过政策扶持、合作共建等方式,推动智能交通灯 控制系统在城市新建道路中的标配化应用;也可以鼓励现有道路进行智能化升 级改造,以提升整个城市的交通管理水平。
然而,我们的系统仍存在一些不足之处,例如在处理复杂路况和大规模车辆拥 堵时仍有一定的局限性。未来,我们计划继续优化算法和硬件设备,提高系统 的实时处理能力和自适应能力,以更好地应对复杂的交通场景。
总之,交通灯智能控制系统的设计与实现对提高城市交通管理水平和改善城市 居民出行体验具有重要意义。本次演示所介绍的智能控制系统在实验中已证明 能够显著提高道路通行效率,减少交通拥堵。未来,我们还将继续努力优化这 一系统,以实现城市交通的智能化和高效化。
在需求分析阶段,我们需要明确智能交通灯控制系统的功能需求和技术要求。 具体包括以下几点:
1、路口信灯控制:智能交通灯控制系统需要对路口信灯进行实时控制,包括 交通流向的自动调配,以及根据实时交通情况进行信灯时长的动态调整。
2、传感器安装及数据传输:系统需要利用各种传感器,如视频传感器、红外 传感器等,对道路交通情况进行实时监测,并将采集的数据进行传输,为后续 的决策和控制提供依据。
为验证智能交通灯控制系统的可行性和有效性,我们进行了一系列实验。首先, 在模拟环境下,通过模拟车辆通行,验证车流量检测算法的准确性。其次,在 真实道路环境下,对智能交通灯控制系统进行为期一年的实地运行测试。通过 对比安装智能交通灯控制系统前后的交通流量数据,发现道路通行效率得到了 显著提升,交通拥堵情况得到了有效缓解。
交通灯的设计与实现

一、设计任务设计一个十字路口的红、绿、黄三色信号交通灯控制电路,具体要求如下:1)用红、绿、黄三色发光二极管作信号灯。
主干道为东西向,有红、绿、黄三个灯;另一支干道为南北向,也有红、绿、黄三个灯。
红灯亮禁止通行;绿灯亮允许通行;黄灯亮则给行驶中的车辆有时间停靠到禁行线之外。
2)东西和南北每次绿灯放行26s,红灯禁止30s。
在每次由亮绿灯变成亮红灯的转换过程中间,需要亮5s的黄灯作为过渡,以使行驶中的车辆有时间停靠到禁行线以外。
3)能实现正常的、即时显示功能,用实验箱上的4个七段数码管作为到计时显示器,分别显示东西、南北方向的红灯、绿灯、黄灯时间。
二、设计原理首先要对时钟进行分频。
由于系统时钟频率比较大,因此首先分频产生时钟,用于下面的电路的控制;然后是各种颜色之间的转换,在此在添加一个使能端en,当使能端en为1的时候,就开始进行状态循环以及倒计时,然后en就立即变为0;在状态机中一共有四个状态,如下图所示:然后,我们这里用了BCD码表示倒计时时间。
灯亮或闪烁时间(绿、黄、红分别为26s、130s、5s)用BCD码表示(分别为26h、30h、5h),倒计时的时候个位和十位分别是BCD码的高四位和低四位,首先是低四位倒数,当倒数到0时,给它重新赋值为9,且高四位减1,如此循环,直到这个数减到0,此时表示某一个灯亮的时间到,接着进行下一个状态,为了能使进入下一个状态,必须在时间减到0的时候,给使能端en 赋值1;由于用的BCD码,高四位和低四位就分别是我们要在译码模块的要用数码管显示的十位和个位。
用数据选择器来控制东西、南北的灯亮。
三、程序流程图1.1分频器的设计流程图1.2 5进制的设计流程图1.3 30进制的设计流程图1.4 26进制的设计流程图1.5 状态机的程序流程图四、程序设计1、5进制的设计library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jinzhi5 isport(clk,en,rst:in std_logic;ge,shi: out std_logic_vector(3 downto 0);cout:out std_logic);end jinzhi5;architecture behav of jinzhi5 isbeginprocess(clk,en)variable a,b: std_logic_vector(3 downto 0);beginif(rst='0') then a:="0101";b:="0000"elsif clk'event and clk='1' thenif(en='1') thenif(a=0) then a:="0101";b:="0000",cout<='1';else a:=a-1;b:="0000",cout<='0';end if;end if;end if;ge<=a;shi<=b;end process;end behav;仿真结果2、26进制的程序library ieee;ogic_1164.all;use ieee.std_logic_unsigned.all;entity jinzhi26 isport(clk,en:in std_logic;ge: out std_logic_vector(3 downto 0);shi: out std_logic_vector(3 downto 0);cout:out std_logic);end jinzhi26;architecture behav of jinzhi26 isbeginprocess(clk,en)variable a: std_logic_vector(3 downto 0);variable b: std_logic_vector(3 downto 0);beginif(en='0') then a:="0010";b:="0101";elsif clk'event and clk='1' thenif(a=0 and b=0) then a:="0010";b:="0101";cout<='1';else if(b=0) then b:="1001";a:=a-1;else b:=b-1;cout<='0';end if;end if;end if;ge<=b;shi<=a;end process;end behav;仿真结果3、30进制的程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jinzhi30 isport(clk,en,rst:in std_logic;ge: out std_logic_vector(3 downto 0);shi: out std_logic_vector(3 downto 0);cout:out std_logic);end jinzhi30;architecture behav of jinzhi30 isbeginprocess(clk,en)variable a: std_logic_vector(3 downto 0);variable b: std_logic_vector(3 downto 0);beginif(rst='0') then a:="0000";b:="0000";elsif clk'event and clk='1' thenif en='1' thenif(a=0 and b=0) then a:="0011";b:="0000";cout<='1';else if(b=0) then b:="1001";a:=a-1;else b:=b-1;cout<='0';end if;end if;end if;end if;ge<=b;shi<=a;end process;end behav;仿真结果4、10M分频器的设计library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fenpin20 isport(clk:in std_logic;c:out std_logic);end fenpin10;architecture art of fenpin10 issignal m: std_logic_vector(31 downto 0);signal c1:std_logic;beginprocess(clk)beginif rising_edge(clk) thenif m<4999999 thenm<=m+1;else m<=(others=>'0');c1<=not c1;end if;end if;c<=c1;end process;end art;仿真结果5、译码器的程序设计电路中需要4个译码器来显示东西、南北的亮灯时间。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三交通灯控制器的设计与实现一、实验目的1)了解交通灯管理的基本工作原理。
2)熟悉计数器/定时器的工作方式及应用编程。
3)掌握多位LED显示的方法。
二、实验内容设计一个用于十字路口的交通灯控制器。
基本要求:东西和南北方向各有一组红、黄、绿灯用于指挥交通,红、黄、绿的持续时间分别为25s,5s,20s。
当有紧急情况(如消防车)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,正常工作。
一组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间。
三、实验学时:6学时四、实验步骤1. 根据实验要求作预习报告。
2. 根据实验需求,进行程序的设计。
3. 根据以前设计的经验,反复调试程序。
4. 调试通过,下载到FPGA开发板上进行实践调试。
5. 完成整个过程,写实验报告。
附:有关管脚配置参看前6次实验的实验指导书五、实验要求:实验报告应包含实验目的、实验原理,分析与设计思路,实验程序,对应变量的管脚配置表,实验结果,实验总结。
其中具体要求为:1)程序实现模块化设计,写出设计思路,认真标注代码注释;2)达到正确地运行结果;3)实验中出现的问题进行详细总结。
六.实验原理八段数码显示管的原理,Verilog 程序设计原理,实际情况中交通灯的原理。
七.分析与设计思路题目要求是东西和南北方向各有一组红、黄、绿灯用于指挥交通,红、黄、绿的持续时间分别为25s,5s,20s。
当有紧急情况(如消防车)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,正常工作。
一组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间。
根据要求,我们可以有这样的思路:1. 首先,紧急情况时候,必须两个走向的道路都是红灯。
2. 其次,正常情况下,两个走向的道路必须有一个且只有一个是亮红灯的。
3. 再者,正常情况下,若一条道路亮红灯时,另一条道路必须是绿灯,或者是黄灯。
除此之外,关于八段数码显示管的显示,我们先采用片选信号选出,然后对这个已选出的数码管进行段选来让它显示指定的数字。
综上所述,同时考虑到时间问题。
可以表述如下:紧急情况时,我们按下路灯控制按钮,让两条道路的红灯同时点亮。
正常情况时,东西走向的道路的红灯亮的同时从25s倒计时,与此同时,南北走向的道路的黄灯亮同时从5s倒计时。
当红灯倒计时至20s时,南北走向的道路的黄灯灭绿灯开始从20s倒计时。
当两条道路的灯同时到达0时,两灯同时灭并点亮南北走向道路的红灯从25s倒计时,与此同时,点亮东西走向的黄灯并从5s开始倒计时,当南北走向的道路的红灯倒计时至0s时,东西走向的黄灯灭绿灯亮,同时从20s开始倒计时。
如此往复循环,就是一个十字路口的交通灯的原理。
八.实验程序module jiaotongdeng(clk,ji,R,D,L,cs);input clk,ji;output R,L,D,cs;reg tick;reg [1:0]n;reg [50:0]i;reg [10:0]j;reg[2:0]R;reg[2:0]L;reg[7:0]D;reg[6:0]a;reg[6:0]cs;reg[2:0]as;reg[4:0]ag;reg[2:0]bs;reg[4:0]bg;reg [10:0]m;always @(posedge clk) //在clk频率下运行beginif(ji)begin tick<=tick;endelsebegini<=i+1;if(i==9999999) //对clk信号分频begintick<=~tick;i<=0;endendendalways@(posedge tick) //在所分频率下运行begin //当红绿黄灯循环交替一次所用时间为50s,设置变量a控制循环;if(a==0)a<=50 ;elsea<=a-1;endalways@(posedge clk) //在clk频率下运行;begin //L表示B方向的红绿黄灯,用D1、2、3信号灯输出表示;R表示A方向的绿黄红灯,用D6、7、8信号灯输出表示;if (ji) //选用R23开关给出紧急信号,begin L<=3'b100;R<=3'b100; end // 当波动R23按钮时,A.B方向都亮起红灯;else //在非紧急情况下beginif (a<=20) //在前20s的时间里begin L<=3'b001;R<=3'b100; end //A方向亮绿灯,B方向亮红灯;else if (a<=25&&a>20) //在21s-25s的时间里,begin L<=3'b010;R<=3'b100; end // A方向亮黄灯,B方向亮红灯;else if (a>25&&a<45) //在26s-45s的时间里begin L<=3'b100;R<=3'b001; end // A方向亮红灯,B方向亮绿灯else if (a<=50&&a>45) //在46s-50s的时间里begin L<=3'b100;R<=3'b010; end // A方向亮红灯,B方向亮黄灯endendalways@(posedge clk)begin //用四个数码管显示A,B方向时间倒计时if (a<21)beginas<=a/10; //根据a的循环A方向的十位数码管倒计时显示2,1,0;ag<=a%10; //根据a的循环A方向的个位数码管倒计时显示9-0;bs<=a/10;bg<=a%10;endelse if (a>19&&a<26)beginas<=0; //根据a的循环A方向的十位数码管倒计时显示0;ag<=a-20; //根据a的循环A方向的个位数码管倒计时显示5-0;bs<=a/10; //根据a的循环B方向的十位数码管倒计时显示2;bg<=a%10; //根据a的循环B方向的个位数码管倒计时显示5-0;endelse if (a>24&&a<46)beginas<=(a-25)/10;ag<=(a-25)%10;bs<=(a-25)/10; //根据a的循环B方向的十位数码管倒计时显示2-0;bg<=(a-25)%10; //根据a的循环B方向的个位数码管倒计时显示9-0;endelse if (a>44&&a<51)beginas<=(a-25)/10;ag<=(a-25)%10;bs<=0;bg<=a-45;endendalways@(posedge clk)beginif (j>=999)beginm<=~m;j<=0;endelsej<=j+1;endalways @(posedge m )begincase(n)0:beginD<=8'b10111111; //选定一个数码管case(as) g abcd //在数码管上显示as的值0:cs<=7'b0111111;1:cs<=7'b0000110; //这里1为数码管亮2:cs<=7'b1011011;endcaseend1:beginD<=8'b01111111; //选定一个数码管case(ag) //在数码管上显示bs的值0:cs<=7'b0111111;1:cs<=7'b0000110;2:cs<=7'b1011011;3:cs<=7'b1001111;4:cs<=7'b1100110;5:cs<=7'b1101101;6:cs<=7'b1111101;7:cs<=7'b0000111;8:cs<=7'b1111111;9:cs<=7'b1101111;endcaseend2:beginD<=8'b11111110;case(bs)0:cs<=7'b0111111;1:cs<=7'b0000110;2:cs<=7'b1011011;endcaseend3:beginD<=8'b11111101;case(bg)0:cs<=7'b0111111;1:cs<=7'b0000110;2:cs<=7'b1011011;3:cs<=7'b1001111;4:cs<=7'b1100110;5:cs<=7'b1101101;6:cs<=7'b1111101;7:cs<=7'b0000111;8:cs<=7'b1111111;9:cs<=7'b1101111;endcaseendendcasen<=n+1;endendmodule九.对应变量的管教配置表十.实验结果1.如图所示,左边的两个点亮的数码管子表示东西走向的道路的路灯倒计时。
右边的是南北走向道路的路灯的倒计时。
板子左下角的两列小灯来指示红黄绿灯,其中,右边的(R)一列表示东西走向的道路的亮灯,左边(L)的一列表示南北走向的道路的亮灯。
另外,每列的第一个灯是红灯,第二个是黄灯,第三个是绿灯。
此时表示,东西走向道路的红灯倒计时至24s,南北走向道路的黄灯倒计时至4s。
图一2.如下图所示,在上图的东西走向的红灯倒计时至20s之后,紧接着出现下图所示的情况。
这就表明东西走向道路的红灯不变,依旧在从20s倒计时。
但是南北走向的道路的黄灯变成了现在的绿灯,并且从20s开始倒计时。
图中所示为两者同时倒计时到17s时的情况。
图二3.如下图所示,在图二同时倒计时到0之后,东西走向的道路的红灯变为黄灯从5s开始倒计时,同时南北走向的道路的绿灯变成红灯从25s开始倒计时,如下图所示,此时为东西走向道路的黄灯倒计时至4s,南北走向道路的红灯倒计时至24s。
图三4.如下图所示,当上图的东西走向的道路的黄灯倒计时至0后,马上变为绿灯从20s开始倒计时。
同时南北走向的道路的红灯也倒计时至20s。
图四4. 如下图所示,为图四倒计时至13s是的情况。