武汉理工大学交通灯控制系统解析
- 格式:doc
- 大小:409.50 KB
- 文档页数:28
交通灯控制系统设计1. 引言交通灯是城市道路交通管理的重要组成部分,合理的交通灯控制系统设计能够有效地提升交通流量的运行效率、减少交通事故的发生率。
本文将着重介绍一种基于现代技术的交通灯控制系统设计方案。
2. 系统架构交通灯控制系统主要由以下几个部分组成:2.1 传感器模块传感器模块负责感知道路上的车辆流量和行人流量。
常用的传感器包括车辆感应器、红外线传感器等。
传感器模块可以通过将其数据传输给主控制模块,供其做出相应的控制决策。
2.2 主控制模块主控制模块是整个交通灯控制系统的核心,它根据传感器模块的数据和事先设定好的控制策略,决定每个交通灯灯头的状态。
主控制模块通常由计算机或嵌入式系统实现,具备一定的处理能力和存储能力。
2.3 通信模块通信模块用于实现主控制模块和交通灯灯头之间的通信。
通过通信模块,主控制模块可以向交通灯灯头发送控制命令,以及接收交通灯灯头的状态信息。
常用的通信方式包括有线通信和无线通信。
2.4 交通灯灯头交通灯灯头是系统中的最终执行器,它根据主控制模块发送的控制命令控制相应的交通灯状态。
传统的交通灯灯头通常由灯泡组成,而现代的交通灯灯头则采用LED灯进行显示,LED灯具有亮度高、能耗低等优点。
3. 系统设计考虑因素在进行交通灯控制系统设计时,需要考虑以下几个因素:3.1 交通流量和行人流量交通灯控制系统的主要目的是保证交通流量和行人流量的有序进行。
因此,在设计过程中需要全面考虑道路的交通量和行人流量情况,以及不同时段的交通状况。
3.2 交通流动性和道路容量交通流动性是指交通流量在给定时间和空间范围内的运行效率,而道路容量则是指道路在单位时间内能够容纳的最大交通流量。
在设计交通灯控制系统时,需要通过合理的控制策略来提高交通流动性和道路容量。
3.3 能源和环境影响交通灯控制系统需要消耗一定的能源,因此,在设计过程中需要考虑节能和环保因素。
比如,可以采用LED灯替代传统的灯泡,以减少能源消耗。
《微机原理与接口技术》课程设计题目:交通灯设计学院(系):信息工程系年级专业:自动化1082学号:10212408205学生姓名:余永龙指导教师:李文彦1课程设计任务书学生姓名:余永龙专业班级:自动化1082班指导教师:李文彦工作单位:武汉理工大学华夏学院题目:交通灯系统设计初始条件:1.运用所学的微机原理和接口技术知识;2.微机原理和接口技术实验室的实验箱设备。
要求完成的主要任务:(包括课程设计工作量及其技术要求以及说明书撰写等具要求)该课程设计要求采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。
具体要求如下:1.东西方向车辆放行60秒钟。
即东西方向绿灯和南北方向的红灯同时点亮1分钟;2.1分钟后,东西方向的红(绿)灯闪烁5秒钟,以警示车辆将切换红绿灯。
此时南北方向仍维持红灯点亮。
3.东西方向的红(绿)灯闪烁5秒钟后,转为南北方向放行60秒钟。
即东西方向的红灯和南北方向的绿灯同时点亮60秒钟;4.南北方向放行60秒钟后,转为南北方向的红(绿)灯闪烁5秒钟,以警示将切换红绿灯。
此时东西方向仍维持红灯点亮。
5.南北方向的红(绿)灯闪烁5秒钟后转为东西方向放行1分钟。
如此循环重复。
6.严格按照课程设计说明书要求撰写课程设计说明书。
时间安排:指导教师签名:年月日系主任(或责任教师)签名:年月日本次专业课程设计作为前阶段学习知识的一个检验,培养了我们的动手能力以及独立思考设计的能力,也是大学培养的一个重要实践步骤。
设计初期,我们通过网络,图书馆等资源查找到利用微机原理与接口技术设计制作交通灯的相关信息,对不同的方案进行细致的分析比较。
并且按照题意与实际情况进行改进,使之符合要求。
然后按照电路图进行接线,最终做出一个简单的交通灯。
制作过程中发现的一些问题通过共同的分析研究得到的解决,此次课程设计巩固了前期的理论知识,增强了动手实践能力。
程序主要是由定时子程序、发光二极管显示子程序和中断服务程序组成。
附件1:学号:0121018700XXX课程设计题目交通灯控制系统模拟设计学院物流工程专业物流工程班级物流工程卓越1001姓名指导教师2013 年 6 月28 日交通灯控制系统模拟设计XXX武汉理工大学物流工程卓越1001摘要:随着经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通拥塞已成为一个国际性的问题。
因此,设计可靠、安全、便捷的多功能交通灯控制系统有极大的现实必要性。
根据交通灯在实际控制中的特点,结合单片机的控制功能,提出了一种用单片机自动控制交通灯的简易方法。
设计中包括硬件电路的设计和程序设计两大步骤,对单片机学习中的几个重要内容都有涉足。
本系统采用AT89C51单片机为中心器件来设计交通灯控制器,实现了红绿灯循环点亮,倒计时剩5秒时黄灯闪烁警示(交通灯信号通过P1口输出,显示时间通过P0口输出至双位数码管);以及实现3种工作模式:正常情况、繁忙情况、特殊情况及报警功能。
本系统实用性强、操作简单、扩展功能强。
关键字:交通灯;AT89C51;数码管;三种工作模式Design of traffic light control system simulationZhiming GuoLogistics Engineering College Logistics zy1001Abstract: With the development of economy, the sharp increase in the number of cars, increasingly crowded city roads, traffic congestion has become an international problem. Therefore, multi-function traffic light control system design of reliable, safe, convenient and of great practical necessity. According to the characteristics of traffic lights in the actual control, combined with the control function of single chip, this paper presents a simple method for automatic control of traffic lights with single chip microcomputer. In the design of hardware circuit design and program design includes two steps, on several important single-chip learning have to get involved in. The system centric devices to design the traffic light controller AT89C51, realizes the cycle traffic lights lit, countdown 5 seconds left when the yellow light flashing warning (traffic light signal output, display time through the output port P0 to two digital tube through the P1 port); 3 work modes: normal, busy and implementation situation, special circumstances and alarm function. The system practical, simple operation, strong function expansion.Key words: raffic lights, AT89C51, LED, three work modes目录课程设计任务书 (1)第1章前言 (1)1.1交通灯发展概述 (1)1.2 课题背景及意义 (1)1.3课题任务及主要实现内容 (2)1.4 原理分析 (3)1.4.1交通灯显示时序的理论分析 (3)1.4.2 交通灯显示的理论分析 (4)第2章设计方案分析 (5)2.1 单片机与外围接口部件 (5)2.2 倒计时显示界面 (6)2.3 交通灯 (6)第3章硬件系统设计 (7)3.1 单片机的选择 (7)3.1.1 AT89C51单片机简介 (7)3.1.2 AT89C51单片机的主要特性 (7)3.1.3主要引脚功能 (8)3.1.4 C51的中断源 (10)3.2 硬件电路实现 (10)3.2.1 最小系统设计 (10)3.2.2 显示设计 (12)3.2.3 发光二极管模拟红绿灯 (15)3.2.4 按键模块 (15)第4章软件电路设计 (16)4.1 软件编译环境测试 (16)4.1.1 C语言介绍 (16)4.1.2 Keil uVision4介绍 (16)4.2软件总体设计 (17)结论 (19)参考文献 (20)源程序: (22)课程设计任务书学生姓名:XXX专业班级:物流工程卓越1001指导教师:朱宏辉工作单位:物流工程题目:交通灯控制系统模拟设计初始条件:1. 熟悉背景资料和任务:熟悉给定的背景资料和数据,明确系统设计的任务要求;拟订设计计划和初步方案。
智能交通工程师智能交通灯控制系统总结智能交通灯控制系统是现代智能交通工程中的关键技术之一,其作用是通过合理的信号控制,优化交通流量,提高道路通行效率,减少交通拥堵,提升交通安全性。
在本文中,将对智能交通灯控制系统进行总结和分析。
一、智能交通灯控制系统的基本原理智能交通灯控制系统的基本原理是根据不同时间段和交通流量情况,动态调整交通信号灯的工作方式。
系统通过收集和分析交通流量数据,综合考虑各种因素,如交通状况、道路情况、行人需求等,实时进行信号灯的控制和调整,以达到最佳的交通流动效果。
二、智能交通灯控制系统的组成部分1. 信号灯控制器:智能交通灯控制系统的核心部分,负责收集实时交通数据,并根据预设算法对交通信号进行控制。
2. 交通数据采集设备:包括交通监测器、车流量检测器、行人流量检测器等,用于实时采集交通数据。
3. 通信设备:用于信号灯控制器与其他设备之间的数据传输和通信。
4. 监控中心:对智能交通灯控制系统进行实时监控和管理,提供远程控制和故障排除等功能。
三、智能交通灯控制系统的优点1. 提高道路通行效率:通过实时调整交通信号,有效地减少交通拥堵,提高道路通行效率,缩短出行时间。
2. 提升交通安全性:智能交通灯控制系统能够根据实时交通数据和行人需求,合理调整信号灯的工作模式,提升交通安全性。
3. 节约能源:系统可以合理分配道路资源,减少过多的信号等待时间,降低能源的消耗。
4. 提供实时数据支持:通过智能交通灯控制系统,可以获取到大量的交通数据和统计信息,为交通规划和设计提供科学依据。
四、智能交通灯控制系统的发展趋势1. 多模态交通:随着城市交通方式的多样化,智能交通灯控制系统将会更加关注不同交通模式的协调与整合,提供更加智能化的交通出行体验。
2. 人工智能技术应用:人工智能技术的发展将为智能交通灯控制系统提供更高效的决策支持和信号控制算法,优化交通流量分配。
3. 智能城市的一部分:智能交通灯控制系统将融入智能城市的发展中,与其他智能设施进行联动,共同构建智慧出行的城市生态系统。
课程设计任务书学生姓名: xxx 专业班级: xxxxxxxx指导教师: xxx 工作单位: xxxxxx题目: 十字路口交通灯的设计与实现初始条件:本设计既可以使用集成译码器、计数器、定时器、脉冲发生器和必要的门电路等,也可以使用单片机系统构建交通信号灯控制器。
用数码管显示时间计数值,用红、黄、绿LED作信号灯。
要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、课程设计工作量:1周。
2、技术要求:1)要求甲车道和乙车道两条交叉道路上的车辆交替运行(以红绿灯指示);变更车道以前,黄灯先亮5秒钟,黄灯亮时,要求每秒钟闪亮一次;两个车道均以减计数方式显示时间,用2位数码管显示。
2)两车道的灯亮时间关系为:甲车道绿、黄、红灯亮的时间分别为m秒、5秒、n秒;乙车道绿、黄、红灯亮的时间分别为n-5秒、5秒、m+5秒。
m和n可以预置。
3)确定设计方案,按功能模块的划分选择元、器件和集成电路,设计分电路,阐述基本原理。
4)绘制总体电路原理图。
3、查阅至少5篇参考文献。
按《武汉理工大学课程设计工作规范》要求撰写设计报告书。
全文用A4纸打印,图纸应符合绘图规范。
时间安排:1、2013 年月日,布置课设具体实施计划与课程设计报告格式的要求说明。
2、2013 年月日至2013 年月日,方案选择和电路设计。
3、2013 年月日至2013 年月日,电路调试和设计说明书撰写。
4、2013 年月日,上交课程设计成果及报告,同时进行答辩。
指导教师签名:年月日系主任(或责任教师)签名:年月日目录摘要 (I)一.方案分析与选择 (1)1.1 任务说明 (1)1.2 初步思路 (1)1.3 方案分析 (2)1.3.1 方案一 (2)1.3.2 方案二 (2)1.4 最终方案选择 (3)二. 单元电路的设计和元器件的选择 (4)2.1电路流程图 (4)2.2单元电路设计 (5)2.2.1秒脉冲模块 (5)2.2.2状态循环模块 (6)2.2.3计时器模块 (8)2.2.4置数模块 (9)2.2.5译码显示模块 (11)三.总电路设计 (13)四.电路仿真结果 (15)4.1 秒脉冲发生器仿真测试 (15)4.2总电路仿真测试 (16)五.收获与体会 (18)六.参考文献 (19)七.附录 (20)摘要随着城市化的发展,可以发现交通工具也在逐渐升级,然而它们带来的交通问题却日益严重,堵车等现象屡见不鲜。
武汉理工大学华夏学院课程设计报告书题目:十字路口交通灯的控制与上位计算机监控设计系名:信息工程系专业班级:自动化1133姓名:王**学号:指导教师:张素文2016 年1月12日课程设计任务书学生姓名:王** 专业班级:自动化1133指导教师:张素文工作单位:信息工程系题目:十字路口交通灯的控制与上位计算机监控设计一.初始条件1.给定交通灯控制的时序逻辑和工作模式;2.给出用于系统调试用的S7-300PLC、计算机及交通灯模型;3.给出PLC系统的编程软件。
4.给出上位机监控组态软件——组态王V6.53。
二.要求完成的主要任务㈠任务一:十字路口交通灯的PLC控制系统设计1. 控制要求十字路口交通信号灯按照预先规定的时序循环往复地工作。
一个循环周期内的时序逻辑如表1-1。
表中绿灯闪烁的频率为1HZ,亮500MS灭500MS循环。
2.程序设计要求:①的交通灯控制所要求的时序逻辑,要求用线性化编程和结构化编程两种编程方法来实现该控制逻辑。
要求用线性化编程和结构化编程两种编程方法来实现该控制逻辑。
②在结构化编程方法中,以某一方向的红灯和另一方向的绿灯和黄灯为控制对象编制FC1,OB1中调用FC1。
并且东西向和南北向灯只能调用同一个FC1。
③上述两种程序设计方法都要求使用符号地址。
㈡任务二:十字路口交通灯的上位计算机监控系统设计在计算机监控界面上设计如下的动态界面,要求达到:⑴设计起动和停止按钮或热键,并能实际操作使用;⑵设计东西南北方向的红、黄、绿色信号灯的动态显示及闪烁效果;⑶设计信号灯的倒计时数据显示界面。
三. 设计报告撰写要求◆内容要求一般要求包括如下内容:⑴目录编制课程设计的目录,目录的各级标题按照章节顺序排列,最多列到三级标题即可,如1.1.1。
⑵引言课程设计正文前的简短介绍。
包括本课题的设计目的、设计的主要过程及主要的设计内容。
⑶电路设计要求画出PLC的输入/输出接线图。
⑷PLC硬件组态要求列出硬件组态表。
最新单片机课程设计交通灯武汉理工大学《单片机应用实践》课程设计目录1。
概述11.1设计背景11.2设计任务12.系统规划和总体设计22.1 at89c52单片机硬件结构简介22.2 AT89C5222.2.1主要性能参数.32.2.2计时器.42.2.3晶体振荡器特性.42.3系统硬件系统设计.53.软件设计.82.1主程序流程图.83.2子程序显示流程图.93.3 PTOTUS模拟.93.4物理演示.114.课程设计经验12附录A年14名本科生课程设计成绩评价表.14 武汉理工大学《单片机应用实践》课程设计1。
概述1.1设计背景如今,随着人们生活水平的提高,使用的车辆越来越多,交通事故频繁发生交通灯的出现使交通得到有效控制,对缓解交通流量.提高道路通行能力.减少交通事故有明显效果。
交通灯在城市交通中起着重要的作用。
它们与人们的日常生活密切相关,是人们出行的安全保障。
因此,有必要提供一种可靠.安全.方便的多功能交通灯控制系统要解决这些问题,就要提高交通管理水平,合理利用现有交通设施,充分发挥其功能,提高交通效率,促进和谐交通的建立。
近年来,随着科学技术的飞速发展,单片机的应用不断深入,同时也推动着传统控制和检测系统的更新。
在实时检测和自动控制的单片机应用系统中,往往以单片机为核心部件,单有单片机知识是不够的,应根据具体的硬件结构和针对具体应用对象的特点进行软件组合来完善。
本系统设计了一种基于单片机的交通灯控制系统交通灯可以方便地控制,使交通更加和谐。
1.2设计任务在字路口设计一个红.黄.绿交通灯控制系统,控制车辆从北到南.从东到西1 武汉理工大学《单片机应用实践》课程设计2。
系统方案及总体设计2.1介绍AT89C52单片机在众多的单片机系列中,AT89C52是一款低功耗.高性能的8K8位单片机系列可编程闪存采用Atmel 的高密度非易失性存储器技术制造,与工业80C51产品说明和引脚完全兼容片上闪存允许在系统中对程序存储器进行编程,也适用于常规编程。
武汉理工大学本科生毕业设计(论文)中期进展情况检查报告学生姓名:导师姓名:所属学院:自动化学院专业班级:电气工程及其自动化1106班设计(论文)题目:基于FPGA的交通灯控制器设计检查日期: 2015年4月15日在已经完成的绪论部分,主要介绍了本次毕业设计研究课题的背景和意义,同时确定了基于FPGA的交通灯控制器的设计思路,接下来将对之后又完成的部分工作进行介绍。
在确定了交通灯控制器将由FPGA器件为主题来设计之后,首先要对FPGA器件进行学习,并了解其工作方式和功能实现的方法。
FPGA器件及其开发系统是开发大规模数字集成电路的新技术。
它利用计算机辅助设计,绘制出实现用户逻辑的原理图、编辑硬件描述语言等方式作为设计输入;然后经一系列转换程序、自动布局布线、模拟仿真的过程;最后生成FPGA器件的配置文件,用于对FPGA 器件初始化。
这样就实现了满足用户需要的专用集成电路,真正达到了用户自行设计、自行研制和自行生产集成电路的目的。
知道了FPGA器件的工作方法,还要能学会使用FPGA器件实际的完成某种特定的功能,而要实现这些功能,就要通过编写VHDL语言来对功能程序化,所以还要学会编写VHDL硬件描述语言程序,这也是整个毕业设计中最困难的部分。
VHDL的全称是VeryHighSpeedIntegratedCircuitHD(超高速集成电路硬件描述语言),起源于美国国防部的VHSIC,具有较高的抽象描述能力,而且系统硬件描述能力强,设计效率高。
VHDL语言通常包含实体(Enity)、结构体(Architecture)、配置(Configuration)、包集合(Package)和库(Library)五部分。
其中实体用于描述所设计的系统的外部接口信号;结构体用于描述系统内部的结构和行为,同时,建立输入和输出之间的关系;配置语句安装具体元件到实体—结构体对,可以被看做是设计的零件清单;包集合存放各个设计模块共享的数据类型、常数和子程序等;库是专门存放预编译程序包的地方。
2方案设计内容
2.1方案设计思路
方案设计要求南北方向和东西方向的交通信号灯的周期不一样,南北方向是红灯30秒、绿灯25秒、黄灯闪烁3秒。
东西方向是红灯25秒、绿灯20秒、黄灯闪烁5秒。
但是南北方向和东西方向是相对称的,其交通信号灯的状态转换图如下:
状态1
南北红灯亮25秒东西绿灯亮20秒
状态2
南北红灯亮5秒东西黄灯闪5秒
状态3
南北绿灯亮20秒东西绿灯亮20秒
状态4
南北黄灯闪5秒东西绿灯亮5秒
图2-1交通指示灯状态转换图
串接计数器使用。
它的管脚排列如图2-3所示:
图3-474LS161管脚图
表3-274LS164真值表。
目录摘要 ................................................ 错误!未定义书签。
1 设计初始条件及任务 (2)1.1 设计初始条件 (2)1.2 设计任务 (2)2 应用工具介绍 (3)2.1 Verilog语言介绍 (3)2.2 Max+plusⅡ软件介绍 (3)3 题目分析及方案确定................................ 错误!未定义书签。
4 系统硬件设计 (6)4.1 分频器的设计 (6)4.2控制器的设计 (6)4.3 计数器的设计 (7)4.4分位译码电路的设计 (8)4.5数码管驱动的设计—红灯和绿灯的驱动 (8)4.6数码管驱动的设计—黄灯的驱动 (9)4.7顶层连接图 (9)5 系统软件设计 (10)6 仿真与结果分析 (18)结束语 (25)参考文献 (26)附录本科生课程设计成绩评定表 (27)摘要当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。
绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。
红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
伴随着社会的发展以及人类生活水平的提高,EDA 技术的发展和应用领域的扩大与深入,EDA 技术在电子信息,通信,自动,控制及计算机应用等领域的重要性日益突出。
在现代城市中,随着技术市场与人才市场对DEA 的不断的增加,交通的问题日益突出,人口和汽车日益增长,市区交通也日益拥挤,人们的安全问题也日益重要。
单单依靠人力来指挥交通已经不可行了, 因此,红绿交通信号灯成为了交管部门管理交通的重要手段。
设计交通灯来完成这个需求就显的越加迫切了.为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。
关键词:EDA 交通灯电子控制1 设计初始条件及任务1.1设计初始条件1)计算机、Max+plusⅡ、EDA实验箱2)Quartus软件;3)课程设计辅导资料:“数字电路EDA入门”、“VHDL程序实例集”、“EDA技术与VHDL”、“EDA与数字系统设计”等;4)先修课程:电路、电子设计EDA、电子技术基础等。
5)门电路、组合逻辑电路、时序逻辑电路等。
1.2 设计要求指标实现南北和东西方向的交通控制,利用控制键对通行时间进行控制,可更改方向与通行时间的调整。
分别显示东西、南北方向的红、黄、绿指示灯,并且显示通行与等待时间。
提高部分:设置交通管制开关,选择规定方向的绿灯,其他方向为红灯,不显示通行与等待时间。
2应用工具介绍2.1 Verilog语言介绍Verilog HDL是目前应用最为广泛的硬件描述语言.可以用来进行各种层的逻辑设计,可以进行数字系统的逻辑综合,仿真验证和时序分析等。
适合算法级,寄存器级,逻辑和版图级等各个层次的设计和描述。
Verilog HDL进行设计最大的优点是其工艺无关性。
这使得工程师在功能设计,逻辑验证阶段可以不必过多考虑门级及工艺实现的具体细节,只需根据系统设计的要求施加不同的约束条件,即可设计出实际电路.Verilog HDL是一种硬件描述语言(hardware description language),为了制作数字电路而用来描述ASICs 和FPGA的设计之用。
Verilog 的设计者想要以 C 编程语言为基础设计一种语言,可以使工程师比较容易学习。
2.2 Max+plusⅡ软件介绍Max+plusⅡ是Altera公司提供的FPGA/CPLD开发集成环境,Altera是世界上最大可编程逻辑器件的供应商之一。
Max+plusⅡ界面友好,使用便捷,被誉为业界最易用易学的EDA软件。
在Max+plusⅡ上可以完成设计输入、元件适配、时序仿真和功能仿真、编程下载整个流程,它提供了一种与结构无关的设计环境,是设计者能方便地进行设计输入、快速处理和器件编程。
3题目分析及方案确定设甲车道和乙车道方向的车流量大致相同,因此红、黄、绿灯的时长也相同,考虑到黄灯的作用是警示已过停车线的司机尽快离开路口,而路口总宽度不变,因此将其固定为5秒,而红灯亮的时间等于绿灯亮的时间加上黄灯亮的时间,因此紧对绿灯点亮时间进行设置就可以同时改变红灯亮的时间,这里将绿灯所能设置的最长时间设置为40 秒即(0<1t<40)。
同时用数码管正计时指示当前状态(红、黄、绿)所亮的时间。
我们可自行设定,计数值与交通灯的亮灭的关系如图2-1所示:图3-1计数值与交通灯的亮灭关系该系统主要由计数模块、控制模块、分频模块、分位模块以及显示电路构成。
其中分频模块主要将系统输入的基准时钟信号转换是1Hz的激励信号。
驱动计数模块和控制模块工作,控制模块根据计数器的计数情况对交通灯的亮灭及持续时间进行控制,并通过分位电路将灯亮时间以倒计时的形式通过数码管显示出来。
交通灯控制器系统框图如图3-2所示:图3-2 交通灯控制系统框图4 硬件电路设计4.1分频器的设计分频器实现的是将高频时钟信号转换成低频的时钟信号,用于触发控制器和计数器。
控制模块的输入是由555产生的10HZ脉冲,输出是经过分频之后的1HZ 脉冲。
成的Symbol文件如图4-1所示。
图4-1分频器模块4.2控制器的设计控制器的作用是根据计数器的计数值及1t的输入数据控制发光二极管的亮、灭,以及输出正计时数值给七段数码管的分位译码电路。
此外,当检测到特殊情况(HOLD=‘1’)发生时,无条件点亮红灯的二极管。
本控制器可以有两种设计方法,一种是利用时钟烟的下降沿读取前级计数器的计数值,然后作出反应;另一种则是将本模块设计成纯组合逻辑电路,不需要时钟驱动。
这两种方法各有所长,必须根据所用器件的特性进行选择:比如有些FPGA 有丰富的寄存器资源,而且可用与组合逻辑的资源则相对较少,那么使用第一种方法会比较节省资源;而有些CPLD的组合逻辑资源则比较多,用第二种方法可能更好。
本控制器是利用时钟沿的下降沿读取前级计数器的计数值,然后作出反应。
生成的实体模块如图4-2所示。
图4-2 控制器模块4.3计数器的设计计数器1的计数范围为由1t引脚输入。
计到1t后,下一个时钟沿恢复到0,开始下一轮计数。
仿真波形如图当1t取7时,计数器计数到7后清零。
实体模块如图4-5所示。
计数器2、3实体模块如图4-6、4-7所示。
图3-5 计数器1模块图3-6 计数器2模块图3-7计数器3模块4.4分位译码电路的设计由于控制器输出的正计时数值可能是1位或者2位十进制数,因此在七段数码管的译码电路前要加上分位电路(即将其分成2个1位的十进制数,如40分成4和0,5分为0和5)。
与控制器一样,分位电路同样可以由时钟驱动,也可以设计成纯组合逻辑电路。
控制器中,引入了寄存器。
本电路中分位电路使用组合逻辑电路实现。
生成的实体模块如图4-8所示。
分位译码器1 分位译码器2图4-8分位译码电路模块4.5数码管驱动的设计——绿灯和红灯驱动要求数码管共阳极连接(共阳极的公共端为低电平时,LED不亮),在计中为每个数码管都添加了一个驱动电路,在使用时通过调用模块来实现。
本模块设计为时序逻辑电路,采用下降沿触发。
实体模块如图4-9所示。
图4-9 驱动模块4.6 数码管驱动的设计——黄灯驱动由于黄灯固定时间是5 秒,因此变化范围是0 至5 秒,七段数码管只要能显示0-5 的数就行了,所以单独用一个数码管驱动。
实体模块如图4-10所示。
图4-10 黄灯驱动模块4.7 顶层连接图交通灯控制器的顶层文件连接图如图4-11所示。
图4-11 顶层文件连接图在图4-11中,绿灯计数器直接接分位译码器1,红灯计数器直接接分位译码器2,每个译码器分别接两个驱动电路,然后接输出。
左边5个驱动器接的数码管显示的是甲车道各个灯亮的时间,右边5个驱动器接的数码管显示的是乙车道各个灯亮的时间。
5程序设计5.1分频器设计library ieee;use ieee.std_logic_1164.all;entity fredevider is ----------分频器port(clkin:in std_logic;clkout:out std_logic);end;architecture devider of fredevider isconsta nt N:integer:=499;signa l counter:integer range 0 to N;signa l Clk:std_logic;beginprocess(clkin)beginif rising_ed ge(clkin)thenif Counter=N thencounter<=0;clk<=not clk;elsecounter<=counter+1;end if;end if;end process;clkout<=clk;end;5.2 控制器的设计控制器的作用是根据计数器的计数值控制发光二极管的亮、灭,以及输出正计时数值给七段译码管的分译码电路。
library ieee;use ieee.std_logic_1164.all;entity control is -----------控制器port (clk :in std_logic;c1,c2,c3:out std_logic; ------计数器工作时能信号,为1 时计数w1,w2,w3:in std_logic; ------计数器指示信号,在计数过程中,相应的指示信号为0,计数结束时为1r1,r2 :out std_logic; ------分别为甲乙车道红灯y1,y2 :out std_logic; -------分别为甲乙车道黄灯g1,g2 :out std_logic; ------分别为甲乙车道绿灯reset :in std_logic); -------复位信号,高电平有效end control ;architecture a of control istype state_space is (s3,s2,s1,s0) ; -----四种状态signa l state : state_space ;beginprocess (clk)beginif reset='1' thenstate<=s0; --------复位时状态为S0else if (clk'event and clk='1') then -------时钟上升沿到来case state iswhen s0=>if w1='1' thenstate<=s1;end if ;when s1=>if w2='1' thenstate<=s2;end if ;when s2=>if w3='1' thenstate<=s3;end if ;when s3=>if w2='1' thenstate<=s0;end if ;end case;end if;end if;end process;c1<='1'when state =s0 else '0';c2<='1'when state =s1 or state =s3 else '0';c3<='1'when state =s2 else '0';r1<='1'when state =s1 or state =s0 else '0';y1<='1'when state =s3else '0';g1<='1'when state =s2 else '0';r2<='1'when state =s2 or state =s3 else '0';y2<='1'when state =s1 else '0';g2<='1'when state =s0 else '0';end a ;5.3计数器的设计5.3.1 绿灯计数器library ieee;use ieee.std_logic_1164.all;entity counter1 isport (clk :in std_logic;enable :in std_logic;t1 :in integer range 0 to 40 ; -------绿灯可设置亮的时间c1 :out std_logic);end counter1 ;architecture a of counter1 isbeginprocess (clk)variable cnt : integer range 0 to 40 ; -----变量cnt 定义为常数,取值范围为0到40 beginif (clk'event and clk='1') then -----时钟上升沿到来if enable='1'a nd cnt<t1 then -----使能信号为1,并且cnt 小于t1 时cnt:=cnt+1; ------加计数elsecnt:=0;end if ;if cnt=t1 thenc1<='1'; ---------乙道开始通行,S0 状态elsec1<='0';end if ;end if ;end process;end a ;5.3.2 红灯计数器library ieee;use ieee.std_logic_1164.all;entity counter2 isport (clk :in std_logic;enable :in std_logic;t1 :in integer range 0 to 40 ;c2 :out std_logic);end counter2 ;architecture a of counter2 isconsta nt y:Integer:=5; ---------黄灯固定时间为5 秒signa l t2 : integer range 0 to 45; -------红灯亮的时间beginprocess (clk)variable cnt : integer range 0 to 45 ; ----------变量cnt 定义为常数,取值范围为0到45 begint2<=t1+y;if (clk'event and clk='1') then -------时钟上升沿到来if enable='1'a nd cnt<t2 then -----使能信号为1,并且cnt 小于t2 时cnt:=cnt+1;elsecnt:=0;end if ;if cnt=t2 thenc2<='1'; -------工作在S1 或S3 状态elsec2<='0';end if ;end if ;end process;end a;5.3.3 黄灯计数器library ieee;use ieee.std_logic_1164.all;entity counter3 isport (clk :in std_logic;enable :in std_logic;c3 :out std_logic;m3 :out integer range 0 to 5 );end counter3;architecture a of counter3 isbeginprocess (clk)variable cnt : integer range 0 to 5 ; -------变量cnt 定义为常数,取值范围为0到5 beginif (clk'event and clk='1') then -----时钟上升沿到来if enable='1'a nd cnt<5 then -----使能信号为1,并且cnt 小于5 时cnt:=cnt+1; ------加计数elsecnt:=0;end if ;if cnt=5 thenc3<='1'; ---------工作在S2 状态elsec3<='0';end if ;end if ;m3<=cnt;end process;end a ;5.4 分位译码电路设计5.4.1 分位译码电路设计1LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY Fenwei1 ISPORT(Numin:IN integer RANGE 0 TO 45;NumA,NumB:OUT Integer RANGE 0 to 9 -------绿灯亮的时间,十位和个位数字);END;RCHITECTURE behavior OF Fenwei1 ISBEGINprocess(Numin)BEGINIF Numin>=40 THEN -------输入计时数据大于40NumA<=4; -------把十位数字送给ANumB<=Numin-40; -------把个位数字送给BELSIF Numin>=30 THENNumA<=3;NumB<=Numin-30;ELSIF Numin>=20 THENNumA<=2;NumB<=Numin-20;ELSIF Numin>=10 THENNumA<=1;NumB<=Numin-10;ELSENumA<=0;NumB<=Numin;END IF;END PROCESS;END;5.4.2 分位译码电路的设计2LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY Fenwei2 ISPORT(Numin:IN integer RANGE 0 TO 45;NumC,NumD:OUT Integer RANGE 0 to 9 -----红灯亮的时间,十位和个位);END;ACHITECTURE behavior OF Fenwei2 ISBEGINprocess(Numin)BEGINIF Numin>=40 THENNumC<=4;NumD<=Numin-40;ELSIF Numin>=30 THENNumC<=3;NumD<=Numin-30;ELSIF Numin>=20 THENNumC<=2;NumD<=Numin-20;ELSIF Numin>=10 THENNumC<=1;NumD<=Numin-10;ELSENumC<=0;NumD<=Numin;END IF;END PROCESS;END;5.5 数码管驱动的设计5.5.1 红绿灯驱动LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY qudong ISPORT(clk:in STD_LOGIC;enable :in std_logic;data:IN integer RANGE 0 TO 9; ------输入数字segout: out STD_LOGIC_VECTOR(6 downto 0)); -------七段显示器输出END;ARCHITECTURE behavior OF qudong ISBEGINprocess(Clk,data)BEGINIF falling_edge(Clk) and enable='1' then ------下降沿到来和使能信号为1 时case data iswhen 0=>segout<="1111110";when 1=>segout<="0110000";when 2=>segout<="1101101";when 3=>segout<="1111001";when 4=>segout<="0110011";when 5=>segout<="1011011";when 6=>segout<="0011111";when 7=>segout<="1110000";when 8=>segout<="1111111";when 9=>segout<="1110011";when others =>null;END CASE;END IF;END PROCESS;END;5.5.2 黄灯驱动LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY HDqudong IS ---------黄灯驱动PORTclk:in STD_LOGIC;enable :in std_logic;data:IN integer RANGE 0 TO 5; ------黄灯变化范围segout: out STD_LOGIC_VECTOR(6 downto 0)); END;ARCHITECTURE behavior OF HDqudong IS BEGINprocess(Clk,data)BEGINIF falling_edge(Clk) and enable='1' then case data iswhen 0=>segout<="1111110";when 1=>segout<="0110000";when 2=>segout<="1101101";when 3=>segout<="1111001";when 4=>segout<="0110011";when 5=>segout<="1011011";when others =>null;END CASE;END IF;END PROCESS;END;6仿真与结果分析6.1分频器仿真在QuartusII软件中导入交通灯控制程序,对此程序编译无错误后,建立Vector waveform file 文件保存时仿真文件名要与设计文件名一致。