第一篇:交通信号灯英文翻译
交通信号灯
当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。社会的发展,人们的消费水平不断的提高,私人车辆不断的增加。人多、车多道路窄的道路交通状况已经很明显了。所以采用有效的方法控制交通灯是势在必行的。PLC 的智能控制原则是控制系统的核心,采用PLC把东西方向或南北方向的车辆按数量规模进行分档,相应给定的东西方向与南北方向的绿灯时长也按一定的规律分档.这样就可以实现按车流量规模给定绿灯时长,达到最大限度的有车放行,减少十字路口的车辆滞流,缓解交通拥挤、实现最优控制,从而提高了交通控制系统的效率.PLC的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。它具有结构简单、编程方便、可靠性高等优点,已广泛用于工业过程和位置的自动控制中。由于PLC具有对使用环境适应性强的特性,同时其内部定时器资源十分丰富,可对目前普遍使用的“渐进式”信号灯进行精确控制,特别对多岔路口的控制可方便地实现。因此现在越来越多地将PLC应用于交通灯系统中。
同时,PLC本身还具有通讯联网功能,将同一条道路上的信号灯组成一局域网进行统一调度管理,可缩短车辆通行等候时间,实现科学化管理。在实时检测和自动控制的PLC应用系统中,PLC往往是作为一个核心部件来使用。
..21世纪,PLC会有更大的发展。从技术上看,计算机技术的新成果会更多地应用于可编程控制器的设计和制造上,会有运算速度更快、存储容量更大、智能更强的品种出现;从产品规模上看,会进一步向超小型及超大型方向发展;从产品的配套性上看,产品的品种会更丰富、规格更齐全,完美的人机界面、完备的通信设备会更好地适应各种工业控制场合的需求;从市场上看,各国各自生产多品种产品的情况会随着国际竞争的加剧而打破,会出现少数几个品牌垄断国际市场的局面,会出现国际通用的编程语言;从网络的发展情况来看,可编程控制器和其它工业控制计算机组网构成大型的控制系统是可编程控制器技术的发展方向。目前的计算机集散控制系统DCS中已有大量的可编程控制器应用。伴随着计算机网络的发展,可编程控制器作为自动化控制网络和国际通用网络的重要组成部分,将在工业及工业以外的众多领域发挥越来越大的作用。在中国机动车量的不断增加,许多大城市如北京、上海、南京等地出现了交通超负荷运行的情况,交通事故的问题也越来越严重。并且由于各种特殊车辆(如120急救车、119火警车、110警车及各种特种车辆)在紧急情况之下不受红灯限制,也给交通带来很多不便,甚至造成交通事故。而且,目前大多数交通灯在同一时刻都会出现两个或两个以上方向同时为绿灯的情况,也增加了交通事故的发生率。因此,设计一种专为特殊车辆通过而不至于引发任何交通事故、正常交通控制时任何时刻只有一个方向通行绿灯的现代化智能交通灯控制系统是迫切需要的。
Nowadays, traffic lights
installed in each crossing, has become the most common and dredge the traffic, the most effective means.The development of the society, people's consumption level unceasing enhancement, private vehicles unceasing increase.And more cars roads are narrow road traffic is clear.So adopting effective method to control the traffic light is imperative.PLC intelligent control principle is the core of the control system, PLC put the things direction or north-south direction according to quantity of vehicles, the corresponding scale what divides class given the green light direction between north and south direction according to certain rules too long.It can realize divides class according to a given the green cars duration scale of maximum car release, reduce crossroads vehicles, ease traffic congestion stagnation, realize the optimal control, so as to improve the efficiency of the traffic control system.The application of PLC is continuously, and drive to the deepening traditional control test new month benefit updates.It is simple in structure, programming and high reliability etc, convenient already widely used in industrial processes and position in the automatic control.Due to use of PLC has the characteristics of environmental adaptable, and its internal timer is very rich in resources, but the current widely used “progressive” lights, especially for precise control more than the crossway control can be easily realized.So
now increasingly applying PLC traffic light system.Meanwhile, PLC itself also has communication networking function, will the same path as part of a LAN signal unified dispatching management, can shorten the traffic wait times, realize scientific management.In real-time detection and automatic control of PLC application system, PLC is often used as a core components.In the 21st century, PLC will have greater development.Technically, the computer technology can morely new achievements used in programmable controller design and manufacturing, there will be faster, storage and larger capacity, intelligent stronger varieties appear;Look from product size, can further to mini and super-large direction;Look from product compatibility, the variety of our products will be more rich, specification more complete, perfect man-machine interface and complete communication equipment can better adapt to all kinds of industrial control occasion demands;Look from the market, all countries to their production of multiple products with international competition intensifies and break, can appear a few brand monopoly international market situation, can appear international general programming languages;Judging from the development of the network, programmable controller and other industrial control computer networking constitute a large control system is programmable controller technology development direction.The current computer distributed control system DCS has already a lot of programmable controller applications.Along with the development of computer network, the programmable controller as automation control network and international general network will be an important part of the industry and industry, the numerous fields outside play an increasing role.In China the increasing amount of motor vehicles, many big cities like Beijing, Shanghai, nanjing and other ground appeared traffic overload running condition, traffic accidents problem also more and more serious.And because the various special vehicles(such as an ambulance, 119 120 car, police and various special vehicle 110 in emergency situations, by red under limited to traffic bring a lot of inconvenience, even cause traffic accident.And now, most traffic lights at the same moment will appear two or more than two direction at the same time for the green situation, and increase the incidence of the traffic accident.Therefore, design a kind of designed for special vehicles through and not cause any traffic accident, normal traffic control any time only one direction of modern intelligent traffic light green traffic control system is urgently needed.
第二篇:交通信号灯自动控制系统
概述 1.1 设计目的
(1)掌握CPU与各芯片管脚连接方法,提高接口扩展硬件电路的连接能力;
(2)通过对交通灯信号自动系统的模拟控制,进一部提高应用8255A并行接口技术,8253定时功能,8259A中断管理控制器的综合应用能力;
(3)掌握基本汇编源程序编制方法,学会综合考虑各种设计方案的对比和论证。1.2 设计要求
交通信号灯自动控制系统须满足下列要求和功能:(1)首先车行道亮绿灯45s,同时人行道亮红45s;
(2)45s后,车行道黄灯闪烁3次,亮、灭各1s,此时人行道仍维持红灯;
(3)6s后,转为人行道亮绿灯20s,车行道亮红灯20s;(4)20s后,再转到第(1)步,如此循环往复;
(5)当有车闯红灯时,能实现报警信号持续3 s的扩展功能。
1.3 设计方法及步骤
1、设计系统硬件部分
(1)先进行方案论证,确定最终采取硬件定时还是软件定时,是查询方式还是中断方式;(2)在具体甄选设计过程中可能要设计的芯片,分析它们的功能特点,确定它们的工作模式;
(3)按照各芯片的使用特点以及本系统的设计要求逐步连接,画出系统硬件连接图。
2、设计系统的软件部分
(1)先进行程序编制方式的方案论证,讨论分析,确定是采用宏程序调用还是子程序调用模式;
(2)确定本系统设计可能涉及的源程序各个模块,明确各个模块的各自功能,分清它们相互之间的调用关系;(3)画出各个模块的程序流程图;
(4)依据流程图,编制出交通信号灯自动控制系统的完整汇编源程序。
1.4 设计说明
(1)本设计采用共阳极的发光二极管模拟对应的交通信号灯的型式,参见后面“系统硬件部分设计”中“总体设计”这一节;
(2)本设计关于有车闯红灯报警的扩展功能,是通过红外线接收装置实现的,具体分析见后面“可编程芯片说明及其地址范围确定”中“8254定时/计数器”这一节;
(3)在本设计的最初方案中,本来是有电子眼拍摄闯红灯车牌号的这一很实用、很现实化的扩展功能的,但由于实现这种功能的电路芯片资料难以搜集,芯片电路连接复杂以及芯片工作模式,工作环境,工作特点的难以确定,最终被舍弃,只留下报警功能;(4)本设计在很多方面,比如译码器的选择,定时器选型,程序调用方式等等尽量做到不与本组其他成员雷同,程序编制力求简便清晰,硬件连接图在保证每根具体用到的管脚线都能被表示出来的同时,力求线路连接清晰明确,尽量不使线与线之间过于缠绕。2 方案论证
2.1 软件定时与硬件定时
本任务要求交通信号灯能实现自行定时、延时、切换等功能,即能实现交通信号灯自动控制。一般计算机控制系统实现定时或延时有两种基本方法:利用软件定时或使用可编程硬件芯片,即硬件定时。软件定时,即让机器执行一段程序,这个程序没有具体的执行目的,显然利用执行每条指令CPU所花费的时间,可实现延时功能。这种方法容易实现,仅需选用恰当指令并安排循环即可实现,定时时间调整方便,但不能做到精确定时。另外,时间调整是以一条指令执行时间为基准,占用CPU资源,降低CPU利用率。
硬件定时,即使用可编程定时/计数器硬件芯片定时。这种芯片内部有一个可编程定时器,其定时值、定时范围可以很容易地由软件程序改变,定时时间到时可发出某种形式的信号通知外设或CPU。定时器的输出频率和波形等均由程序设定,因而使用灵活,功能强。综合软、硬件定时的各种优缺点,考虑到交通信号灯精确换灯的要求,以及交通信号等需要方便、灵活地调整换灯时间等特点,我选用硬件定时来完成任务。2.2 查询方式与中断方式
定时时间到,比如车道绿灯亮45s后需换成黄灯闪烁,完成这一转换工作,有两种工作方式:查询方式和中断方式。
查询方式即CPU在与外设传输数据(本设计为8086传输数据给8255A从而控制交通信号灯换灯)前,一直不停检查外设状态,当外设准备好时方传输数据(本设计为8086不断测试8255A状态口PC1,当PC1变为低电平时,表明定时时间到),CPU可传输数据,控制信号灯切换。
中断方式可以不让CPU主动去查询外设状态,而是让外设在数据准备好(定时时间到后)之后再通知CPU,CPU继而开始与外设交换数据控制外设工作。
显然查询方式相比与中断方式,使CPU利用率大大降低,因为CPU要用大量时间去执行状态查询程序。但考虑到本课程设计的主要目的是控制信号灯切换,即CPU工作最终目的还是与外设传输数据,控制外设工作,即这种状态查询是有必要的,CPU的不间断的状态查询并非多余的,而且查询方式可使指令执行效率提高,指令执行目的更加明确,软件编程更加简便,避免了中断方式繁琐的中断矢量表的建立,中断程序的汇编等等,因而我选用查询方式来实现交通信号灯的自动控制。
2.3 8253定时/计数器与8254 定时/计数器
8253和8254都是能实现定时,延时功能的可编程定时计数器,可以 轻松地实现所需要的功能。两者的功能与工作方式,工作环境皆类似,区别仅在于8254的工作频率更高,可达到10MHZ。另外,8254比8253还多出回读功能。
考虑到本组大多数人都选用8253,为避免重复雷同,我选用8254定时计数器,实际上两者并没多大区别。
2.4 方案确定
综上所述,我选用的方案最终为利用可编程计数器8254实现硬件定时,用查询方式控制8086工作,用并行I/O接口8255A实现8086与外设(本设计采用发光二极管模拟交通信号灯)数据交换,用中断控制器8259A实现闯红灯报警的扩展功能。硬件部分设计 3.1 总体设计
正如A3图纸系统硬件连接图所示,CPU我选用INTEL公司的8086,它足以满足交通信号灯自动控制系统的功能要求;存储器选用两片型号为6116的静态RAM,一片作为奇片,一片作为偶片,总存储容量可达到4KB,既可以读也可以写,足以满足要求;由于8086CPU有16根地址与数据共用线,故有必要将地址码与数据码分开,8086采用了分时传送的方法,即先传送地址码,再传送数据码,故必须用锁存器将地址码锁存起来。我选用74系列的74LS373作为地址锁存器; 由于外设、内存存取数据速度不匹配,故有必要使用缓冲器来暂时记忆存储数据,我选用74系列的74LS245作为数据缓冲器;存储器译码我采用全译码方式,用74LS688比较译码器可减少逻辑组合电路;可编程芯片8255A,8254,8259A的片选信号译码,我采用线译码方式,这样可以保证其端口地址只有8位,易于程序编写。因而74LS138译码器是最好的选择。至于8255A,8254,8259A的选用目的已在前面解释过,这里不再重复。在具体设计该系统时,我选用发光二极管LED来模拟红,黄,绿灯的亮和灭。由于实际生活中只需要10盏灯就可实现车行道,人行道的通行,如图所示,故这里我也选用10支二极管,其对应关系如表所示。LED1-LED5与8255A PA口相连,LED6-LED10与PB口相连。PC1口作为状态查询口,PC6口输出可实现车闯红灯的报警功能。
图1 信号灯和LED对应图 3.2 CPU选型
CPU我选用的是8086,其管脚分配图如图所示。部分管脚采用分时复用方式,构成了40条管脚的双列直插封装,它有两种工作模式,我采用的是最小模式,故33号管脚应接高电平。
8086内部结构由指令执行部件EU和总线接口部件BIU两部分构成。EU负责执行指令,BIU负责取指令,读出操作数和写入结果。两个单元相互独立工作,有效地加快系统的运算速度。
3.3 存储器选型
存储器我选用两片6116型号的静态RAM,容量为4KB片选信号与A0相连的是偶片,主要用于低8位数据总线上进行字节传送。与BHE选中的是奇片,主要用于高8位数据总线上字节传送。当A0和BHE都选中的时候,可进行16位数据总线字传送。
图3 6116 RAM存储器管脚图
RAM的主要功能是存储程序、变量等。如果计算机关机,这些信息不再存在。本电路中,A12-A19作为片选信号,均为低电平。故存储范围为0H-0FFFH。
3.4 可编程芯片说明及其地址范围确定
3.4.1 8254定时/计数器及其地址范围
8254与8253功能类似,但8254工作频率更高,可达10MHZ,且8254还可进行回读,但这一功能在本设计中用不上,因而对8254的说明也可看作是对8253的介绍,事实上两者管脚图接近完全相同。
8254芯片包含3个功能完全相同的计数通道,称为通道0,通道1,通道2,有6种工作方式。本设计要求实现的最大45s,故必须采用两个计数器级联方式,工作在方式2分频功能。另一个计数器1工作在方式5,OUT1门产生中断,实现闯红灯报警3s的功能。三个计数器具体连接图如A3图纸硬件连接图所示,CLK0,CLK1都通入1.2MHZ的脉冲。OUT0与CLK2端相连,均工作在方式2分频,由OUT2门产生低电平作为状态信号实现延时功能。计数器1工作在方式5,GATE1门上升沿触发。如图3所示,当车行道红灯时,则开中断。当有车闯红灯时,就会阻挡安装在人行道上的红外线发射和接受装置的光线,接收装置可将光信号变为电信号的一个脉冲,通入GATE1门,上升沿触发,在OUT1门输出低电平,将此电平通过非门后连在8259A的IR1端,则可以产生中断。经过中断处理便可以控制相关芯片发出3s的报警信号。当然,在车行道绿灯时,应关中断。
图5 车闯红灯报警信号图
8254的端口地址可由硬件连接图确定,由图可知,8254片选信号由Y2引出,并与A0组成逻辑电路,输出口送入8254的 端。其地址可由上表可看出,为40-46H中偶地址。
3.4.2 8255A并行I/O接口及其地址范围
8255A是一个标准的40管脚芯片,它有3个数据端口,分别为PA口,PB口,PC口。每个端口有8位。8255A有3种工作方式。本设计选用最简单的方式0——基本输入/输出方式。
本设计用到了PA,PB口,它们分别作为发光二极管的并行输出接口。由于发光二极管,由于二极管为共阳极,故当PA,PB输出为0(低电平)时,相应二极管才会亮。另外,PC1口作为状态查询口,于8254 OUT2门相连,当PC1输入为0时,表示定时时间到,可交换数据。PC6口作为输出口,作为报警信号的端口。这些在软件编程时要格外注意,将决定各端口控制字的选择和确定。8255A端口地址可硬件连接图确定,由图可知,8255A片选信号由Y3引出,并与A0组成逻辑组合电路,作为8255A 信号。其地址可由右表看出,为60H-6中偶地址。
3.4.3 8259A中断控制及其地址范围 8259A可编程芯片中断控制器(PIC)称为优先权控制器,它可为CPU处理8级向量中断。本设计中,中断控制器用于扩展电路的报警功能。由硬件图可知,OUT1门低电平经过非门送入IR1端,故其为高电平有效的电平触发方式。
8259A的端口地址可由硬件图确定。由图可知,8259A片选信号由Y4引出,并与A0,A2组成逻辑电路,作为8259A 信号。其地址可由右表看出为80H-82H中偶地址。
3.5 其它选用芯片说明 3.5.1 地址锁存器74LS373
在8086系统中,地址线和数据线时复用的,故有必要锁存地址。74LS373管脚及功能图如图所示。其数据送入是由时钟的约定电平来进行的。E为低电平时,锁存器才能工作。
3.5.2 数据缓冲器74LS245
74LS245是带三态输出的8位双向数据缓冲器,专用于需要双向传输的 数据总线接口。它其实也是一个三态门,为输出使能端,G为低电平时,缓冲器才能工作,M为传输方向控制端。事实上,在8086最小模式时,由于锁存器的作用,数据缓冲器并不是必要的。
3.5.3译码器
3.5.3.1比较译码器74LS688
在存储器扩展时,我选用74LS688作为译码器,其一是为了在全译 码时减少组合逻辑电路,二是为了与本组其他成员相区别。74LS688作译码器时,必须为低电平,且当且仅当对应的8个输入端P与8个输入端Q相等时,才会输出低电平。利用这一特性将 低电平作为存储器的片选信号,可实现其译码片选功能。
由硬件连接图可知,在设计中,我将8个输入端Q全部接地,即低电平,保证了存储器高8位全部为0。实现了存储器从最低地址0H-0FFFH,4KB的存储容量。3.5.3.2 74LS138译码器
74LS138译码器是译码电路中最常用的,在本设计中我也选用74LS138译码器产生8255A,8254,8259A三个芯片的片选信号,如果选用比较译码器74LS688则需要三片,既增加了芯片数量,也增加了电路消耗,同时占用了过多的空间,使线路连接更加复杂,更不直观。由于74LS138的功能及工作模式熟知,这里不再赘述。
3.5.4时钟发生器8284A
8284A是用于8086(或8088)系统的时钟发生器/驱动芯片,它为8086(或8088)以及其他芯片提供所需的信号。
8284A由三部分电路组成:时钟信号发生器,复位生成电路和就绪控制电路。下图是8284A的管脚图。
3.5.5 D触发器
D触发器的工作原理是在CP端脉冲上升沿触发翻转技术,在本电路中,主要用于分频。其将CP端脉冲频率减半,那么为什么要减半频 率呢?
原因是8253的最高工作频率只有2MHZ,因此必须将2.4MHZ脉冲频率减半8253才能工作。因此,在我选用的8254定时/计数器电路中D触发器并不是必要的了,甚至可以完全省去不用,因为8253最高工作频率可达到10MHZ,但为了避免频率过大导致45最长延时时,写入的数据过大,我还是加上了D触发器,无非是为了简化后面的软件编程。3.5.6 7407驱动器
7407TTL集电极开路六正相高压驱动器,其管脚图如下。
3.5.7 功率放大器PWN-2401-EW
该放大器是上海迈高网络技术有限公司生产的,主要工作2.4GHZ ISM频段的WLAN设置的覆盖范围。4 软件总体设计说明 4.1 系统软件部分说明 4.1.1 宏调用与子程序调用
设计延时程序可采用两种方法,一种是子程序调用形式,另一种是宏调用形式。
宏调用形式是在汇编期间展开的,调用一次展开一次,因此它占用的存储空间与调用的次数有关,调用次数越多,占用存储空间越大。宏指令的使用简化源程序,但并不节省内存单元。
子程序是在程序运行期间由主程序调用,在目标代码中只占用它自身内存空间,因而汇编后目标代码少,节省内存空间。但子程序调用每调用一次就要保护断点,保护现场;返回后又恢复现场,恢复断点,增加了额外时间,因此执行时间长,速度慢。宏指令则可免去这些开销,更重要的是,宏调用时用实元取代哑元,调整灵活,程序大大缩减,可读性和可移植性大大提高。
综上所述,我采用宏调用形式,宏程序专门编制待定延时程序,主程序则顺序换灯、循环,而每个过程灯亮时间由宏程序保证。在整个程序的运行期间若发生中断(有车闯红灯),则由中断程序完成相应功能。当然,主程序中也必要包含中断矢量表的建立程序。因而,我所编制的程序由三部分组成:主程序、宏调用程序和中断服务子程序。下面将一一介绍,并且画出其流程图。4.1.2 各时间参数的计算 本设计中涉及的时间参数有:车行道绿灯时间45s,车行道红灯时间20s,车行道黄灯亮、灭的时间各一秒,报警器报警持续时间3s。由于8254 CLK端时钟频率为1.2MHZ,计数器0和计数器2级联按6000×200方式分频,即计数器0写入6000时,在计数器2 CLK2中会有200HZ脉冲。对于1s,需对计数器2写入时间参数TIME1=200;对于3s,TIME2=600;对于20s,TIME3=4000;对于45s,TIME4=9000,都不超过10000,故均可按BCD码写入。
4.2 主程序说明及其流程图
主程序主要实现两项功能:一是填写中断入口地址表,为中断服务提供必要准备;二是实现换灯,循环。其流程图见下图。4.3 宏调用及其流程图
宏程序的功能是实现准确的定时和延时,为主程序中红、黄、绿灯的亮、灭时间,中断服务程序的报警信号持续时间服务。当然,在宏程序中应当特别注意一些寄存器,变量,地址等保护工作,这就需要堆栈。其流程图见下图。
4.4 中断服务程序说明及其流程图
本设计中我编制的中断服务程序显然是为扩展功能——有车闯红灯报警3s服务的。中断服务程序主要是对8255A C口进行操作的,使C口输出高电平,经过放大器后驱动报警装置报警。当然,在编制过程中,也需要注意一些寄存器,变量,地址的保护工作,其流程框图 见下图。
所有三个程序的具体代码及设计编制,见附录。5 总结与体会 5.1 课程设计总结
本次课程设计,要求自制交通信号灯自动控制系统,并能编制该系统工作的汇编源程序。我的设计采用可编制芯片8254硬件定时,用查询方式来控制交通灯的亮与灭,指令执行目的明确,交通灯亮、灭延时时间精确,并且还能实现有车闯红灯的报警功能,因而该系统使用可靠。电路连接也比较简便,芯片花费不多,工作性能良好,能完整地实现城市交通信号灯所需的功能。
我所编制的汇编程序采用宏调用方式,用一个宏程序可实现多种定时功能,有效地避免子程序调用方式模块过多,程序代码繁琐的缺点。并且宏调用方式可以非常简便地调整定时时间,仅仅改变时间参数变量值就可方便地改变灯亮、灭时间,灵活性好这些都是子程序调用无法企及的。
总而言之,我觉得我的设计相角于本组其他同学而言,无论是芯片选择,硬件连接,各种芯片工作模式,源程序编制等等都是比较独特而又不失简便的,我在设计过程尽量避免与本组其他同学的设计雷同,而且尽量将多种方案进行全方位比较与取舍,比如软件定时与硬件定时,查询方式与中断方式,74LS138与74LS688译码器,宏调用与子程序调用,这些我都已在前面说明书中做过很多对比与论证。总之,我对自己的设计比较满意。5.2 感想与体会
关于这次课程设计的体会,我是深有感触的。
首先,我想说,这次课程设计的的确确让我增长了不少见识,使我对《微机接口》这门课程认识更深。比如,在课程设计前,可能都知道CPU与存储器相连能实现存储器扩展,CPU与8255A相连能实现CPU对外设的并行输出和控制,8253能定时计数,8259A能管理中断,但真正的这些芯片之间各端口具体连接,包括每根地址线,数据线的连接,片选信号的产生,8255A,8253,8259A的工作原理和工作模式等等,都是非常模糊的。只有经过这次课程设计的鞭策和逼迫,我们才不得不通过各方面途径去查取相关资料,去自学相关知识,去一个个逐步消解我们学习上的盲点。试想,如果没有这次课程设计,会有多少同学会自觉的那样努力的,刻苦地那样做呢?人都是懒惰的 动物,现实生活中,大多数人不都是言不由衷,违背己意的去做自己不喜欢做,讨厌做却又不得不去做的事情吗?
其次,我想说这次设计过程不开心,不愉快的一些事情。《红楼梦》里关于品尝有云:一杯为品,二杯则是解渴的蠢物,三杯便是饮牛饮驴的。同样,我想说,课程设计,两三个人在一起则是讨论交流;一坨人在一起则是相互推赖,抄袭,敷衍了事。我不明白为什么一个班上只有5个课题设计,一个设计要吸纳七,八个人。就拿我所在组来说,真正为之筹谋计划的少,贪成享乐者甚多。经常是两三个人交流沟通,却要想出五六个不同设计方案为本组其他成员共享。我想说,毕竟大家同学一场,同学之间的企求不好拒绝,所以老师上次“冤枉”我与某人流程图类似让我特委曲难受。参考文献
[1] 张玉清,王春玲.IBM PC 微型计算机原理与接口技术.人民邮电出版社,1997 [2] 彭虎,周佩玲,傅忠谦.微机原理与接口技术(第二版).电子工业出版社,2008 [3] 王永山.IBM PC汇编语言程序设计和接口技术.西安电子科技大学出版社,1989 附录参考程序
TITLE YUWENNIAN.ASM ;程序名
DELAY MACRAO TIME ;延迟宏定义
LOCAL L ;局部说明
PUSH AL PUSH BL
MOV BL MOV AL BCD码写入 OUT 46H MOV AL OUT 40H MOV AL OUT 40H MOV AL 码写入
OUT 46H MOV AL OUT 44H MOU AL 2,TIME,001101001B,AL,00,AL,60,AL , 10110101B , AL , 00 , AL , BL
;计数器0,方式2,;计数器0写入6000 ;计数器2,方式2,BCD ;时间参数写入计数器23
;送延迟参数 OUT 44H , AL MOV AL , 01011011B ;计数器1,方式5,BCD码写入
OUT 46H , AL MOV AL , 5 ;计数器1写入5,5个脉冲后发生中断
OUT 42H , AL L: IN 42H , AL TEST AL , 00000010B JNZ L POP BL POP AL ENDM DATA SEGMENT TIME1 EQU 2 TIME2 EQU 6 TIME3 EQU 40 TIME4 EQU 90 DATA ENDS
STACK SEGMENT PARA STACK DB 100 DUP(?)
;测试PC1
;为1时再测试,直至为0 ;宏定义结束
;黄灯闪烁时间
;报警持续时间
;车道红灯时间
;车道绿灯时间 'STACK' 24
STACK ENDS CODE SEGMENT START: MOV AX , DATA
MOV DS , AX MOV AX , STACK MOV SS , AX CLI
;关中断
CLD MOV AX , O ;建立中断入口地址表
MOV ES , AX MOV DI , 4*51H MOV AX , OFFSET INTPROC STOSW MOV AX , SEG INTPROC STOSW MOV AL , 00011011B ;设置8259A,写ICW1,高电平触发,无级联
OUT 80H , AL
MOV AL , 50H ;写ICW2,中断矢量基值为50H OUT 82H , AL MOV AL , 00000011B ;写ICW4,完全嵌套,非缓冲,自动EOI OUT 82H , AL MOV AL , 11111101B ;写OCW1,仅允IR1中断
OUT 82H , AL MOV AL , 10000001B PC上半口输出,PC下半口输入
OUT 66H,AL STI MOV AL , 0FFH 置0 OUT 60H , AL OUT 62H , AL MOV AL , OFH OUT 64H , AL MYC: CLI
MOV AL , 00001110B 报警
OUT 60H , AL 灯亮
MOV 62H , AL DELAY TIME4
;设置8255A,PA,PB,;灯全灭,PC1置1,PC6;关中断,防止绿灯时;车道绿灯亮,人道红;延迟宏调用,时间45s
YWN: MOV CX , 3 ;设置闪烁次数
MOV AL , 00010110B
;车道黄灯亮
OUT 60H , AL OUT 62H , AL DELAY TIME1
;延迟宏调用,时间1s MOV AL , 000111001B OUT 60H , AL OUT 62H , AL DELAY TIME1 LOOP YWN STI 则中断
MOV AL , 00011001B 亮
OUT 60H , AL OUT 62H , AL DELAY TIME3
MOV AX , 06H MOV DL , OFFH INT 21H JMP MYC LOVE: MOV AH , 4CH
;车道黄灯灭 ;延迟宏调用,时间1s ;开中断,有车闯红灯时;车道红灯亮,人道绿灯;延迟宏调用,时间20s ;判断是否有键按下 27
INT 21H ;返回DOS CODE ENDS ENDS START INTPROC PROC FAR ;中断服务子程序
PUSH AX ;保护现场
PUSH BX PUSHF MOV AL , 00001101B OUT 66H , AL DELAY TIME2 MOV AL , 00001100B OUT 66H , AL POPF
POP BX POP AX IRET INTPROC ENDP
;PC6置1,报警
;延迟宏调用,时间3s ;PC6置0,报警解除 ;中断返回 28
第三篇:交通信号灯控制系统
交通信号灯控制系统(红绿灯系统)
1、概述
近年来,随着经济发展,营运车辆拥有量的增加使道路市场必须规范有序,交通安全管理必须上一新台阶。按照“高起点规划,高标准建设,高效能管理”的思路,坚持把城市化作为城市经济的一大战略来抓,积极建设城区交通基础设施工程,建立交通安全管理网络。严格抓好交通管理,以加强交通队伍建设和行业文明建设。
对****信号控制系统进行升级改造,在*****新建设一套信号控制系统
2、设计依据
《道路交通信号控制机》(GB25280-2010) 《道路交通信号灯》(GB14887-2011)
《道路交通信号灯设置与安装规范》(GB14886-2006) 《道路交通信号倒计时显示器》(GA/T508-2004)
《道路交通安全违法行为图像取证技术规范》(GA/T832-2009) 《交通信号机技术要求与测试方法》(GA/T47-93) 《道路交通信号机标准》(GA47-2002) 《道路交通信号灯安装规范》(GB14866-94)
3、设计原则
本期工程按“国内领先、国际先进”的原则设计方案,提供完整、最新而成熟的产品,并保证各项技术和设备的先进性、实用性和扩展性。提高交通道路口的车辆通行速度,保证道路畅通。因此该系统是建设畅通工程中的重要措施之一。
信号控制系统的设置应充分结合本路段的工程自身特点,在达到适时、适量地提供交通信息,确保行车安全目的的同时,尽可能与道路的整体效果相结合。
1)设计思路
以有效地管理道路交通,达到安全、经济、合理、美观为目的,严格按照国家有关规定设置信号灯等交通设施。交通拥挤情况主要发生在车流人流相对集中的主要繁华城区路口和路段,根据现有主要交通干道路面宽度划分车道,基本可以满足城区车辆通行的需要。
2)预期实现目标
完善城区交通安全设施布局,规范行车和行人秩序,减少交通事故,一定程度上改善城市形象。
4、交通信号控制系统功能
(1)图形与界面
系统界面中文化、图形化、菜单化。命令操作方式灵活多样,并对错误操作发出警告或禁止执行。
能多用户、多窗口显示,显示窗口可缩放、移动。
具有图形编辑工具,可以对图形的区域背景、路口背景等进行用户化编辑。背景地图可按管理区域和路口进行缩放和漫游显示。
能够实时显示路口设备、路口设备工作状态及信号控制模式等信息。系统可动态、实时地显示路口信号灯的运行状况,并可对某一路口的信号灯变化进行实时显示;还可以根据需要直接对信号机进行手动操作功能。
能够用图表显示交通流量、占有率等统计分析数据。(2)用户管理
系统能够支持至少50个用户的使用和管理,对用户的名称、密码和访问角色等相关内容进行设置。
能够设立访问角色,能够定义相应的访问权限,每个用户可以对应多个角色。组管理:每个组可以有多个用户,所有用户不能重名,不同的组可以管理不同的路口设备。
记录用户登录和退出系统的时间及用户使用过的操作命令,显示用户是否在线。
禁止多用户对同一对象同时进行控制操作,并给出提示信息。(3)日志管理
操作员记录:操作员登录/退出时间、部分重要操作命令记录。记录保存时间:系统至少保留最近12个月的综合日志记录。记录查询:可根据日期范围、时间范围、用户等各种限定,方便快捷地查询各类日志记录。(4)系统数据库
总体要求:支持Oracle数据库,具有系统参数设置、交通数据存储、数据管理功能。
参数设置:每个数据项均附有数据定义和有效值范围的在线说明;系统自动检测所有数据项输入数据的合理性,提示并拒绝不合理及非法的数据输入;易于数据修改和更新。
交通数据存储:能够对采集的交通实时数据和历史数据进行储存和管理,保证数据的快速存取、编辑和删除。
数据库管理:
禁止未授权使用者进入数据库操作界面。
多用户同时对不同数据对象的修改、删除无冲突,禁止同时修改同一数据对象并有冲突报警显示。
详细记录数据修改人员、修改内容和时间。支持多用户数据库查询、访问。(5)数据采集存储
中心计算机从现场设备实时(秒级)采集以下交通数据: 路口到达方向分流向(左、直、右)的车流量 路口到达方向分流向(左、直、右)的车辆占有率 路口到达方向分流向(左、直、右)的放行时间 路口到达方向分流向(左、直、右)的断流次数 路口到达方向分流向(左、直、右)的最大断流间隔 以上数据保存15日。
流量、占有率的实时统计数据随时向交通信号控制系统管理平台开放性提供。(6)数据统计分析
中心计算机对采集的交通数据进行各种统计分析,形成设定时间、区域范围的交通统计分析报告,内容包括:路口的交通流量、路口交通占有率; 中心计算机对采集的交通数据进行统计处理,分别形成15分钟和1小时时间段的交通统计数据,并按15分钟数据保存半年、1小时数据保存一年进行存储,并随时向交通信号控制系统管理平台开放性提供。(7)系统状态监视
中心计算机能够实时监视:
系统中心设备、传输设备及路口设备工作状态
路口信号控制模式、控制方案、信号状态等交通控制状态
交通信号状态信息在信号灯色变化时向交通信号控制系统管理平台实时开放性传送。(8)系统故障报警
中心计算机监视以下各类故障: 系统中心软/硬件故障 传输单元故障
信号控制器、车辆检测器等路口设备故障
上述故障均有详细的分类故障代码;故障发生时通过异常信息显示进行报警并生成故障记录;故障消除后或操作员确认后取消报警。(9)时钟校准功能
中心计算机具有如下时钟校准功能:
接受交通信号控制系统管理平台的时钟校准。
对路口信号控制器进行自动时钟校准,校时命令每天执行1次,校时时间可设置。
时钟格式为:年、月、周、日、时、分、秒,校时误差小于1秒。(10)时间表功能
系统具有时间表控制功能
设置时间包括年、月、周、日、时、分、秒。日时段划分不得低于16个,方案数不得少于32个。设置内容应包括事件、控制模式、控制方案等。
系统可分别设置工作日、周末、节日或特别指定日的时间表,系统根据日期自动改变执行时间表。(11)系统优化
根据路口检测的交通流信息自动进行交通控制参数的优化并执行优化配时方案,提高路口通行能力。(12)动态方案选择控制
根据实时交通流检测信息,从预设方案库中调用适宜方案。(13)线协调控制
按照系统时间表设置进行线协调控制。(14)感应式控制
系统能够响应冲突方向的车辆感应请求,进行半感应或全感应控制。(15)行人控制
路口行人过街控制应具有请求式控制方式和预案式控制方式。
系统能够在线协调或区域协调控制的条件下及时响应或等待响应路段行人过街请求,使行人利用交通流间隙过街通行。(16)紧急车辆优先控制
系统能够按预定时间和预定路线进行绿波信号推进,以满足各种重大活动、重大事件及特殊警务的通行需求。
系统对路口信号机强行控制,指定某一阶段放行、黄闪或者全红。能响应特殊情况下的警务、消防、救护、抢险等特种车辆的紧急请求,使车辆迅速通过沿线路口。
(17)方案模拟演示
设置好的配时方案,模拟演示路口信号灯的变化情况,查看运行效果以便于分析配时方案中存在的潜在影响。(18)强制控制
允许系统中心操作员直接控制系统内设置的相位组信号。(19)上下载功能
中心计算机能选择性地上载和动态存储路口信号控制器的基本配置、时间表以及各种控制方案。
中心计算机能选择性地下载基本配置、系统时间表和各种控制方案给路口信号控制器。
5、交通信号控制机
信号机
信号机符合行标《GA47-2002道路交通信号控制机》的标准、国标《GB-25280-2010集中协调式信号机》的标准,并兼容国标GB-T20999的通讯协议。本信号机采用多智能节点分布式架构,各节点以32位微处理器作为控制核心,通过CAN总线进行内部通讯。32路环型线圈车辆检测或视频车辆检测器(可选)本信号机具有独立硬黄闪功能,可以在不关灯的情况下进行现场维护,给现场维护带来方便。支持无线遥控、点动等现场人工控制功能;持GPS模块对本地进行校时;支持多达32组的独立灯组通道输出;支持视频和线圈车流辆检测;具有单灯组输出回路检测功能,对红绿冲突等各种严重故障有着完善的降级处理。本机有着多种人机交互接口,通过本地信号机内的液晶模块、设置终端、指挥中心都可以实现完整的方案设置和信号机运行状态监测。对于各用户的不同控灯需求,方案设置方便、灵活、易于操作。软件系统设计中,有着完善的事务管理机制并能对信号机发生事件、故障等信息进行存储及显示。信号机内具有加热和排风的装置,可根据外界的温度不同自动加热或排风,以适应外界环境温度变化。
信号机具有无缆线控、单点优化、感应控制等功能;在智能交通指挥中心控制系统中可实现线控、区域协调控制、系统优化控制等功能;
1、具备32位微处理器
2、可编程的32相位控制,96路可控硅输出(可选)
3、相位冲突监视和控制,信号灯故障检测及报警
4、掉电时采集数据和配时参数不丢失
5、具有手动、自动、远程控制方式
6、具有强制、黄闪、四面红功能
7、具有本地遥控功能
8、具有固定方式、多时段控制方式、多方案选择控制方式、感应控制方式等多种控制方式
9、在线修改配时参数,在线显示各相位状态、故障状态
10、时段划分多达48个时段,可存储32种控制方案
11、提供4个RS232接口、一个RS485接口,一个以太网接口,可实现电话线、专线、光纤、无线多种通讯
12、适合于单路口控制、主干道控制、区域控制。出现故障自动降级使用
13、时钟、日历显示和修改,支持GPS授时功能
14、自动排风、加热功能
15、具有防雷、漏电保护功能
16、提供8路行人过街输入接口 主要特点
1、全中文手动操作界面
2、交通信息存储功能
3、独有的路口协调小面控功能
4、基于车头时距的感应控制功能
5、信号相位与信号灯组的自由编程
6、冲突相位硬件和软件双重监视
7、信号灯故障检测和报警
8、掉电数据不丢失,保存5年以上
9、输入和输出信号全部光电隔离
10、车辆数据检测准确率高
11、具有多相位的强制遥控
12、提供以太网接口和多个串口,便于网络化
13、提供二次开发的透明接口,便于多系统的集成
14、模块化设计,便于维护
15、指挥中心软件可实现信号机的远程控制
16、本地单点路口或区域的自适应协调控制
17、实时检测交通流量数据;并将采集到的实时交通流量数据进行分析、处理,传送至本地、区域或中央控制系统 主要技术指标
1)控制最大相位:32个;控制最多信号灯组:32组;车辆检测最大路数:32路;
2)机柜外壳采用铝合金材料或不锈钢材料;遥控相位:8个;
3)遥控器:每台信号机配2台遥控器,8个相位选择键,1个黄闪键、1个全红键、4)1个全灭键、1个取消键,遥控距离大于50米,遥控器应以灯光、声响或振动方式提示操作人员,交通信号控制机是否成功接收并执行指令。5)为保证信号机用电安全,信号机机柜和驱动线路应采用漏电保护电路装置。
6)信号机的机柜外侧面应设有手动控制门,在仅打开手动控制门的情况下可以实现
7)单点控制、黄闪控制、指定相位控制、关闭信号灯、关闭倒计时器、关闭遥控功能等操作。
智能交通信号控制机属协调式户外网络型的交通信号控制机,适合于单路口多时段定时控制、多方案选择控制、全(半)感应控制,适合于多路口无缆协调、有缆协调的绿波带控制,适合于指挥中心的远程控制、区域控制。在感应控制、多方案选择以及时制计划生成方面均有自己的控制算法。智能交通信号控制机具有技术先进、使用方便、功能齐全、模块化设计、维护简单,控制软件接口透明,便于二次开发。采用自主开发的机动车辆线圈检测器、自有专利技术的单元式检测型负载开关,整机性能价格比高。智能交通信号控制机具有多时段定时控制、多方案选择控制、感应控制、主干道无缆协调控制、集中协调控制等功能。将多个智能交通信号控制机通过调制解调器连成交通控制网,对城市多路口、多条干线进行控制,其基本架构如下:
通过以太网通讯接口,与指挥中心控制系统联成网络、接收指挥中心的远程控制、有缆线控、区域控制,并实现交通流量的自动采集。
6、机动车信号灯
发光单元透光面直径为400mm,红黄绿竖向组灯,光源采用超高亮发光二极管。红满屏+黄满屏内含双色数显+绿满屏,符合2011新国标;倒15秒显示,通讯式(通讯协议为行业标准)信号灯取电,竖装;
7、方向指示信号灯
发光单元透光面直径为400mm,红黄绿竖向组灯,光源采用超高亮发光二极管;红箭头+黄箭头内含双色数显+红箭屏,符合2011新国标;倒15秒显示,通讯式(通讯协议为行业标准)信号灯取电,竖装;
8、人行横道信号灯
发光单元透光面直径为300mm,光源采用超高亮发光二极管;红、绿二色行人图案单屏显示,红、绿二色数显同屏显示(绿色行人静态/非机动车)七字形连接片,2011新国标;倒15秒显示,通讯式(通讯协议为行业标准)信号灯取电;
第四篇:交通信号灯控制系统
交通信号控制系统
1.设计任务
设计一个十字路口交通控制系统,要求:(1)东西(用A表示)、南北(用B表示)方向均有绿灯、黄灯、红灯指示,其持续时间分别是30秒、3秒和30秒,交通灯运行的切换示意图如图1-1所示。
(2)系统设有时钟,以倒计时方式显示每一路允许通行的时间。
(3)
当东西或南北两路中任意一路出现特殊情况时,系统可由交警手动控制立即进入特殊运行状态,即红灯全亮,时钟停止记时,东西、南北两路所有车辆停止通行;当特殊运行状态结束后,系统恢复工作,继续正常运行。
2.总体框图
本系统主要由分频计、计数器和控制器等电路组成,总体框图如1-2所示。分频计将晶振送来的信号变为1Hz时钟信号;当紧急制动信号无效时,选择开关将1Hz脉冲信号送至计数器进行倒计时计数,并使控制器同步控制两路红、黄、绿指示灯时序切换;当紧急制动信号有效时,选择开关将紧急制动信号送至计数器使其停止计数,同时控制器控制两路红灯全亮,所有车辆停止运行。
2-1 交通灯总体结构框图 模块设计
(1)分频器
设晶振产生的信号为2MHz,要求输出1Hz时钟信号,则分频系数为2M,需要21位计数器。用VHDL设计的2M分频器文本文件如下:
LIBRARY
IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY fenpin2m IS
PORT(clk:IN STD_LOGIC;
reset:IN STD_LOGIC;
--时钟输入
clk_out:out STD_LOGIC);END ENTITY fenpin2m;
ARCHITECTURE one OF fenpin2m IS signal count:integer range 0 to 1999999;
BEGIN
PROCESS(clk)
BEGIN
if reset='1' then
count<=0;
clk_out<='0';
else
if clk'EVENT and clk='1'THEN
IF count<999999 THEN
count<=count+1;
clk_out<='0';
ELSif count<1999999 then
count<=count+1;
clk_out<='1';
else
count<=0;
END IF;
END IF;
END IF;
END PROCESS;END one;
(2)模30倒计时计数器 采用原理图输入法,用两片74168实现。74168为十进制可逆计数器,当U/DN=0时实现9~0减法计数,记到0时TCN=0;当U/DN=1时实现0~9加法计数,计到9时TCN=0;ENTN+ENPN=0时执行计数,否则计数器保持。该电路执行减法计数,当两片计数器计到0时同步置数,因此该计数器的计数范围是29~0,当系统检测到紧急制动信号有效时,CP=0计数器停止计数。
图3-1 模30减法计数器电路图
图3-2 模30减法计数器仿真波形
(3)显示译码器
显示译码器为动态显示,用VHDL文本输入法设计的七子段译码器如下:
图3-3 显示译码器的仿真波形
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;
--调用库文件
ENTITY xianshi IS
--实体开始
PORT(CLK:IN STD_LOGIC;
datain1:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
datain2:IN STD_LOGIC_VECTOR(3 DOWNTO 0);
--扫描时钟信号
SEL:OUT STD_LOGIC_VECTOR(1 DOWNTO 0);--数码管选择信号
q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0));--数码管八端输入 end xianshi;
--实体结束 ARCHITECTURE one OF xianshi IS
--结构体开始 begin
PROCESS(CLK)
--进程开始 VARIABLE TMP:STD_LOGIC_vector(1 downto 0);VARIABLE d:STD_LOGIC_VECTOR(3 DOWNTO 0);--中间变量
begin
IF(CLK'EVENT AND CLK='1')THEN
--时钟上升沿有效
IF(TMP=“00”)THEN
TMP:=“01”;
d:=datain2;
CASE d IS
WHEN“0000”=>q<=“00111111”;
--0
WHEN“0001”=>q<=“00000110”;
--1
WHEN“0010”=>q<=“01011011”;
--2
WHEN“0011”=>q<=“01001111”;
--3 WHEN“0100”=>q<=“01100110”;
--4 WHEN“0101”=>q<=“01101101”;
--5 WHEN“0110”=>q<=“01111101”;
--6
WHEN“0111”=>q<=“00000111”;
--7
WHEN“1000”=>q<=“01111111”;
--8
WHEN“1001”=>q<=“01100111”;
--9
WHEN OTHERS=>q<=“00000000”;--数码管不显示
END CASE;
elsif(tmp=“01”)then
TMP:=“00”;
--如果tmp为“001”即第2个数码管显示b输入
d:=datain1;
CASE d IS
WHEN“0000”=>q<=“00111111”;
--0
WHEN“0001”=>q<=“00000110”;
--1
WHEN“0010”=>q<=“01011011”;
--2
WHEN“0011”=>q<=“01001111”;
--3
WHEN“0100”=>q<=“01100110”;
--4
WHEN“0101”=>q<=“01101101”;
--5
WHEN“0110”=>q<=“01111101”;
--6
WHEN“0111”=>q<=“00000111”;
--7
WHEN“1000”=>q<=“01111111”;
--8
WHEN“1001”=>q<=“01100111”;
--9
WHEN OTHERS=>q<=“00000000”;--数码管不显示
END CASE;
end if;
end if;sel<=tmp;
--把tmp的值赋予sel
end process;
--进程结束
end one;
(4)控制器
该模块输入为1Hz时钟,和紧急制动信号PE,输出为两路红、黄、绿指示灯,当紧急制动信号无效(PE=1)时,两路红、黄、绿灯时序切换。当紧急制动信号有效时,选项开关将紧急制动信号送至计数器使其停止计数,同时使控制器控制两路红灯全亮,所有车辆停止通行。用VHDL文本输入法设计的控制器如下;
图3-4控制器的仿真波形
LIBRARY
IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY contr IS
PORT(cp1:IN STD_LOGIC;
pe:IN STD_LOGIC;
chan:IN STD_LOGIC;
ra,ga,ya,rb,gb,yb:out STD_LOGIC);END ENTITY contr;ARCHITECTURE one OF contr IS signal count:integer range 0 to 59;
BEGIN
process(cp1)
begin
if pe='0'then
count<=0;
else
IF(cp1'EVENT AND cp1='1')THEN
if count<59 then
count<=count+1;
else
count<=0;
end if;
end if;end if;END PROCESS;PROCESS BEGIN
if pe='1'then
if chan='1' then
if count<30 then
rb<='0';
gb<='1';
yb<='1';
ra<='1';
if count<27 then
ga<='0';
ya<='1';
else
ga<='1';
ya<='0';
end if;
else
rb<='1';
ga<='1';
ya<='1';
ra<='0';
if count<57 then
gb<='0';
yb<='1';
else
gb<='1';
yb<='0';
end if;
end if;
else
if count<30 then
rb<='1';
ga<='1';
ya<='1';
ra<='0';
if count<27 then
gb<='0';
yb<='1';
else
gb<='1';
yb<='0';
end if;
else
rb<='0';
gb<='1';
yb<='1';
ra<='1';
if count<57 then
ga<='0';
ya<='1';
else
ga<='1';
ya<='0';
end if;
end if;
end if;
else
rb<='0';
ra<='0';
gb<='0';
yb<='0';
ga<='0';
ya<='0';
end if;end process;end one;交通灯原理图
图4-1 交通灯原理图
第五篇:交通信号灯控制系统
山西大学工程学院 第I页
摘要
随着中国城镇化速度的较快,交通事故也日趋发生,所以合理的交通控制方法能有效的缓解交通拥挤、减少尾气排放及能源消耗、缩短出行延时,改善我国独有的交通问题。而平面交叉口是城市交通的关键,它是整个城市道路的瓶颈地带,对其进行交通信号控制方法的研究具有重大意义,所以交通信号灯是维护城市交通的主要设施。
我们本次复杂的十字路口交通灯控制系统设计主要是利用AT89C51制作并仿真.并且在单片机的选择上,考虑到电路的简单和成本的削减,我们选择性价比最好的AT89C51,而且能够使程序简单。可以添加恰当的传感器,实时监控道路情况,对各种情况的处理实行紧急情况优先级最高,其次行人优先通过,最后车流量高的方向,给予更多的通过时间,采用中断的方法,由中断根据各种不同的情况选择合适的处理程序处理。通过单片机控制交通灯不仅能提高我们理论联系实际的能力,而且能够熟练掌握C语言的编程方法,掌握定时/计数器、外部中断的使用方法和简单程序的编写,最终提高逻辑抽象能力和动手能力。
关键字:AT89C51
中断
交通信号控制
山西大学工程学院 第II页
目录1 社会需求.........................................错误!未定义书签。2 设计目的.........................................错误!未定义书签。3 设计思路及框图....................................................1 3.1 交通灯设计..................................................1 3.2 交通灯定时控制..............................................2 3.3 传感器智能控制..............................................4 4 硬件电路设计......................................................4 4.1 单片机电源电路..............................................4 4.2 单片机复位电路..............................................4 4.3 交通LED灯外围驱动电路......................................5 4.4 按键控制电路................................................6 4.5 单片机主电路................................................7 4.6 整体电路图设计..............................................8 5 软件设计..........................................................9 5.1 系统程序流程图设计..........................................9 5.2 系统程序设计...............................................10 5.3 仿真显示结果...............................................17 总 结.............................................................17 参考文献...........................................................18
山西大学工程学院 第1页
1社会需求
目前在世界范围内,一个以微电子技术、计算机和通信技术为先导的,以信息技术和信息产业为中心的信息革命方兴未艾。为使我国尽快实现经济信息化,赶上发 达国家水平,必须加速发展我国的信息技术和信息产业。而计算机技术怎样与实际应用更有效的结合并有效的发挥其作用是科学界最热门的话题,也是当今计算机应 用中空前活跃的领域。本文主要从单片机的应用上来实现十字路口交通灯的管理,用以控制过往车辆的正常运作。设计目的
本设计首先从定时控制着手,解决交叉口交通控制过程中存在的问题,但是定时控制信号周期固定,不能根据实际的交通流状况随时调整信号控制参数,因此造成很多不必要的时间等待和资源浪费。对左转车辆较少的单交叉口一般采用有固定左转相位的定时控制方法,此信号控制中的左转车辆通行对直行车辆影响很大。行人过街信号与上游交叉口的不协调导致车辆通过上游交叉口后遇到行人过街而再次停车。基于上述交叉口信号控制存在的问题,本设计进行了如下研究:①介绍了常用定时信号控制算法和感应信号控制的基本工作原理,分析了传统定时控制的优越性和局限性。②设计了一种自动信号控制方法,这种方法能使交叉口根据实际交通情况选择合理的定时信号配时方案,不过这个需要配备额外的感应器。
本设计将要完成红灯停,绿灯行,黄灯停3S的操作,并且如当一道有车而另一道无车是,交通灯控制系统能立即让有车的车道放行,单人行道上人数较多时,智能转换交通灯状态,行人优先通过,当有紧急车辆(如110、112、119等急救车)要求通过时,此系统应能禁止普通车辆通行,路口的信号灯全部变红,以便让紧急车辆通过。假定紧急车辆通过时间为2s,紧急车辆通过后,交通灯恢复先前状态。
3设计思路及框图 3.1交通灯设计
首先了解实际交通灯的变化情况和规律。设有一个南北(SN)向和东西(WE)向的十字路口,两方向各有两组相同交通控制信号灯,每组各有四盏信号灯,分别为直行信号灯(S)、左拐信号灯(L)、红灯(R)和黄灯(Y),交通控制信号
山西大学工程学院 第2页
灯布置如图1所示。
根据交通流量不同,交通信号灯的控制可实现手动、自动两种控制。平时使用自动控制,高峰区可使用传感器智能化控制。智能控制时,传感器通过检测道路交通情况对交通信号灯进行实时控制;自动控制时,交通信号灯控制规律用图2状态转换图来描述。
图1
红绿灯显示系统框图
3.2交通灯定时控制
图2
红绿灯系统控制流程图
山西大学工程学院 第3页
定时控制系统控制流程图如上图2,初始状态0为SN直行WE红灯,然后转状态1为SN黄灯WE红灯。过一段时间后,转状态2为SN左拐WE红灯。再转状态3,SN黄灯WE红灯。过一段时间后转状态4,SN红灯WE直行。然后状态4,SN红灯WE直行。状态5为SN红灯WE黄灯。状态6为SN红灯WE左拐。状态7为SN红灯WE黄灯。又循环至状态0,重复循环上述状态。
3.3传感器智能控制
图3 磁检测器方框图
交通灯在采用智能化控制时,采用磁感应车辆检测器.这种环形线圈检测器是传统的交通检测器,是目前世界上用量最大的一种检测设备。这些埋设在道路表面下的线圈可以检测到车辆通过时的电磁变化进而精确地算出交通流量。交通流量是交通统计和交通规划的基本数据,通过这些检测结果可以用来计算占用率(表征交通密度),在使用双线圈模式时还可以提供速度、车辆行驶方向、车型分类等数据,这些数据对于交通管理和统计是极为重要的,可通过分析这些数据,然后通过外部中断动态控制交通灯的状态,实现道路交通灯的智能化控制,让交通灯根据实际情况转换状态。原理框图如上图图3所示。
对于交通信号灯来说,应该有东西南北共四组灯,但由于同一道上的两组的信号灯的显示情况是相同的,所以可以用一个I/O控制相同的两灯,因此,采用单片机内部的I/O口上的P0口中的8个引脚即可来控制16个信号灯。通过编写程序,实现对发光二极管的控制,来模拟交通信号灯的管理。每延时一段时间,灯的显示情况都会按交通灯的显示规律进行状态转换。通过定时器精确延时送显,在原有的交通信号灯系统的基础上,增添其倒计时间的显示功能,实现其功能的扩展。通过添加感应器检测车流量、人行道情况通过外部中断动态调节人、山西大学工程学院 第4页
车流量,使交通更加智能,提高道路运行速率。硬件电路设计 4.1单片机电源电路
图4 电源电路
如上图图4所示是电源电路,这里开关用的双路开关,双路开关并联能更好的确保给后级提供更大电流。电容C4、C5,都是隔离断开直流的,在这里添加了一个发光二极管指示灯,在我们打开开关的时候,这个二极管会亮,下面的R12为限流电阻,给发光二极管提供合适的电流。
4.2 单片机复位电路
单片机的复位操作有上电自动复位和手动按键复位两种方式。本次设计采用手动按键复位设计,如下图5所示。
图5 按键复位电路
当这个电路处于稳态时,电容起到隔离直流的作用,隔离了+5V,而左侧的
山西大学工程学院 第5页
复位按键是弹起状态,下边部分电路就没有电压差的产生,所以按键和电容 C1 以下部分的电位都是和GND 相等的。按键复位有 2 个过程,按下按键之前,RST 的电压是 0V,当按下按键后电路导通,同时电容也会在瞬间进行放电,会处于高电平复位状态。当松开按键后,先是电容充电,然后电流逐渐减小直到 RST 电压变 0V 的过程。按下按键的瞬间,电容两端的 5V 电压会被直接接通,此刻会有一个瞬间的大电流冲击,会在局部范围内产生电磁干扰,为了抑制这个大电流所引起的干扰,在电容放电回路中串入一个 18 欧的电阻来限流。
4.3 交通LED灯及外围驱动电路
图6交通LED灯电路
将NS道上的两个同色灯连在一起,WS道上的同色灯也彼此相连(此处用发光二极管模拟实际的交通灯,各发光二极管的阳极通过保护电阻接到+5v的电源上,发光二极管的阴极接到单片机的P0口)用AT89C51单片机的P0.0—P0.7共8根输出线控制各色交通灯的点亮与熄灭;为了更加直观的显示红绿灯的情况,用了共阳极数码管显示倒计时,数码管显示有动态扫描和静态显示,由于静态显示需要占用过多的IO口,这里用动态扫描,用P1控制数码管的断选信号端,P2.6、P2.7控制数码管的位选信号端,可以显示出每个灯的倒计时。紧急车辆通过时,采用外部触发按键实时中断方式进行处理。根据该系统的功能要求及所用元器件,设计硬件电路,电路原理图如图6所示。
由于单片机的输出电流有限,需要用到芯片驱动LED,使LED可以正常使用,这里使用74LS245,74LS245是一个双向缓冲器,引脚AB是方向引脚,这
山西大学工程学院 第6页
个引脚为高电平的时候,右侧所有的电压都等于左侧对应编号的电压,所以这里AB引脚接的+5V电源,即高电平。图中还有排阻RP1做为上拉电阻。引脚OE为输出使能端,低电平有效。在74LS245输出端有R3~R10的限流电阻,给LED灯提供恰当的电流。
在LED的阳极接有PNP三极管,可以通过单片的P2.5控制所有的LED的通断,只有P2.5端电平为高时LED才能正常工作,通过单片机的P0口控制LED的状态。数码管的显示也需要大电流,这里外接上拉电阻可以提供足够的电流,原理图中用了排阻RP2,可以使数码管正常工作。交通LED灯驱动电路如图7所示。
图7 交通LED灯驱动电路
4.4 按键控制电路
图8 按键控制LED电路图
山西大学工程学院 第7页
智能化控制中使用到传感器,传感器采集到的数据通过系统分析,然后反馈到单片机外部中断,通过中断程序选择合适的处理程序。
整个交通灯控制系统通过按键模拟控制LED的状态,SW1控制LED是定时循环还是智能控制,SW2控制LED灯是顺序切换状态还是手动选择LED状态。SW1按下触发外部中断0进去中断程序,在中断程序中可以通过查询方式判断P3.7是否按下,如果检测到P3.7为低电平则SW2按键按下,系统进入只能控制LED状态模式,单片机通过检测P2.0~P2.3的电平状况确定LED灯要显示的状态,例如:若单片机检测到端口P2.0电平为低,则要求交通灯要WE方向左拐,系统调用左拐子程序,使单片机控制LED灯先NS黄灯闪3下,然后NS红灯亮,WE左拐指示灯变绿。如果系统监测到P3.7为高电平则SW2弹起,系统进入只能顺序切换模式,单片机检测P2.4的电平情况,检测到一次说明按键按下一次,交通的按照定时方式的顺序变换状态,使交通灯稳定顺次执行。
如果遇到十字路口发生交通事故,可以触发紧急逼停按键,这样四个方向都为红绿灯,等突发情况处理完毕后,然后根据实际情况选择合适的处理程序。这样可以根据实际的车、人流量动态调节交通灯,智能解决各种突发情况,按键控制电路如图8所示。
按键消抖有两种方式:硬件消抖和软件消抖,硬件消抖需要引进RS触发器或者单稳态电路,这需要额外的硬件开支,而软件消抖只需要用延时函数就可以完成,因此这里选择软件消抖。
4.5 单片机主电路
采用这款芯片及克服了采用8031需要添加外部外部程序存储器导致电路复杂的缺点,又克服了采用8751导致电路制作成本高的缺点,AT89C51单片机芯片具有以下特性:
1)指令集合芯片引脚与Intel公司的8051兼容; 2)4KB片内在系统可编程FLASH程序存储器; 3)时钟频率为0~33MHZ;
4)128字节片内随机读写存储器(RAM); 5)6个中断源,2级优先级; 6)2个16位定时/记数器;
山西大学工程学院 第8页
图9 单片机引脚结构图
4.6 整体电路图设计
图10 AT89C21单片机交通灯控制电路
本次设计采用AT89C51单片机,其中P0.0—P0.8共8根输出线控制各色交通灯的点亮与熄灭,通过外部中断0控制交通灯的切换方式,端口P3.7控制在
山西大学工程学院 第9页
智能模式下是顺次转换状态还是动态选择,在顺序转换模式下P2.4控制交通灯的状态转换。在动态模式下,根据传感器分析数据结果,通过P2.0~P2.3控制交通的的各种状态。P1和P2.7、P2.6控制数码管的显示,可以直观的看到交通灯的状态。在传感器检测某一方向车流量过多,或者人行道上滞留行人过多,或有紧急车辆通过时,采用外部触发中断实时中断方式进行处理,这时可按下SW1、SW2两按键,然后智能选择交通灯的状态,选择合适的交通灯,让滞留过多的方向通过时间长点,让道路更加通畅。上图10为整个交通灯控制系统的整体电路图。软件设计
5.1 系统程序流程图设计
开始各变量、端口初始化主程序显示子程序N中断信号Y中断子程序
图11 交通控制系统程序流程图
根据硬件电路原理图,并按系统的功能画出程序流程图。由于此系统较为简单,故采用自上而下的设计方法,进行程序设计;对传感器分析的数据处理,采用中断的方法,由中断选择合适的处理程序处理,在传感器不工作的时候,可以返回主程序执行。程序流程如下图11所示。
设计中断处理程序时,最主要的地方是如何保护进入中断前的状态(信号灯、P
山西大学工程学院 第10页
口、单片机寄存器的状态),使得中断程序执行完毕后能问到交通灯中断前的状态。除了保护累加器ACC、标志寄存器PSW外,还要注意主程序中的延时程序和中断处理程序中的延时程序不能混用。
5.2 系统程序设计
如下所示为整个系统控制程序:
#include
//延时计数
//按键次数计数
//数码管显示数值
//定时1秒计数
unsigned char table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0x7f};//共阳极数码管显示编码
unsigned char disdata[4];sbit NSL=P0^0;sbit NSS=P0^1;
//NS左拐指示灯 //NS直行指示灯 //NS红灯指示灯 //NS黄灯指示灯 //WE黄灯指示灯 //WE红灯指示灯 //WE直行指示灯 //WE左拐指示灯 //控制所有LED的灭 //数码管位选端 //数码管位选端 sbit NSR=P0^2;sbit NSY=P0^3;sbit WEY=P0^4;sbit WER=P0^5;sbit WES=P0^6;sbit WEL=P0^7;sbit P2_5=P2^5;sbit P2_6=P2^6;sbit P2_7=P2^7;sbit Key_1=P2^4;sbit Key_2=P2^3;sbit Key_3=P2^2;sbit Key_4=P2^1;sbit Key_5=P2^0;sbit Key_6=P3^7;
//手动切换LED灯状态
//选择NS直行
//选择WE直行
//选择NS左拐
//选择WE左拐
//选择顺序、随机切换
sbit Key_7=P3^6;
//突发情况,四个方向全部红灯 void Time0_Int()
{
//定时器0初始化
TMOD=0x01;TR0=1;EA=1;
山西大学工程学院 第11页
} ET0=1;IT0 = 0;EX0 = 1;TH0=(65536-50000)/256;TL0=(65536-50000)%256;
//延时 m 毫秒 void Delay(unsigned int m){
} void NS_stra(){
} void NS_turn(){
} void NS_stop(){
} void WE_stra(){
} void WE_turn(){
} void WE_stop(){
unsigned int i,j;for(i=m;i>0;i--)for(j=110;j>0;j--);
//NS直行,WE红灯
NSL=1;NSS=0;NSR=1;NSY=1;WEL=1;WES=1;WER=0;WEY=1;
//NS左拐,WE红灯
NSL=0;NSS=1;NSR=1;NSY=1;WEL=1;WES=1;WER=0;WEY=1;
//NS黄灯,WE红灯
NSL=1;NSS=1;NSR=1;NSY=0;WEL=1;WES=1;WER=0;WEY=1;
//WE直行,NS红灯
NSL=1;NSS=1;NSR=0;NSY=1;WEL=1;WES=0;WER=1;WEY=1;
//WE左拐,NS红灯
NSL=1;NSS=1;NSR=0;NSY=1;WEL=0;WES=1;WER=1;WEY=1;
//WE黄灯,NS红灯
山西大学工程学院 第12页
NSL=1;NSS=1;NSR=0;NSY=1;WEL=1;WES=1;WER=1;WEY=0;} void Opera_NS_stra()
{ if(Key_2==0){
Delay(10);
if(Key_2==0)
{
WE_stop();
Delay(3000);
NS_stra();
}
while(Key_2==0);} } void Opera_WE_stra()
{ if(Key_3==0){
Delay(10);
if(Key_3==0)
{
NS_stop();
Delay(3000);
WE_stra();
}
while(Key_3==0);} } void Opera_NS_turn()
{ if(Key_4==0){
Delay(10);
if(Key_4==0){
//手动选择NS直行
//手动选择WE直行
//手动选择NS左拐
山西大学工程学院 第13页
}
}
} WE_stop();Delay(3000);NS_turn();while(Key_4==0);void Opera_WE_turn(){
}
void Opera_Red(){
}
void Choose(){
//手动选择WE左拐
if(Key_5==0){
}
//手动选择WE左拐 Delay(10);if(Key_5==0){
}
while(Key_5==0);NS_stop();Delay(3000);WE_turn();if(Key_7==0){
} Delay(10);if(Key_7==0){
}
while(Key_7==0);NSY=0;WEY=0;Delay(3000);WER=0;NSR=0;
//数码管显示初值判断程序
山西大学工程学院 第14页
if(count==10||count==470||count==930||count==1390){ } if(count==410||count==870||count==1330||count==1790)count2=20;
//判断为绿灯,数码管倒计时初值为20秒
{
count2=3;
} if(count3==20)
{
count2--;
count3=0;} }
void Ledshow()
{
disdata[0]=(count2%10);
disdata[1]=(count2/10);
P2_6=0;P2_7=1;P1=0x00;
P1=table[disdata[0]];
Delay(10);
P2_7=0;P2_6=1;P1=0x00;
P1=table[disdata[1]];
Delay(10);} void Auto()
{ if(count>10&&count<410)
{
NS_stra();Ledshow();} if(count>410&&count<470){
NS_stop();Ledshow();} if(count>470&&count<870){
//判断为黄灯,数码管倒计时初值为3秒
//定时1秒,每隔一秒倒计时减一
//数码管显示程序
//十位显示的数值
//个位显示的数值
//自动转换LED灯状态,绿灯20秒,黄灯3秒
//NS直行指示灯显示20秒,数码管倒计时显示
//NS黄色指示灯显示 3秒,数码管倒计时显示 //NS左拐指示灯显示20秒,数码管倒计时显示
山西大学工程学院 第15页
} NS_turn();Ledshow();if(count>870&&count<930)
//NS黄色指示灯显示 3秒,数码管倒计时显示
{
NS_stop();Ledshow();} if(count>930&&count<1330){
WE_stra();Ledshow();} if(count>1330&&count<1390){
WE_stop();Ledshow();} if(count>1390&&count<1790){
WE_turn();Ledshow();} if(count>1790&&count<1850){
WE_stop();Ledshow();} if(count>1850){
count=0;} } void main()
{ Time0_Int();P2_5=1;while(1){ Auto();Choose();
} }
//WE直行指示灯显示20秒,数码管倒计时显示
//WE黄色指示灯显示 3秒,数码管倒计时显示 //WE左拐指示灯显示20秒,数码管倒计时显示 //WE黄色指示灯显示 3秒,数码管倒计时显示
//主函数
山西大学工程学院 第16页
void Time0()interrupt 1 {
}
//定时50ms TH0=(65536-50000)/256;TL0=(65536-50000)%256;TR0=1;count++;count3++;void Interrput0()interrupt 0
//外部中断0,用按键手动切换LED灯状态 {
while(Key_6==0){
} P2_7=0;P2_6=0;if(Key_1==0){
} switch(count1){
case 1 :NS_stra();break;case 2 :NS_stop();break;case 3 :NS_turn();break;case 4 :NS_stop();break;
//根据按下的次数选择显示状态 Delay(10);if(Key_1==0){ } while(Key_1==0);count1++;
//检测按键按下次数 Delay(10);while(Key_6==0){
} Opera_NS_stra();Opera_WE_stra();Opera_NS_turn();Opera_WE_turn();
//判断是顺序,随机显示
Opera_Red();
山西大学工程学院 第17页
}
} case 5 :WE_stra();break;case 6 :WE_stop();break;case 7 :count1=1;break;default: break;
5.3 仿真结果显示
NS直行
NS左拐 NS黄灯
WE直行 WE左拐 WE黄灯
通过Protues对整个电路和程序仿真,仿真结果如上图,启动电源后,交通灯先按照定时方式按照变换程序依次变换,同时数码管显示倒计时。在传感器检测道路情况后并分析,把结果传给单片机,通过外部中断切换交通灯的变换状态,这里用按键模拟传感器检测到的结果,可以实现根据检测到的流量情况不同,对交通灯实时变换,按照行人优先、高流量方向长时间放行设计,基本上达到了设计要求。
总
结
通过本次课程设计,我们在收获知识的同时,还收获了阅历,收获了成熟.。在此过程中,我们通过查找资料,请教老师,以及不懈的努力,不仅培养了独立思考、动手操作的能力,在各种其它能力上也都有了提高。更重要的是,我们学会了很多学习的方法。而这是日后最实用的,真的是受益匪浅。要面对社会的挑
山西大学工程学院 第18页
战,只有不断的学习、实践,再学习、再实践。使用Protues和Keil作为我们的设计工具,很好地锻炼自己的语言编程能力和软件仿真能力,养成良好的语言编程风格和模拟操作方式。不管怎样,这些都是一种锻炼,一种知识的积累,能力的提高。完全可以把这个当作基础东西,只有掌握了这些最基础的,才可以更进一步,取得更好的成绩。当然,我们还存在着很多不足,设计中有很多还完善的地方,期望以后可以做得更好
参考文献
【1】《手把手教你学 51 单片机-C 语言版》--金沙滩工作室宋雪松编著,清华大学出版社。
【2】《单片机原理与应用及C51程序设计》—杨家国、谢维成,清华大学出版社。
【3】肖洪兵.跟我学用单片机[M].北京:北京航空航天大学出版社,2002.8. 【4】徐惠民、安德宁. 单片微型计算机原理接口与应用[M].第1版.北京:北京邮电大学出版社,1996.【5】于凤明.单片机原理及接口技术[M].北京:中国轻工业出版社.1998. 【6】陈伟人.单片微型计算机原理与应用[M].北京:清华大学出版社, 2006.5.【7】赵晓安.MCS-51单片机原理及应用[M].天津:天津大学出版社,2001.3. 【8】《单片机原理与接口技术》--牛昱光、李晓林等编著,电子工业出版社