0013、非常形象的交通灯控制设计
十字路口交通灯控制设计—霓虹灯控制设计(PLC设计课件)

任务二
霓虹灯控制设计
按下启动按钮,霓虹灯由内向外, 再由外向内点亮
一、控制要求分析
控制要求
启钮SB1[按下→松开]
[霓虹灯亮(由内至外,再由外至内)]
停钮SB2[按下→松开]
霓虹灯[灭]
一、控制要求分析
最内圈A灯亮1-5S
一、控制要求分析
中间一圈8个 灯亮2-4S
项目三:十字路口交通灯控制设计
任务二
霓虹灯控制设计
按下启动按钮,霓虹灯由内向外, 再由外向内点亮
二、硬件电路-I/O分配
设备
输入 输出
符号
SB1 SB2 D1 D2 D3 D4 D5 D6 D7 D8 D9 D10 D11 D12 D13 D14 D15
功能
启动按钮(常开触点) 停止按钮(常开触点)
A灯 B灯 C灯 D灯 E灯 F灯 G灯 H灯 I灯 J灯 K灯 L灯 M灯 N灯 O灯
地址
I0.0 I0.1 Q0.0 Q0.1 Q0.2 Q0.3 Q0.4 Q0.5 Q0.6 Q0.7 Q1.0 Q1.1 Q1.2 Q1.3 Q1.4 Q1.5 Q1.6
二、硬件电路-PLC外部电路接线
A B C D E F G H I J K LM N O
任务二
霓虹灯控制设计
按下启动按钮,霓虹灯由内向外, 再由外向内点亮
四、梯形图设计---接通延时定时器
四、梯形图设计---接通延时定时器
6S瞬时断开 完成循环
并联 ,同时 开始 计时
四、梯形图设计---接通延时定时器
并联 ,同时 开始 计时
四、梯形图设计---接通延时定时器
四、梯形图设计---接通延时定时器
交通灯智能控制系统设计

其发射接收电路如下所示:
+12V R6 500
PT1
1 2 3 4 5 6 7 8 9
A0 VDD
A1 DOUT
A2 OSC1
A3 OSC2
A4
TE
A5 A11/D0
A6 A10/D1
A7 A9/D2
VSS A8/D3
PT2262
18
R5
17
R4
16
2K
15
14
470K
13
12
S17
11
10
+12V
4)直行绿灯通行时间可以根据道路上的交通车辆情况在 10—60秒范围内进行任意调节。
系统硬件设计
系统总体框图如下:
南北检测点
急 车 强
AT89S51单片机系统
南北红黄绿灯时间显 示模块
行
模 块
东西红黄绿灯时间显 示模块
东西检测点
本系统电路主要由以下几部分构成: • 车流量检测电路模块 • 信号灯电路模块 • 时间显示电路模块 • 急车检测电路模块 • 电源电路模块 • 看门狗电路模块 • 键盘电路模块
GND
C2 2000uF
C4 0.33uF
C6 0.1uF
VR1 MC7812
+12V
+12V
GND
C1 2000uF
C3 0.33uF
C5 0.1uF
+12V R6 500
VR2 MC7805 +5V +5V
L19
Y15 GND Y14 Y13 OE2 Y12 OE1 Y11 Y10 Y9 Y8 A3 Y7 A2 Y6 A1 Y5 A0 Y4 Y3 Y2 Y1 Y0
交通灯的设计(完全版)

前言十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。
十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。
当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。
它们一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。
在交通灯的通行与禁止时间控制显示中,通常要么东西、南北两方向各50秒;要么根据交通规律,东西方向60秒,南北方向40秒,时间控制都是固定的。
交通灯的时间控制显示,以固定时间值预先“固化”在单片机中,每次只是以一定周期交替变化。
但是,实际上不同时刻的车辆流通状况是十分复杂的,是高度非线性的、随机的,还经常受认为因素的影响。
采用定时控制经常造成道路有效应用时间的浪费,出现绿灯方向车辆较少,红灯方向车辆积压。
它不顾当前道路上交通车辆数的实际情况变化,其最大的缺陷就在于当路况发生变化时,不能满足司机与路人的实际需要,轻者造成时间上的浪费,重者直接导致交通堵塞,导致城市交通效率的下降。
目前,有一种使用“模糊控制”技术控制交通灯的方法。
能够根据十字路口两个方向上车辆动态状况,自动判断红绿灯时间间隔,以保证最大车流量,减少道口的交通堵塞。
但是却不像定时控制,能用数字显示器显示当前灯色剩余时间,以便于驾驶员随时掌握自己的驾驶动作,及时停车或启动。
本次课程设计采用定时加中断控制的方式进行,对两个方向车辆的通行时间分别计时,可随意进行更改双向的通行时间。
目录第一章概述--------------------------------------------------------------------------------51.1 拟交通灯设计的目的---------------------------------------------------------51.2 设计要求------------------------------------------------------------------------51.3 模拟交通灯的工作原理------------------------------------------------------5 第二章交通信号灯实时控制和管理的总体设计----------------62.1设计器材-------------------------------------------------62.2、控制系统的任务、内容和总体要-----------------------------------------62.3、实验流程图图及相关说明--------------------------------------------------72.4设计原理-------------------------------------------------------------------------92.5 电路接线图---------------------------------------------------------------------102.6程序设计-------------------------------------------------------------------------112.7设计过程-------------------------------------------------------------------------152.8、源程序预期运行结果--------------------------------------------------------16第三章模拟交通灯的组装--------------------------------------------------163.1器件排列--------------------------------------------------------------------------17 3.2 信号连线-------------------------------------------------------------------------17 3.3实验接线板安装------------------------------------------------------------------17第四章模拟交通灯的调试--------------------------------------------------17 4.1 硬件检测--------------------------------------------------------------------------18 4.2 软件调试-------------------------------------------------------------------------18第五章源程序-----------------------------------------------------------------------------19小结-------------------------------------------------------------------------------------------------23参考文献----------------------------------------------------24安徽工程科技学院本科生课程设计任务书2009 届计算机科学与工程系计算机科学与技术专业Ⅰ课程设计题目:实验计算机利用FD—CES 实验仪提供的硬件资源(功能模块、控制台及外设等),按设计、组装、调试等步骤研制一台微程序控制的实验计算机。
交通灯控制系统设计

交通灯控制系统设计1. 引言交通灯是城市道路交通管理的重要组成部分,合理的交通灯控制系统设计能够有效地提升交通流量的运行效率、减少交通事故的发生率。
本文将着重介绍一种基于现代技术的交通灯控制系统设计方案。
2. 系统架构交通灯控制系统主要由以下几个部分组成:2.1 传感器模块传感器模块负责感知道路上的车辆流量和行人流量。
常用的传感器包括车辆感应器、红外线传感器等。
传感器模块可以通过将其数据传输给主控制模块,供其做出相应的控制决策。
2.2 主控制模块主控制模块是整个交通灯控制系统的核心,它根据传感器模块的数据和事先设定好的控制策略,决定每个交通灯灯头的状态。
主控制模块通常由计算机或嵌入式系统实现,具备一定的处理能力和存储能力。
2.3 通信模块通信模块用于实现主控制模块和交通灯灯头之间的通信。
通过通信模块,主控制模块可以向交通灯灯头发送控制命令,以及接收交通灯灯头的状态信息。
常用的通信方式包括有线通信和无线通信。
2.4 交通灯灯头交通灯灯头是系统中的最终执行器,它根据主控制模块发送的控制命令控制相应的交通灯状态。
传统的交通灯灯头通常由灯泡组成,而现代的交通灯灯头则采用LED灯进行显示,LED灯具有亮度高、能耗低等优点。
3. 系统设计考虑因素在进行交通灯控制系统设计时,需要考虑以下几个因素:3.1 交通流量和行人流量交通灯控制系统的主要目的是保证交通流量和行人流量的有序进行。
因此,在设计过程中需要全面考虑道路的交通量和行人流量情况,以及不同时段的交通状况。
3.2 交通流动性和道路容量交通流动性是指交通流量在给定时间和空间范围内的运行效率,而道路容量则是指道路在单位时间内能够容纳的最大交通流量。
在设计交通灯控制系统时,需要通过合理的控制策略来提高交通流动性和道路容量。
3.3 能源和环境影响交通灯控制系统需要消耗一定的能源,因此,在设计过程中需要考虑节能和环保因素。
比如,可以采用LED灯替代传统的灯泡,以减少能源消耗。
交通灯控制电路设计-方案

交通灯控制电路设计一、设计任务与要求设计一个十字路口交通信号灯控制器,其中红灯〔凤亮,表示该条路禁止通行;黄灯〔丫〕亮表示停车;绿灯〔G〕亮表示允许通行。
其要求如下:1.设南北方向的红、黄、绿灯分别为 NSR NSY NSG东西方向的红、黄绿灯分别为EWR EWY EWG2.满足两个方向的工作时序:东西方向红灯亮的时间应等于南北方向黄、绿灯亮的时间之和;南北方向红灯亮的时间应等于东西方向黄、绿灯亮的时间之和。
一个周期为60秒,其中,绿灯亮25秒,黄灯亮5秒,红灯亮30秒。
其中NSG (EWR- NSR( EW)黄灯用于闪烁提示绿灯变为红灯。
交通灯顺序工作流程图如图1所示:图1交通灯顺序工作流程图,3.十字路口要有数字显示装置,作为时间提示,以便人们更直观地把握时间。
具体要求为:当某方向绿灯亮时,置计数器为某一数值,然后以每秒减1的计数方式工作,直至减到数为“ 0”,十字路口红、绿灯交换,一次工作循环结束,进入另一个方向的工作循环。
例如:当南北方向从红灯转换成绿灯时,置南北方向数字显示为29,并使数显计数器开始减“ 1”计数,当减法计数到绿灯灭而黄灯亮(闪耀)时,数码管显示的数值应为 4,当减法计数到“ 0”时,黄灯灭,而南北方向的红灯亮;同时,使得东西方向的绿灯亮,并置东西方向的数码管的显示为29。
4.可以通过开关将交通灯手动调整为夜间状态,夜间状态为只有黄灯闪耀。
黄灯一直闪耀,提醒过往行人注意。
二、总体框图:根据设计任务和设计要求,我们可以从三个部分考虑。
1.交通灯的灯显部分由于交通灯显示的时间分别为绿灯亮 25秒,黄灯亮5秒,红灯亮30 秒, 所以灯显时间周期为60秒。
由于绿、黄、红灯亮的时间比例为5: 1: 6,所以计数器每工作循环周期为12,可以选用12进制的计数器。
我选用了中规模74LS164八位移位寄存器组成扭环形 12进制计数器。
由74LS164来控制各路口灯的亮灭。
另外,由于设计要求电路可以通过开关将交通灯手动调整为夜间状态,夜间状态为只有黄灯闪耀。
交通灯控制电路设计

交通灯控制电路设计交通灯是城市交通管理的重要组成部分,通过交通灯控制电路来控制交通信号灯的亮灭,可以使交通流畅有序,提高交通效率和安全性。
下面将详细介绍交通灯控制电路的设计。
首先是输入接口部分。
交通灯控制电路可以通过光电传感器或者车辆探测器等装置来获取交通流量信息,并将其转化成电信号输入到控制电路中。
光电传感器一般采用红外线或激光来感应车辆的到来,车辆探测器则通过地感线圈感应车辆进入或离开的情况。
这些输入装置可以将车辆信息转化成电信号,为后续控制提供数据支持。
接下来是逻辑控制部分。
交通灯的控制有固定时间控制和可调控制两种方式,可以根据实际需要选择。
固定时间控制往往采用时序控制器来实现,时序控制器根据预设的时间来控制交通信号灯的亮灭。
可调控制则需要根据交通流量实时情况来动态调整交通信号灯的运行状态,可以采用微处理器或者PLC控制器来实现。
逻辑控制部分会根据输入接口的数据以及预设的控制规则进行相应的处理,控制交通信号灯的转换。
最后是输出接口部分。
输出接口部分主要是将控制信号转化成驱动交通信号灯的电信号。
交通信号灯一般有红、黄、绿三种颜色,分别表示停、警示和行。
通过驱动器来控制交通信号灯的亮灭状态,驱动器一般由继电器、晶体管等元件组成。
输出接口部分将逻辑控制部分产生的控制信号转化成驱动交通信号灯的电信号,实现交通信号灯的亮灭控制。
首先是稳定性。
交通灯控制电路应具有良好的稳定性,能够在各种环境条件下正常工作,不受外界干扰。
稳定性可以通过增加滤波电路和抗干扰设计来实现。
其次是可靠性。
交通灯是城市交通管理的重要设施,因此交通灯控制电路需要具备高可靠性,能够长时间稳定工作,减少故障率和维护成本。
再次是安全性。
交通灯控制电路在设计时需要遵循安全原则,确保交通灯的控制不会产生误操作,保证交通安全。
最后是灵活性。
交通灯控制电路应具备一定的灵活性,能够根据实际需要进行调整和扩展,以适应交通流量的变化和城市的发展。
综上所述,交通灯控制电路设计是一个涉及多个方面的复杂工程,需要根据实际需求和要求进行综合设计。
交通灯控制设计实验报告
安徽科技学院《数字电子技术课程设计》设计报告设计题目:交通灯控制设计班级:网络工程121姓名:丁俊杰学号:********** 成绩:评阅人:吕跃凤安徽科技学院理学院目录一、设计要求(一)设计指标(二)设计要求(三)制作要求(四)编写设计报告二、原理框图三、单元电路设计四、设计步骤及方法五、总结六、参考文献交通灯控制的设计交通灯控制电路是通过采用数字电路设计的,提出使交通灯控制电路用数字信号自动控制十字路口两组红、黄、绿交通灯的状态转换的新方法,指挥各种车辆和行人的安全通行,实现十字路口交通管理的自动化。
设计要求(一)设计指标1.为十字交叉路口设计两组信号灯控制,每组有红,绿,黄三色信号灯显示。
各干信号灯顺序为:红→绿→黄→红→绿……,东西方向红灯亮的时间等于南北方向黄绿灯亮之和。
2.设置一组数码管,以倒计时的方式显示可以通过的或者禁止通行的时间。
3附加功能:当各条路上任意一条路上出现故障或有救护车,消防车等通过时,各方向都是红灯亮,倒计时停止,且显示数字在闪烁。
当特殊情况结束后,控制其恢复正常。
(二)设计要求1、画出电路原理图(或仿真电路图);2、元器件及参数选择;3、电路仿真与调试;(三)制作要求自行装配和调试,并能发现问题和解决问题。
(四)便携设计报告写出设计与制作的全过程,附上有关资料和图纸,有心得体会二、原理框图交通灯控制系统的原理框图如下图所示。
它主要由控制器、定时器、译码器和秒脉冲信号发生器等部分组成。
秒脉冲发生器是该系统中定时器和控制器的标准时钟信号源,译码器输出两组信号灯的控制信号,经驱动电路后驱动信号灯工作,控制器是系统的主要部分,由它控制定时器和译码器的工作。
交通灯控制系统的原理框图图中:TL: 表示甲车道或乙车道绿灯亮的时间间隔为25秒,即车辆正常通行的时间间隔。
定时时间到,TL=1,否则,TL=0。
TY:表示黄灯亮的时间间隔为5秒。
定时时间到,TY=1,否则,TY=0。
交通灯控制电路设计.
交通灯控制电路设计作者姓名:2B专业名称:测控技术与仪器指导教师:2B 讲师摘要本设计主要分为三大模块:输入控制电路、时钟控制电路和显示电路。
以AT89C51单片机为中心器件来设计交通灯控制器,实现了AT89C51芯片的P0口设置红灯、绿灯和黄灯的燃亮功能;为了系统稳定可靠,采用了74LS14施密特触发器芯片的消抖电路,避免了系统因输入信号抖动产生误操作;显示时间直接通过AT89C51的P2口输出,由CD4511驱动LED数码管显示红灯燃亮时间。
关键词:AT89C51 LED显示交通灯控制AbstractThis design mainly divided into three modules: input control circuit, control circuit and the clock display circuit. With AT89C51 single-chip microcomputer as the center device to designing traffic light controller, realize the AT89C51 chip P0 mouth red lights, a green light and set up the yellow lights brighten function; In order to system is stable and reliable, and USES 74 LS14 Schmitt toggle circuit chip away shaking, to avoid the system for the input signal jitter produce false operation; Show time directly through the P2 mouth AT89C51 output, driven by CD4511 LED digital display red light lit the time.Keywords: AT89C51, LED, display, traffic, control目录摘要 ................................................................. II ABSTRACT ........................................................... III 目录 ................................................................ IV 1 绪论 (1)1.1道路交通控制的发展背景 (1)1.2道路交通控制的目的和作用 (1)2 设计方案与比较 (2)2.1设计任务 (2)2.2总体方案设计 (3)2.2.1 方案比较 (3)2.2.2方案论证与确定 (4)3 系统原理分析 (5)3.1工作原理简介 (5)3.2总体方框图见图4 (5)3.3系统电路模块分析 (5)3.3.1 消抖电路 (5)3.3.2 振荡、时钟电路和CPU时序 (6)3.3.3 复位电路 (8)3.3.4 LED驱动显示电路 (8)3.3.5 AT89C51芯片控制电路 (11)3.3.6 辅助电源设计 (15)3.4程序设计 (15)3.4.1 主程序设计 (15)3.4.2 P0口的算法 (16)3.4.3 程序流程图 (17)4 元件参数设定 (19)4.1复位元件电路选折 (19)4.2消抖电路元件选折 (19)5 系统调试 (20)5.1系统的调试与故障排除 (20)5.1.1 硬件调试 (20)5.1.2 软件调试 (20)5.2系统的实际效果 (21)6 结束语 (21)[参考文献] (22)附录 (23)DJNZ R1, DEL2 (26)1 绪论1.1 道路交通控制的发展背景随着经济发展,城市化速度加快,机动车辆占有量急剧增加,由此引发出日益严重的交通问题:交通拥挤甚至堵塞,交通事故频繁,空气和噪声污染严重,公共运输系统效率下降等。
交通灯控制课程设计
交通灯控制课程设计一、课程目标知识目标:1. 理解交通灯的基本工作原理,掌握交通灯控制系统的组成及功能。
2. 学会使用常见电子元件,如LED灯、继电器、按钮等,并能运用到交通灯控制电路中。
3. 了解并掌握基本的编程知识,实现对交通灯控制系统的编程设计。
技能目标:1. 能够运用所学知识,设计并搭建一个简单的交通灯控制系统。
2. 培养动手实践能力,学会使用工具和仪器进行电路连接和调试。
3. 提高问题解决能力,能够针对实际交通灯控制问题进行分析和改进。
情感态度价值观目标:1. 培养学生的团队合作精神,学会在小组合作中发挥个人优势,共同完成任务。
2. 激发学生对电子技术和编程的兴趣,提高对科学技术的热爱和认识。
3. 增强学生的社会责任感,使他们认识到交通灯控制系统在交通安全中的重要性。
本课程针对中学生设计,结合学生的年龄特点和认知水平,注重理论与实践相结合。
课程性质为实践性、探究性,旨在培养学生的动手能力、创新能力和团队合作能力。
通过本课程的学习,学生能够将所学知识应用于实际情境,解决实际问题,同时培养积极的学习态度和价值观。
教学要求注重过程评价,关注学生在学习过程中的表现和成果,确保课程目标的实现。
二、教学内容1. 交通灯控制系统基础知识- 介绍交通灯的基本工作原理及功能。
- 交通灯控制系统的组成,包括控制器、信号灯、传感器等。
2. 常用电子元件及应用- 学习LED灯、继电器、按钮等电子元件的原理和使用方法。
- 结合交通灯控制系统,分析这些元件在电路中的应用。
3. 编程设计- 掌握基本的编程知识,如顺序结构、循环结构等。
- 学习使用编程软件,编写交通灯控制程序。
4. 实践操作- 设计并搭建交通灯控制系统电路。
- 进行电路连接、调试和优化。
5. 课程进度安排- 第一课时:交通灯控制系统基础知识,学习常用电子元件。
- 第二课时:编程设计,编写交通灯控制程序。
- 第三课时:实践操作,搭建电路,进行连接和调试。
设计一个十字路口的交通灯控制系统
设计一个十字路口的交通灯控制系统,用实验平台上的LED发光二极管显示车辆通过的方向(东西和南北各一组),用数码管显示该方向的剩余时间。
要求:工作顺序为东西方向红灯亮45秒,前40秒南北方向绿灯亮,后5秒黄灯亮。
然后南北方向红灯亮45秒,前40秒东西方向绿灯亮,后5秒黄灯亮。
依次重复。
有紧急事件时允许将某方向一直开绿灯或者开红灯,另外允许特定情况两方向均为红灯,车辆禁行,比如十字路口恶性交通事故时,东西,南北两个方向均有两位数码管适时显示该方向亮灯时间。
问题补充:我是要做课程设计,只要有程序就行最佳答案---------------------------交通灯控制器设计?-------led显示规律:东西方向绿灯,而南北方向红灯---------------------------——东西方向绿灯灭,黄灯亮,南北方向仍然红灯---------------------------——//南北方向绿灯,而东西方向红灯。
// library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity jiaotongLED isgeneric(-----------------------------------定义灯亮的时间east_green_cnt:integer:=40;------------东西方向主干道绿灯east_yellow_cnt:integer:=5;------------东西方向主干道黄灯south_green_cnt:integer:=40;-----------南北方向支干道绿灯south_yellow_cnt:integer:=5;-----------南北方向支干道黄灯exi_cnt:integer:=120);-----------------紧急车辆通行时间port(clk:in std_logic;rst:in std_logic;----------------------复位信号exi_sign:in std_logic;-----------------紧急车辆信号east_green_led:out std_logic;east_yellow_led:out std_logic;east_red_led:out std_logic;south_green_led:out std_logic;south_yellow_led:out std_logic;south_red_led:out std_logic);end jiaotongLED;------------------------------------architecture ex of jiaotongLED istype states is(s0,s1,s2,s3,s4);signal state1:states:=s0;signal state:states:=s0;signal cnt:integer range 0 to 150;signal save_cnt:integer;signal enable_cnt:std_logic:='0';begin-----------------------------------------u1:process(rst,clk)-----------------------------信号灯的时间状态的转换beginif rst='1' then-----------------------------判断是否按下复位state<=s0;cnt<=1;elsif clk'event and clk='1' thenif enable_cnt='1' thencnt<=cnt+1;elsecnt<=1;end if;case state iswhen s0=>if exi_sign='1' then----------------判断是否紧急车辆save_cnt<=cnt;state1<=s0;state<=s4;elsif(cnt=east_green_cnt)thenstate<=s1;elsestate<=s0;end if;when s1=>if exi_sign='1' thensave_cnt<=cnt;state1<=s1;state<=s4;elsif(cnt=east_yellow_cnt)thenstate<=s2;elsestate<=s1;end if;when s2=>if exi_sign='1' thensave_cnt<=cnt;state1<=s2;state<=s4;elsif(cnt=south_green_cnt)thenstate<=s3;elsestate<=s2;end if;when s3=>if exi_sign='1' thensave_cnt<=cnt;state1<=s3;state<=s4;elsif(cnt=south_yellow_cnt)thenstate<=s0;elsestate<=s3;end if;when s4=>if(cnt=exi_cnt)thencnt<=save_cnt;state<=state1;end if;end case;end if;end process u1;---------------------------------------------------u2:process(state)--------------------------------------信号灯的状态显示begincase state iswhen s0=>east_green_led<='1';east_yellow_led<='0';east_red_led<='0';south_green_led<='0';south_yellow_led<='0';south_red_led<='1';enable_cnt<='1';if(cnt=east_green_cnt)thenenable_cnt<='0';-----------------------已达到东西方向绿灯亮时间,暂停计数end if;when s1=>east_green_led<='0';east_yellow_led<='1';east_red_led<='0';south_green_led<='0';south_yellow_led<='0';south_red_led<='1';enable_cnt<='1';if(cnt=east_yellow_cnt)then enable_cnt<='0';end if;when s2=>east_green_led<='0';east_yellow_led<='0';east_red_led<='1';south_green_led<='1';south_yellow_led<='0';south_red_led<='0';enable_cnt<='1';if(cnt=south_green_cnt)then enable_cnt<='0';end if;when s3=>east_green_led<='0';east_yellow_led<='0';east_red_led<='1';south_green_led<='0';south_yellow_led<='1';south_red_led<='0';enable_cnt<='1';if(cnt=south_yellow_cnt)then enable_cnt<='0';end if;when s4=>east_green_led<='0';east_yellow_led<='0';east_red_led<='1';south_green_led<='0';south_yellow_led<='0';south_red_led<='1';enable_cnt<='1';if(cnt=exi_cnt)thenenable_cnt<='0';end if;end case;end process u2;end ex;这个很简单的,程序应该是没有问题的,我运行过~~~如果还有问题可以+百度知道,vhdl的....。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
P1=0x00;
while(Time_SN>=0)
{Flag_SN_Yellow=1;//SN开黄灯信号位
EW_Red=1; //SN黄灯亮,等待停止信号,EW红灯
Display();}
/***********赋值**********/
EW=EW1;
SN=SN1;
EW_Red=1; //SN黄灯亮,等待左拐信号,EW红灯
Display();
}
/*******S2状态**********/
Flag_SN_Yellow=0; //SN关黄灯显示信号
Time_SN=SNL;
while(Time_SN>=5)
{P1=S[2];//SN左拐绿灯亮,EW红灯
Display();}
sbit SN_Red=P1^7;//SN红灯
sbit EW_ManGreen=P3^0;//EW人行道绿灯
sbit SN_ManGreen=Байду номын сангаас3^1;//SN人行道绿灯
sbit Special_LED=P2^6;//交通正常指示灯
sbit Busy_LED=P2^7;//交通繁忙指示灯
sbit Nomor_Button=P3^5;//交通正常按键
sbitEW_LED1=P2^2;//EW_LED1控制位
sbitSN_LED2=P2^1;//SN_LED2控制位
sbitSN_LED1=P2^0;//SN_LED1控制位
sbit SN_Yellow=P1^6;//SN黄灯
sbit EW_Yellow=P1^2;//EW黄灯
sbit EW_Red=P1^3;//EW红灯
uchar code S[8]={0X28,0X48,0X18,0X48,0X82,0X84,0X81,0X84};//交通信号灯控制代码
/**********************延时子程序************************/
voidDelay(uchara)
{
uchari;
i=a;
SN1-=5;
if(EW1<=40)
{
EW1=40;
SN1=20;
}
}
if(Nomor_Button==0)//测试按键是否按下,按下为正常状态
{
EW1=60;
SN1=40;
EWL1=19;
SNL1=19;
Busy_LED=0;//关繁忙信号灯
Special_LED =0;//关特殊信号灯
}
if(Busy_Btton==0) //测试按键是否按下,按下为繁忙状态
while(i--){;}
}
/*****************显示子函数**************************/
voidDisplay(void)
{
char h,l;
h=Time_EW/10;
l=Time_EW%10;
P0=table[l];
EW_LED2=1;
Delay(2);
EW_LED2=0;
TL0=(65536-50000)%256;
count++;
if(count==10)
{
if(Flag_SN_Yellow==1) //测试南北黄灯标志位
{SN_Yellow=~SN_Yellow;}
if(Flag_EW_Yellow==1) //测试东西黄灯标志位
{EW_Yellow=~EW_Yellow;}
EWL=EWL1;
SNL=SNL1;
/*******S4状态**********/
EW_ManGreen=~EW_ManGreen;//EW人行道通行
SN_ManGreen=~SN_ManGreen;//SN人行道禁止
Flag_SN_Yellow=0; //SN关黄灯显示信号
Time_EW=SN;
Time_SN=EW;
l= EW1%10;
P0=table[l];
Time_Show_LED1=1;
Delay(2);
Time_Show_LED1=0;
P0=table[h];
Time_Show_LED2=1;
Delay(2);
Time_Show_LED2=0;
}
/**********************外部0中断服务程序************************/
sbit Busy_Btton=P3^6;//交通繁忙按键
sbit Special_Btton=P3^7;//交通特殊按键
sbit Add_Button=P3^3;//时间加
sbit Reduces_Button=P3^4;//时间减
bit Flag_SN_Yellow; //SN黄灯标志位
bit Flag_EW_Yellow;//EW黄灯标志位
charTime_EW;//东西方向倒计时单元
charTime_SN;//南北方向倒计时单元
uchar EW=60,SN=40,EWL=19,SNL=19; //程序初始化赋值,正常模式
uchar EW1=60,SN1=40,EWL1=19,SNL1=19;//用于存放修改值的变量
uchar code table[10]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F};//1~~~~9段选码
{
EW1=45;
SN1=30;
EWL1=14;
SNL1=14;
Special_LED=0;//关特殊信号灯
Busy_LED=1;//开繁忙信号灯
}
if(Special_Btton==0)//测试按键是否按下,按下为特殊状态
{
EW1=75;
SN1=55;
EWL1=19;
SNL1=19;
Busy_LED=0;//关繁忙信号灯
}
}
/*********************主程序开始**********************/
voidmain(void)
{
Busy_LED=0;
Special_LED=0;
IT0=1;//INT0负跳变触发
TMOD=0x01;//定时器工作于方式1
TH0=(65536-50000)/256;//定时器赋初值
/*****************************************************
十字路口交通灯控制C程序
******************************************************/
#defineucharunsigned char
#defineuintunsigned int
voidEXINT0(void)interrupt 0 using 1
{
EX0=0; //关中断
if(Add_Button==0) //时间加
{
EW1+=5;
SN1+=5;
if(EW1>=100)
{
EW1=99;
SN1=79;
}
}
if(Reduces_Button==0) //时间减
{
EW1-=5;
}
if(count==20)
{
Time_EW--;
Time_SN--;
if(Flag_SN_Yellow==1)//测试南北黄灯标志位
{SN_Yellow=~SN_Yellow;}
if(Flag_EW_Yellow==1)//测试东西黄灯标志位
{EW_Yellow=~EW_Yellow;}
count=0;
#include<reg52.h>
/*****定义控制位**********************/
sbit Time_Show_LED2=P2^5;//Time_Show_LED2控制位
sbit Time_Show_LED1=P2^4;//Time_Show_LED1控制位
sbitEW_LED2=P2^3;//EW_LED2控制位
P0=table[h];
EW_LED1=1;
Delay(2);
EW_LED1=0;
h=Time_SN/10;
l=Time_SN%10;
P0=table[l];
SN_LED2=1;
Delay(2);
SN_LED2=0;
P0=table[h];
SN_LED1=1;
Delay(2);
SN_LED1=0;
h= EW1/10;
while(Time_EW>=5)
{P1=S[4];//EW通行,SN红灯
Display();}
/*******S5状态**********/
P1=0X00;
while(Time_EW>=0)
{Flag_EW_Yellow=1;//EW开黄灯信号位
SN_Red=1;//EW黄灯亮,等待左拐信号,SN红灯
TL0=(65536-50000)%256;
EA=1; //CPU开中断总允许
ET0=1;//开定时中断
EX0=1;//开外部INTO中断
TR0=1;//启动定时
while(1)
{/*******S0状态**********/
EW_ManGreen=0;//EW人行道禁止
SN_ManGreen=1;//SN人行道通行
Special_LED =1;//开特殊信号灯
}
EX0=1;//开中断
}
/**********************T0中断服务程序*******************/