交通灯控制器课程设计实验报告
数字系统课程设计-交通灯控制器实验报告
交通灯控制器——数字系统设计报告姓名:学号:一.实验目的1.基本掌握自顶向下的电子系统设计方法2.学会使用PLD和硬件描述语言设计数字电路,掌握 QuartusII等开发工具的使用方法3.培养学生自主学习、正确分析和解决问题的能力二.设计要求我所选择的课题是用Verilog HDL实现交通灯控制器。
该课题的具体内容及要求如下:主干道与乡村公路十字交叉路口在现代化的农村星罗棋布,为确保车辆安全、迅速地通过,在交叉路口的每个入口处设置了红、绿、黄三色信号灯。
红灯禁止通行;绿灯允许通行;黄灯亮则给行驶中的车辆有时间行驶到禁行线之外。
主干道和乡村公路都安装了传感器,检测车辆通行情况,用于主干道的优先权控制。
(1)当乡村公路无车时,始终保持乡村公路红灯亮,主干道绿灯亮。
(2)当乡村公路有车时,而主干道通车时间已经超过它的最短通车时间时,禁止主干道通行,让乡村公路通行。
主干道最短通车时间为25s 。
(3)当乡村公路和主干道都有车时,按主干道通车25s,乡村公路通车16s交替进行。
(4)不论主干道情况如何,乡村公路通车最长时间为16s。
(5)在每次由绿灯亮变成红灯亮的转换过程中间,要亮5s时间的黄灯作为过渡。
(6)用开关代替传感器作为检测车辆是否到来的信号。
用红、绿、黄三种颜色的发光二极管作交通灯。
(7)要求显示时间,倒计时。
(C表示乡村道路是否有车到来,1表示有,0表示无;SET用来控制系统的开始及停止;RST是复位信号,高电平有效,当RST=1时,恢复到初始设置;CLK是外加时钟信号;MR、MY、MG分别表示主干道的红灯、黄灯和绿灯;CR、CY、CG分别表示乡村道路的红灯、黄灯和绿灯,1表示亮,0表示灭)系统流程图如下:(MGCR:主干道绿灯,乡村道路红灯;MYCR:主干道黄灯,乡村道路红灯;MRCG:主干道红灯,乡村道路绿灯;MRCY:主干道红灯,乡村道路黄灯;T0=1表示主干道最短通车时间到,T1=1表示5秒黄灯时间到,T2=1表示乡村道路最长通车时间到。
数字电路-交通灯控制器-实验报告
课题1.4.2:交通灯控制器一.设计课题的任务要求:(一)、实验目的1. 熟练掌握VHDL 语言和QuartusII 软件的使用;2. 理解状态机的工作原理和设计方法;(二)、相关知识本实验要利用CPLD 设计实现一个十字路口的交通灯控制系统,与其他控制系统一样,本系统划分为控制器和受控电路两部分。
控制器使整个系统按设定的工作方式交替指挥车辆及行人的通行,并接收受控部分的反馈信号,决定其状态转换方向及输出信号,控制整个系统的工作过程。
路口交通灯控制系统的有东西路和南北路交通灯R(红)、Y(黄)、G(绿)三色,所有灯均为高电平点亮。
设置20s 的通行时间和5s 转换时间的变模定时电路,用数码管显示剩余时间。
提供系统正常工作/复位和紧急情况两种工作模式。
(三)、实验任务1.基本任务:设计制作一个用于十字路口的交通灯控制器。
1). 南北和东西方向各有一组绿、黄、红灯用于指挥交通,绿灯、黄灯和红灯的持续时间分别为20 秒、5 秒和25 秒;2). 当有特殊情况(如消防车、救护车等)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,继续正常运行;3). 用数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间;二.系统设计(包括设计思路、总体框图、分块设计)(一)设计思路1.总体设计----输入部分:1)CLK时钟频率输入,可由实验板上直接提供,为准确确定时间长度,选择1024Hz信号。
2)紧急状态按键拨码开关EMERGENCY,当将其置为高电平,表示紧急情况发生,两个方向均为红灯亮,计时停止;当置其为低电平,信号灯和计时器恢复原来状态,正常工作。
3)复位拨码开关RESET,当将其置为高电平,表示复位,工作停止,全部回到初始状态;当置其为低电平,重新开始工作。
2.总体设计----输出部分:1)东西方向和南北方向各使用3个LED显示,LIGHT1,LIGHT2,红黄绿各代表红黄绿灯。
交通灯控制实验报告
交通灯控制实验报告交通灯控制实验报告引言:交通灯是城市交通管理的重要组成部分,通过对交通流量的控制,有效地维护交通秩序和安全。
本次实验旨在通过搭建一个简单的交通灯控制系统,探究不同交通流量下的信号灯变化规律,并分析其对交通流畅度和效率的影响。
实验装置:实验装置由红、黄、绿三种颜色的LED灯组成,分别代表红灯、黄灯和绿灯。
通过按键控制,可以切换不同灯光的显示状态。
在实验过程中,我们将模拟不同交通流量情况下的信号灯变化。
实验过程:1. 低交通流量情况下:首先,我们模拟低交通流量情况。
设置红灯时间为20秒,绿灯时间为30秒,黄灯时间为5秒。
在这种情况下,红灯的时间较长,确保道路上的车辆能够安全通过。
绿灯时间相对较短,以充分利用交通资源,提高交通效率。
黄灯时间较短,用于过渡信号灯变化。
2. 中等交通流量情况下:接下来,我们模拟中等交通流量情况。
设置红灯时间为30秒,绿灯时间为40秒,黄灯时间为5秒。
在这种情况下,红灯时间相对较长,确保道路上的车辆能够顺利通过。
绿灯时间适中,以保持交通的流畅性。
黄灯时间依然较短,用于过渡信号灯变化。
3. 高交通流量情况下:最后,我们模拟高交通流量情况。
设置红灯时间为40秒,绿灯时间为50秒,黄灯时间为5秒。
在这种情况下,红灯时间最长,确保道路上的车辆能够完全通过。
绿灯时间相对较长,以缓解交通压力,提高交通效率。
黄灯时间仍然较短,用于过渡信号灯变化。
实验结果:通过实验观察,我们发现不同交通流量下的信号灯变化对交通流畅度和效率有着明显的影响。
在低交通流量情况下,红灯时间较长,确保车辆安全通过,但可能导致交通效率稍有降低。
在中等交通流量情况下,信号灯的设置更加平衡,保证了交通的流畅性和效率。
而在高交通流量情况下,红灯时间最长,确保车辆完全通过,但也导致交通效率相对较低。
结论:通过本次实验,我们得出了以下结论:交通灯的设置应根据不同交通流量情况进行合理调整,以保证交通的流畅性和效率。
交通信号灯控制器课程设计报告
交通信号灯控制器课程设计报交通信号灯控制器课程报告一.设计要求1、设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行, 绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。
2、主、支干道交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25 秒计时、显示电路。
3、在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。
提示:选择1HZ时钟脉冲作为系统时钟。
45秒、25秒、5秒定时信号用倒计时,计控制。
根据交通灯的亮的规则,在初始状态下四个方向的都为红灯亮启,进入正常工作状态后,当主干道上绿灯亮时,支干道上红灯亮,持续45S后,主干道和支干道上的黄灯都亮启,持续5S后,主干道上红灯亮启,支干道上绿灯亮启持续25S,之后主干道和支干道上的黄灯都亮启5s, 一个循环完成。
循环往复的执行这个过程。
设计中用两组红黄绿LED模拟两个方向上的交通灯,用4个7段数码管分别显示两个方向上的交通灯剩余时间,控制时钟由试验箱上频率信号1、2、时起始信号由主控电路给出,每当计满所需时间,计数器清零,由主控电路启、闭三色信号灯或启动另一计时电路。
二.设计思路本设计针对一条主干道和一条支干道汇合成的十字路口,进行南北和东西直行情况下交通灯提供。
根据状态机的设计规范,本次设计了四个状态之间的循环转化,其真值表及状态转化图如下所示三.程序说明1 •各输入输出变量说明:elk:计数时钟qclk:扫描显示时钟rst:复位信号,当rst为1时,控制器和计数器回到初始状态en:使能信号,当en为1时控制器开始工作,en为0时hold:特殊情况控制信号,hold为1时,主、支干道方向无条件显示为红灯seg:用于数码管的译码输出dig:用于选择显示的数码管(片选)numl:用于主干道方向灯的时间显示num2:用于支干道方向灯的时间显示light 1:控制主干道方向四盏灯的亮灭,其中,lightl[O卜lightl[2]分别控制主干道方向的绿灯、黄灯和红灯Hght2;控制支干道方向四盏灯的亮灭,其中,Hght2[0]-light2[2]分别控制支干道方向的绿灯、黄灯和红灯2 •输入输出及中间变量设置:module traffic(en,clk9qclk,rst,hold,numl,num2Jightl Jig ht2,seg,dig;input en,clk,qclk,rst9hold;output [5:0]dig;output[7:0] numl9num2;output[6:0]seg;output[2:0]lightl,light2;reg timl,tim2;reg [3:0]disp_dat;reg[6:0]seg;reg[7:0]numl,num2;reg [7:0] red 1 ,red2,green 1 ,green2,y ello wl ,y ello w2 reg[5:0]dig;reg [l:0]count;reg [ 1: OJstate 1 ,state2;reg [2: OJlight 1 Jight2;always @(en)if(!en) begingreenl<=8*b01000101;redl<=8fb00100101; yellow 1 <=8' bOOOOO 101; green2<=8*b00100101; red2<=8f b01000101; yellow2<=8,b00000101; end4 •主干道方向点亮顺序:always @ (posedge elk) //主干道 begin if(rst) beginlightl<=3f b001; numl<=greenl; end else if(hold) begin3 •初始状态设flightl<=3fbl00; numl<=greenl; end else if(en)begin if(!timl) begin case(statel)2fb00:begin numl<=greenl; statel<=2f b01; end2f b01: begin num 1 <=yellowl; statel<=2f bll; end 2'bll:b£gin numl<=redl; statel<=2f bl0; end2' b 10: begin num 1 <=yellow 1;statel<=2f b00; end default:lightl<=3,bl00; endcase endelse 〃主干道倒数计时 begin if(numl>0)if(numl[3:0]==0) begin numl[3:0]<=4,bl001; numl[7:4]<=numl[7:4]-l;lightl<=3,b001; lightlv=3'b010; lightl<=3f bl00;lightl<=3f b0X0;endelse numl[3:0]<=numl[3:0]-l;if(numl==l)timl<=0;endendelsebegin lightl<=3,b010; numl=2T b00; timl<=0; endend5 •支干道方向点亮顺序:always @ (posedge elk) //支干道beginif(rst)beginlight2v=3'bl00;num2<=red2;endelse if(hold)beginlight2v=3'bl00; num2<=red2; endelse if(en)beginif(!tim2)begintim2<=l;case(statel)2!b00:begin num2<=red2; state2<=2 f b01; end 2f b01: beginnum2<=yellow2; state2<=2f bll; end 2f bll: begin num2<=green2;state2<=2 *blO; end2' b 10: begin num2<=yellow2; state2<=2' bOO; end light2<=3f bl00; light2<=3,b010; light2<=3f b001; light2<=3f b010;default:light2<=3,bl00;endcaseendelse 〃支干道倒数计时beginif(num2>0)if(num2 [3:0]==0)beginnum2[3:0]<=4,bl001;num2 [7:4] <=num2 [7:4]-l; end else num2[3:0]<=num2[3:0] -1; if(num2==l)tim2<=0;end endelsebeginlight2<=3f b010; state2v=2'b00; tim2<=0;endend6 •数码管译码及显示:always @(posedge qclk) 〃定义上升沿触发进程begincount <= count +l T bl;end always @ (count) begincase(count)〃选择扫描显示数据2'dO : disp_dat <= numl[3:0]; 〃第一个数码管2'dl : disp_dat <= numl[7:4]; 〃第二个数码管2'd2 : disp_dat <= num2[3:0]; 〃第三个数码管2'd3 : disp_dat <= num2[7:4]; 〃第四default: disp_dat <= 0; endcaseendalways @ (count) begin case(count)数码管显示位2f d0 : dig<= 6P011111;//选择第一个数码 管显示 2f dl : dig<= 6P101111;//选择第二个数码 管显示 2P2 : dig <= 6P110111;//选择第三个数码 管显示2P3 : dig<= 6P111011;//选择第四个数码管显示default: dig<= 6^111111;endcase endalw 町s @ (disp_dat) begincase (disp_dat)〃七段译码个数码管〃选择4f b0000 : seg<= 7^0111111;〃显示” (T4'b0001 : seg <= 7^0000110; //显示T”4'b0010 : seg<= 7^1011011;〃显示”2”4f b0011 : seg<= 7^1001111;〃显示'3'4'b0100 : seg <=7^1100110; 〃显示”4”4^0101 : seg<= 7^1101101;〃显示”5”4^0110 : seg<= 7^1111101;〃显示”6”4'b0111 : seg<= 7^0000111;〃显示”7”4'bl000 : seg <= 7^1111111;4'bl001 seg <=g 曲*CW ulaion Kg LeC«l Hoti<Sxwiai Jlc XU*Sirrdat^rSatlioxiO Situldli (Brer w 釘| ◎ Ccrrc45boftRew!•... | 色 Ek.w* >•・ V«vef«r»sS>«ol*l i ・e ・od« TiaincI E *:.w7^1101111; // 显示”9”default:7P0111111;//不显示endcaseend endmodule三.仿真波形图IT - D;/t fic2/traffic - traffic 一 (Siaiolat ion Report - Sivulst ion曹 Z>Lo RdiQ vier "ojce, £s5i«rr-an« I«ol5 J>r 如生”seg<=1041kYiooiLin 1】10】1】 1】IO 】LomulOllll J10H1COO(01ICC010D 」I1UI0JumocjijuuvwuuuumifinwiRnjuinmfuuuiiifinnwuuuinjinmnjuu ififimuuuuuinnnjvuuuiJiG BOil Mil=3to 订“co 贩no»3 nca2 QClk r»t rst]38 <j>?TMoslcs Trr^Bar271邛 StatIcteivd 1205 m272MQ licl.il Q ltxhiz9:fl四.实物图。
交通灯控制器课程设计报告
河南科技大学课程设计报告课程名称 __单片机原理课程设计_题目名称 _ 交通灯控制器设计学生学院 ___ 信息工程学院_____专业班级 ___ 自动化114 __学号学生姓名 __ _ ___ ___指导教师 __ _ _______2014 年 6 月 5 日课程设计任务书(指导教师填写)课程设计名称单片机原理学生姓名专业班级自动化114 设计题目交通灯控制器设计一、课程设计目的1.培养学生文献检索的能力,如何利用Internet检索需要的文献资料。
2.培养学生综合分析问题、发现问题和解决问题的能力。
3.培养学生综合运用知识的能力和工程设计的能力。
4.培养学生理论联系实际的能力。
5.提高学生课程设计报告撰写水平。
二、设计内容、技术条件和要求1设计内容交通灯控制器设计主要功能是用单片机控制LED灯模拟指示。
模拟东西南北方向的十字路口交通灯信号控制情况。
以89C51单片机为核心芯片,采用中断方式实现控制。
(1)数码管选用2位共阴极显示的数码管,共4个;(2)东西通行时间为80s,南北通行时间为60s,缓冲时间为3s;2 设计要求•设计单片机最小系统(包括复位按钮、晶振电路等);•绘制实现本设计内容的硬件电路(原理图),系统的组成框图。
•相应的控制状态表;•编写本课程设计内容的软件设计(包含程序流程图和对程序注释)。
•硬件实验部分可选用实验箱测试或Proteus仿真软件实现。
3 总体设计思想(供参考)•利用定时器T0产生每10ms一次的中断,每100次中断为1s;•对两个方向分别显示红、绿、黄灯的剩余时间即可;•用MAX7219芯片实现共阴极显示驱动;•A方向的红灯时间=方向的绿灯时间+黄灯缓冲时间。
4 设计参考交通灯控制器设计有电源电路、单片机主控电路、显示电路、信号灯电路等组成,如图1所示:5 知识点准备:•+5V电源原理及设计;•MAX7219工作原理;•单片机复位电路工作原理及设计(元件选择的依据);•单片机晶振电路工作原理及设计(元件选择的依据);•数码管显示特性、驱动设计及应用;•LM1602液晶显示屏特性、驱动设计及应用;•89C51单片机引脚资源、引脚分配等;单片机汇编语言及程序设计(中断、延时子程序的设计)。
交通灯控制器 EDA课程设计实验报告
目录1课程设计要求 (3)2 电路功能描述 (3)3 设计方案 (3)4设计原理图 (4)5 VHDL语言 (4)6仿真截图 (6)7心得体会 (11)8参考文献 (11)1. 课程设计要求1.1.红、黄、绿灯分别控制显示;1.2.每一个状态分别分配一个时间显示(两位十进制,倒计时);1.3.符合实际交通规律。
2.电路功能描述本设计是实现交通灯的控制,模拟实现了红、绿、黄灯指挥交通的功能。
本设计适用东西和南北方向的车流量大致相同的路口,红灯显示时间30S,绿灯显示时间25S,黄灯显示时间5S,同时用数码管指示当前的状态(红、绿、黄灯)的剩余时间。
当有紧急状况发生时,两个方向都禁止通行,并且显示红灯,当紧急状况解除后,重新计时并且指示时间。
3.设计方案根据设计要求,需要控制显示红、黄、绿三个灯的亮灭状态及显示的时间。
这个设计主要由两部分组成,红黄绿灯的显示模块,显示时间模块。
由实际的交通情况可知,东西方向的显示情况是一致的,南北方向的显示情况也是一致,故在设计的时候就只考虑两种状态,将东西方向合成一种,南北方向合成一种。
红黄绿灯的显示模块用两组共6个灯显示,时间显示模块用LED数码管显示。
此外,本交通灯控制器设置的红黄绿显示方式是参照一些城市的显示规律,红灯30S,绿灯25S,黄灯5S,同时用数码管指示当前状(红、绿、黄灯)的剩余时间。
另外还设有一个紧急状态,当特殊情况发生时,两个方向都禁止通行,指示红灯,紧急状态解除后,重新计时并指示时间。
时间采用倒计时的方式显示。
本设计采用VHDL语言编程,描述各个硬件模块实现的功能,使红、黄、绿灯的转换有一个准确的转换顺序和时间间隔,并进行仿真,通过仿真的结果,得出实验的结果。
在正常情况下的一个完整周期内,交通灯控制器系统一共有四种状态,分别是东西红、南北绿,东西红、南北黄,东西绿、南北红,东西黄、南北红。
其运行方式为东西红、南北绿→东西红、南北黄→东西绿、南北红→东西黄、南北绿,东西黄、南北绿结束后再回到东西红、南北绿的状态,整个周期持续60s。
交通信号灯控制器实验报告
交通信号灯控制器实验报告交通信号灯控制器⼀、设计任务及要求 (2)⼆、总体⽅案设计以及系统原理框图 (2)2.1、设计思路 (2)2.2、各模块相应的功能 (2)2.3、系统原理图 (3)三、单元电路设计 (3)3.1、车辆检测电路 (3)3.2、主控电路 (4)3.3、灯控电路 (5)3.4、计时控制电路 (6)3.5、计时显⽰电路 (6)3.6、反馈控制电路 (7)3.7、置数电路 (7)3.8、时基电路 (7)四、⼯作原理 (8)五、电路的软件仿真及结果分析 (8)5.1、时基电路(555接成的多谐振荡器)的电路图以及波形的显⽰ (8)5.2、结果分析 (10)六、电路的组装调试 (10)6.1、使⽤的主要仪器和仪表 (10)6.2、调试电路的⽅法和技巧 (10)6.3、调试中出现的问题、原因和排除⽅法 (11)七、收获、存在的问题和进⼀步的改进意见 (11)7.1、存在的问题和进⼀步的改进意见 (11)7.2、收获以及⼼得体会 (12)附录⼀:电路所⽤元器件 (14)附录⼆:电路全图 (15)附录三:实际电路图 (16)⼀、设计任务及要求在⼀个主⼲道和⽀⼲道汇交叉的⼗字路⼝,为了确保车辆⾏车安全,迅速通⾏,设计⼀个交通信号灯控制电路,要求如下:1、⽤两组红、绿、黄发光⼆极管作信号灯,分别指⽰主道和⽀道的通⾏状态。
2、通⾏状态⾃动交替转换,主道每次通⾏30秒,⽀道每次通⾏20秒,通⾏交替间隔时为5秒。
3、通⾏状态转换依照“主道优先”的原则,即:当主道通⾏30秒后,若⽀道⽆车则继续通⾏;当⽀道通⾏20秒后,只有当⽀道有车且主道⽆车时才允许继续通⾏。
(⽤按键模拟路⼝是否有车)4、设计计时显⽰电路,计时⽅式尽量采⽤倒计时。
⼆、总体⽅案设计以及系统原理框图2.1、设计思路本次设计采⽤模块划分的⽅法,每个模块完成⼀项功能,最后将各个模块连接起来,设计完成后,⽤Multisim进⾏仿真,仿真成功后,再去实验室焊接调试。
交通灯设计实验报告
一、实验目的1. 理解交通灯控制系统的基本原理和设计方法。
2. 掌握使用单片机进行交通灯控制系统的设计与实现。
3. 培养动手实践能力和团队协作精神。
二、实验原理交通灯控制系统是城市交通管理的重要组成部分,其主要目的是通过红、黄、绿三种信号灯的变换,实现对车辆和行人的有序通行。
本实验采用单片机作为控制核心,通过编写程序实现对交通灯的控制。
三、实验设备1. 单片机开发板(如51单片机开发板)2. 交通灯模块(红、黄、绿三色LED灯)3. 按键模块4. 数码管模块5. 电阻、电容等电子元器件6. 调试工具(如万用表、示波器等)四、实验步骤1. 系统设计(1)确定交通灯控制系统的功能需求:实现红、黄、绿三色LED灯的交替闪烁,满足交通信号灯的基本要求。
(2)设计系统框图:单片机作为核心控制单元,通过编写程序实现对交通灯的控制。
系统框图如下:```+------------------+ +------------------+ +------------------+| | | | | || 单片机 |-------| 交通灯模块 |-------| 按键模块|| | | | | |+------------------+ +------------------+ +------------------+```(3)编写程序:根据系统需求,编写单片机控制程序,实现红、黄、绿三色LED灯的交替闪烁。
2. 硬件搭建(1)将单片机开发板与交通灯模块、按键模块、数码管模块等连接。
(2)根据电路原理图,连接电阻、电容等电子元器件。
(3)使用万用表测试电路连接是否正确。
3. 软件编程(1)使用C语言编写单片机控制程序。
(2)编译程序,生成可执行文件。
(3)将可执行文件烧录到单片机中。
4. 系统调试(1)使用示波器观察单片机引脚输出波形。
(2)检查交通灯模块是否正常工作。
(3)使用万用表测试按键模块是否正常工作。
(4)根据实际情况调整程序参数,确保系统稳定运行。
交通灯控制器实验报告
........学院《单片机原理及应用》课程设计报告题目:交通灯控制器班级:学生姓名:学号:指导老师:日期:年月日摘要当前,大量的信号灯电路正向着数字化、小功率、多样化、方便人、车、路三者关系的协调,多值化方向发展随着社会经济的发展,城市交通问题越来越引起人们的关注。
设计交通灯来完成这个需求就显的越加迫切了.为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。
以下就是运用数字电子设计出的交通灯:本设计是十字路口交通灯控制,所以依据实际交通灯的变化情况和规律,给出如下需求:一个十字路口为东西南北走向。
初始状态25s为南北红灯,初始状态20s东西绿灯。
然后转状态1,南北红灯,东西绿灯闪烁3s,黄灯2s。
再转状态2,南北红灯灭,绿灯亮,东西绿灯灭,红灯亮。
再转状态3,东西红灯,南北绿灯闪烁3s,黄灯2s。
再转初始状态。
关键词:信号灯电路交通控制系统EDA技术目录一. 绪论 (4)引言1.1 设计任务 (4)1.1.1设计题目1.1.2设计内容1.2 系统需求 (4)1.2.1基本要求1.2.2发挥部分1.3小组成员及个人完成情况 (4)1.3.1小组成员1.3.2个人完成情况二.方案比较、方案设计与方案论证 (5)2.1电源提供方案2.2显示界面方案三.单元模块设计 (6)3.1单片机及其外接电路3.2 交通灯时间显示模块3.3按键控制模块3.4声音报警系统四.系统调制与分析 (10)五.总结与心得 (14)参考文献 (14)附录一系统原理图 (15)附录二元件清单 (16)附录三系统源程序 (17)一.绪论引言城市修建城市高速道路,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。
然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。
而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。
交通灯控制系统设计-实验报告
交通灯控制系统设计-实验报告
实验目的:设计一个交通灯控制系统,实现对交通灯的自动控制。
实验材料:
1. Arduino UNO开发板
2. 红绿黄LED灯各1个
3. 杜邦线若干
实验原理:
交通灯系统的控制主要是通过控制LED灯的亮灭来实现。
红
色LED灯表示停止,绿色LED灯表示通行,黄色LED灯表
示警示。
通过控制不同LED灯的亮灭状态,可以模拟交通灯
的不同信号。
实验步骤:
1. 将红色LED灯连接到Arduino开发板的数字输出引脚13,
绿色LED灯连接到数字输出引脚12,黄色LED灯连接到数
字输出引脚11。
2. 在Arduino开发环境中编写控制交通灯的程序。
3. 将Arduino开发板与计算机连接,将程序上传到Arduino开
发板中。
4. 接通Arduino开发板的电源,观察交通灯的亮灭状态。
实验结果:
根据程序编写的逻辑,交通灯会按照规定的时间间隔进行变换,实现红绿灯的循环。
实验总结:
通过本次实验,我们设计并实现了一个简单的交通灯控制系统。
掌握了Arduino编程和控制LED灯的方法,加深了对控制系
统的理解。
通过实验,我们发现了交通灯控制系统的重要性和意义,为今后的交通控制提供了一种可行的解决方案。
交通灯控制实验报告
一、实验目的1. 理解交通灯控制系统的工作原理和基本组成。
2. 掌握PLC(可编程逻辑控制器)编程和调试方法。
3. 学习交通灯控制系统的硬件连接和电路设计。
4. 提高实际应用中解决复杂问题的能力。
二、实验原理交通灯控制系统是城市交通管理的重要组成部分,其基本原理是通过对交通信号灯进行控制,实现交通流量的有序疏导。
本实验采用PLC作为控制核心,通过编写程序实现对交通灯的定时控制。
三、实验器材1. PLC主机2. 交通灯控制模块3. 电源模块4. 交通灯模型5. 连接线四、实验步骤1. 硬件连接:- 将PLC主机与交通灯控制模块、电源模块和交通灯模型连接。
- 将PLC主机与计算机连接,以便进行程序编写和调试。
2. 程序编写:- 根据交通灯控制要求,编写PLC程序。
- 程序主要包括以下部分:- 启动信号处理:检测启动开关状态,控制交通灯开始工作。
- 定时控制:根据设定的时间,控制交通灯的红、黄、绿灯亮灭。
- 紧急处理:检测紧急处理开关状态,实现交通灯的紧急控制。
3. 程序调试:- 在计算机上运行PLC程序,观察程序运行效果。
- 根据实际情况,对程序进行调试和优化。
4. 实验验证:- 在实际硬件环境中运行程序,观察交通灯控制效果。
- 验证程序是否满足实验要求。
五、实验结果与分析1. 实验结果:- 在实验过程中,成功实现了交通灯的控制,实现了红、黄、绿灯的定时切换。
- 在紧急情况下,能够实现交通灯的紧急控制。
2. 结果分析:- 通过实验,掌握了PLC编程和调试方法,提高了实际应用中解决复杂问题的能力。
- 实验结果表明,所设计的交通灯控制系统具有良好的稳定性和可靠性。
六、实验总结本次实验成功实现了交通灯控制系统的设计与实现,达到了预期目标。
通过实验,我们掌握了以下知识点:1. 交通灯控制系统的工作原理和基本组成。
2. PLC编程和调试方法。
3. 交通灯控制系统的硬件连接和电路设计。
本次实验提高了我们的实际应用能力,为以后从事相关领域工作奠定了基础。
PLC控制交通灯实验报告
广东技术师范学院实验报告学院:专业:班级:成绩:姓名:学号:组别:组员:实验地点:实验日期:指导教师签名:实验(1)项目名称:PLC控制交通灯1.实验项目名称PLC控制交通灯2.实验目的和要求(1)熟悉各种基本指令的应用及交通灯的控制方式(2)通过动手接线,提高实际动手能力以及加强对PLC基本结构的理解(3)加强对PLC逻辑顺序编程的理解,能够熟练运用PLC定时器3.主要仪器设备(1)DICE-PLC可编程序控制器实验箱1台(2)编程电缆1根(3)连接导线若干4.实验内容及步骤(1)控制要求信号灯受一个启动开关控制,当启动开关接通时,信号灯系统开始工作,且先南北红灯亮,东西绿灯亮,模拟东西方向车辆行驶的灯亮。
当启动开关断开时,所有信号灯都熄灭。
南北红灯亮维持25秒,东西绿灯亮维持20秒。
到20秒时,东西绿灯闪亮,闪亮3秒后熄灭,模拟东西方向车辆行驶的灯熄灭。
在东西绿灯熄灭时,东西黄灯亮,并维持2秒。
到2秒时,东西黄灯熄灭,东西红灯亮,同时,南北红灯熄灭,绿灯亮,模拟南北方向车辆行驶的灯亮。
东西红灯亮维持25秒,南北绿灯亮维持20秒,然后闪亮3秒后熄灭,模拟南北方向车辆行驶的灯熄灭。
同时南北黄灯亮,维持2秒后熄灭,这时南北红灯亮,东西绿灯亮,周而复始。
交通信号灯的时序图如图1所示:本实验是一个简单时序的顺序控制实验,关键是要将交通灯状态变化的时间点标记出来。
分析时序图,找出交通灯状态发生变化的每个时间点,并使PLC作出相应的动作改变交通灯的状态。
(2)参考实验接线表见图2,可以修改试验模块对应的主机编号。
(2)确定输入、输出端口,连接好导线,并编写程序(3)编译程序,无误后下载至PLC主机的存储器中,并运行程序(4)调试程序,直至符合设计要求5.实验梯形图请画出你的实验接线表和程序梯形图。
交通灯控制器设计实验报告
一、实习目的:1. 通过实习让学生掌握开关电源整机电路;2. 能够根据印制电路板画出整机电路图;3. 能够识别检测开关电源的元器件;4. 能够正确拆卸和焊接元器件;5. 会测试主要工作点的阻值、电压和波形;6. 能够根据故障现象判断故障部位;7. 能够进行实际故障维修。
二、实训器材:万用表、开关电源套件、电烙铁、焊锡、吸锡器。
三、实习原理与步骤:1.认识拆卸、检测元器件。
电阻:5.6Ω,270k,5.1k,270Ω,2.7k,10k,15k。
四个色环电阻的识别:第一、二环分别代表两位有效数的阻值;第三环代表倍率;第四环代表误差。
五个色环电阻的识别:第一、二、三环分别代表三位有效数的阻值;第四环代表倍率;第五环代表误差。
然后用万用表将两表笔(不分正负)分别与电阻的两端引脚相接测出实际电阻值进行比对。
为了提高测量精度,应根据被测电阻标称值的大小来选择量程。
电容:100uF/400WV,100uF/50,10uF/350,100uF/160,22uF/50V,57PF,47000PF。
用万用表进行测量,只能定性的检查其是否有漏电,内部短路或击穿现象。
测量时,可选用万用表R×10k挡,用两表笔分别任意接电容的两个引脚,阻值应为无穷大。
若测出阻值(指针向右摆动)为零,则说明电容漏电损坏或内部击穿。
二极管:1N4007,RG2,FR107。
测试前先把万用表的转换开关拨到欧姆档的RX1K档位(注意不要使用RX1档,以免电流过大烧坏二极管),再将红、黑两根表笔短路,进行欧姆调零。
①正向特性测试,把万用表的黑表笔(表内正极)搭触二极管的正极,红表笔(表内负极)搭触二极管的负极。
若表针不摆到0值而是停在标度盘的中间,这时的阻值就是二极管的正向电阻,一般正向电阻越小越好。
若正向电阻为0值,说明管芯短路损坏,若正向电阻接近无穷大值,说明管芯断路。
短路和断路的管子都不能使用。
②反向特性测试,把万且表的红表笔搭触二极管的正极,黑表笔搭触二极管的负极,若表针指在无穷大值或接近无穷大值,管子就是合格的。
交通灯课程设计报告(必备5篇)
交通灯课程设计报告篇1正常红绿灯运行分有四个模式1.南北方向绿灯通行,东西方向红灯2.南北方向黄灯通行,东西方向红灯3.东西方向绿灯通行,南北方向红灯4.东西方向黄灯通行,南北方向红灯5.执行第一步交通灯课程设计报告篇2本设计主要是介绍了单片机控制下的交通灯控制系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:东西、南北两干道交于十字路口,各干道有一组红、绿、黄三个指示灯,指挥车辆和行人安全通行。
南北方向为主干道,通行时间为12秒;东西方向为支干道,通行时间为9秒。
通行时间最后3秒,绿灯灭,黄灯闪烁,黄灯闪烁完毕变更通行车道。
通行时间由数字显示器显示。
交通灯课程设计报告篇3状态1:南北方向绿灯通行12秒,东西红灯禁止通行15秒,分别倒计时;状态2:南北方向黄灯提醒3秒,东西继续红灯倒计时;状态3:东西方向绿灯通行9秒,南北方向禁止通行12秒;状态4:东西方向黄灯提醒3秒,南北继续红灯倒计时;状态5:执行状态1,反复循环交通灯课程设计报告篇4记住这个点就可以设计软件了。
首先要有时间基础,倒计时从哪来呢?1,延时通过死循环卡主软件的运行来达到延时效果,程序执行效率极低,不可取。
2,定时通过定时器产生时基。
软件设置50ms产生一次定时中断,在中断执行函数中做计数。
50ms执行一次中断函数,通过one_sec_flag累加到20判断时间过去了一秒。
设置一秒标志位scan_flag置一。
在主函数while循环里判断标志位,如果是1,则倒计时计数值减一,即完成了倒计时的软件设计思路交通灯课程设计报告篇5随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。
本交通灯控制系统利用单片机AT89C51作为核心元件,实现了通过信号灯对路面状况的智能控制。
从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。
系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。
实验二报告--交通灯控制器
实验二交通灯控制器一、实验目的设计一个基于EDA的十字路口交通控制器,假设南北方向和东西方向,两个方向分别设置红灯、绿灯、黄灯,每个方向设置一组倒计时显示器,用以指挥车辆和行人有序的通行。
红灯亮表示直行车辆禁行;绿灯亮表示直行车辆可以通行;黄灯亮表示直行车辆即将禁行。
二、实验任务及要求1、能显示十字路口东西、南北两个方向的红、黄、绿的指示状态用两组红、黄、绿三色灯作为两个方向的红、黄、绿灯。
变化规律为:东西绿灯,南北红灯->东西黄灯,南北红灯->东西红灯,南北绿灯->东西红灯,南北黄灯->东西绿灯,南北红灯……依次循环。
2、能实现正常的倒计时功能用两组数码管作为东西和南北方向的允许或通行时间的倒计时显示,显示时间为红灯45秒、绿灯40秒、黄灯5秒。
图13、能实现紧急状态处理的功能(1)出现紧急状态(例如消防车,警车执行特殊任务时要优先通行)时,两路上所有车禁止通行,红灯全亮;(2)显示到计时的两组数码管闪烁;(3)计数器停止计数并保持在原来的状态;4、能实现系统复位功能系统复位后,东西绿灯,南北红灯,东西计时器显示40秒,南北显示45秒。
5、用VHDL语言设计符合上述功能要求的交通灯控制器,并用层次化设计方法设计该电路。
6、个模块的功能用功能仿真的方法验证,可通过有关波形确认电路设计是否正确。
7、完成电路全部设计后,通过系统实验箱下载验证设计课题的正确性。
三、实验原理图1、交通灯状态转换图2、交通灯控制器框图图3 交通灯控制器框图3、交通灯控制的算法流程图图4 交通灯控制的算法流程图四、实验报告要求1、画出顶层原理图。
2、对照交通灯电路框图分析电路工作原理。
3、写出各功能模块的VHDL语言源文件。
4、叙述各模块的工作原理。
5、详述控制器部分的工作原理,绘出详细电路图,写出VHDL语言源文件,画出有关状态机变化。
6、书写实验报告时应结构合理,层次分明,在分析时注意语言的流畅。
交通灯控制器实习报告
实习报告一、实习内容本次实习的主要内容是交通灯控制器的制作与调试。
实习过程中,我们学习了交通灯控制系统的原理,了解了交通灯控制器的设计方法,并亲自动手制作和调试了交通灯控制器。
二、实习过程在实习的第一阶段,我们首先学习了交通灯控制系统的原理。
交通灯控制系统主要由控制器、定时器、译码器和信号灯组成。
控制器负责控制整个系统的运行,定时器用于控制信号灯的亮灭时间,译码器负责将控制器的输出信号转换为信号灯的控制信号,信号灯则根据控制信号的变化显示不同的颜色。
在实习的第二阶段,我们学习了交通灯控制器的设计方法。
我们以一个简单的交通灯控制系统为例,设计了控制器的电路图,并选择了合适的集成电路和元器件。
在设计过程中,我们学习了如何根据系统的功能需求和性能要求,选择合适的集成电路和元器件,并绘制出电路图。
在实习的第三阶段,我们亲自动手制作和调试了交通灯控制器。
我们按照设计好的电路图,用集成电路和元器件组装成了交通灯控制器,并进行了调试。
在调试过程中,我们通过改变定时器的设置,实现了信号灯的亮灭时间和黄灯的闪烁时间的控制。
三、实习收获通过本次实习,我深入了解了交通灯控制系统的原理和工作过程,学会了交通灯控制器的设计方法,提高了动手能力和实际操作技能。
同时,我也认识到了交通灯控制器在实际应用中的重要性,对城市交通管理有了更深刻的认识。
四、实习反思在实习过程中,我发现自己在交通灯控制器的设计和调试方面还存在一些问题。
例如,我在设计控制器电路图时,没有充分考虑到系统的稳定性和可靠性,导致在实际操作中出现了一些问题。
此外,我在调试过程中,也没有及时发现问题所在,导致调试时间较长。
针对这些问题,我认为我在今后的学习和工作中,需要加强对理论知识的学习,提高自己的动手能力,同时也要注重实际操作中的问题排查,提高工作效率。
总的来说,本次实习是一次非常有意义的经历,我从中受益匪浅。
我将把在实习中学到的知识和技能,应用到今后的学习和工作中,为我国的交通管理事业做出自己的贡献。
交通灯控制器 EDA实验报告
一、实验目的1、研究交通灯控制器的工作原理,进行功能设计;2、加深VHDL语言的理解;3、熟练掌握自上而下的分层设计方法;4、熟练掌握EDA软件QUARTUSII的开发流程。
二、实验仪器PC机一台;QUARTUSII 13.0软件;新型设备实验板Altera Blaster下载器三、题目解析1.东西,南北两个方向有红、黄、绿灯指示是否允许通行2. 设置时钟,以倒计时方式显示允许通行的时间3. 绿灯、黄灯、红灯的持续时间分别设置为20秒、10秒和30秒(时间也开自行设置)4. 当东西或南北两路中任一道上出现特殊情况,例如有消防车,警车要去执行任务,交通控制系统可由交警手动控制进入特殊运行状态,即两条道上的所有车辆皆停止通行,红灯全亮,时钟停止计时。
特殊运行状态结束后,管理系统恢复状态继续正常运行四、实验原理五、模块设计以及总电路图1.简要说明由于两个交通灯的倒计时数字的显示是相同的,所以我们这次只使用了两个七段数码管来显示两个交通灯的时间。
我们把60s一个大循环分成了如图所示四个状态s0~s3,且还有一个s4为紧急状态。
当s4启动时,时钟暂停计时,交通灯均亮红灯。
有一个en为紧急状态按钮,rst为复位键,倒计时回到30s,转固态回到s0。
2.分频器模块本次课程使用的实验板默认50MHz晶振。
i_clk为输入信号,用于晶振信号输入;i_rst为复位信号;o_clk为分频信号,输出1Hz;3.LED灯控制模块通过给定的时钟输入判断当前状态下的LED灯点亮情况。
l_clk时钟信号输入l_rst复位l_en为使能端,用于紧急状况4.数码管显示模块通过给定的时钟输入判断当前时间的数字显示c_clk时钟信号输入c_rst复位c_en紧急out_h高位输出用于控制十位out_l地位输出用于控制个位5.数码管将上一部分输出信号进行译码显示6.总电路图根据题意,将各个模块根据原理连接起来,形成如图电路。
六、各个模块代码1.分频器LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;USE ieee.std_logic_unsigned.all;entity FREQUENCY_DIVIDER isgeneric(sys_clk_fre:INTEGER:=50000000;//输入频率div_clk_fre:INTEGER:=1//目标频率);PORT(i_clk : IN STD_LOGIC;i_rst : IN STD_LOGIC;o_clk : OUT STD_LOGIC);END FREQUENCY_DIVIDER;ARCHITECTURE FREQUENCY_DIVIDER_architecture OF FREQUENCY_DIVIDER ISsignal r_div_count:STD_LOGIC_VECTOR(31 downto 0);signal r_div_CLK:STD_LOGIC;BEGINprocess(i_clk,i_rst)beginif(i_rst='1')then //复位r_div_count<=x"00000000";r_div_clk <= '0';elsif(i_clk'event and i_clk='1')thenif(r_div_count=sys_clk_fre/div_clk_fre/2-1)thenr_div_count <= x"00000000";r_div_clk <= NOT r_div_clk;elser_div_count <= r_div_count+1;end if;end if;end process;o_clk <= r_div_clk;END FREQUENCY_DIVIDER_architecture;2.LED控制LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;USE ieee.std_logic_unsigned.all;ENTITY light_control ISPORT(l_clk : IN STD_LOGIC;l_rst : IN STD_LOGIC;l_en : IN STD_LOGIC;red1 : OUT STD_LOGIC;red2 : OUT STD_LOGIC;ye1 : OUT STD_LOGIC;ye2 : OUT STD_LOGIC;green1 : OUT STD_LOGIC;green2: OUT STD_LOGIC);END light_control;ARCHITECTURE light_control_architecture OF light_control IS type state_type is(s0,s1,s2,s3,s4);signal current_state,next_state:state_type;signal counter:std_logic_vector(5 downto 0);BEGINsynch:process(counter)//60s循环beginif l_rst='1'thencounter<="000000";elsif l_clk'event and l_clk='1'thenif l_en='1' thencounter<=counter;elseif counter<59 thencounter<=counter+1;elsecounter<="000000";end if;end if;end if;end process;process(l_rst,l_clk)//状态转换beginif l_rst='1'thencurrent_state<=s0;elsif l_clk'event and l_clk='1'thencurrent_state<=next_state;end if;end process;state_trans:process(current_state)begincase current_state iswhen s0=>if l_en='1' thennext_state<=s4;elseif counter<26 thennext_state<=s0;elsenext_state<=s1;end if;end if;when s1=>if l_en='1' thennext_state<=s4;elseif counter<29 thennext_state<=s1;elsenext_state<=s2;end if;end if;when s2=>if l_en='1' thennext_state<=s4;elseif counter<56 thennext_state<=s2;elsenext_state<=s3;end if;end if;when s3=>if l_en='1' thennext_state<=s4;elseif counter<59 thennext_state<=s3;elsenext_state<=s0;end if;end if;when s4=>if l_en='1' thennext_state<=s4;elseif counter<19 thennext_state<=s0;elsif counter<29 thennext_state<=s1;elsif counter<49 thennext_state<=s2;elsif counter<59 thennext_state<=s3;elsenext_state<=s0;end if;end if;end case;end process;output:process(current_state)//状态输出begincase current_state iswhen s0=>red1<='0';green1<='1';ye1<='0';red2<='1';green2<='0';ye2<='0';when s1=>red1<='0';green1<='0';ye1<='1';red2<='1';green2<='0';ye2<='0';when s2=>red1<='1';green1<='0';ye1<='0';red2<='0';green2<='1';ye2<='0';when s3=>red1<='1';green1<='0';ye1<='0';red2<='0';green2<='0';ye2<='1';when s4=>red1<='1';green1<='0';ye1<='0';red2<='1';green2<='0';ye2<='0';end case;end process;END light_control_architecture;3.计时器LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;USE ieee.std_logic_unsigned.all;ENTITY counter IS-- {{ALTERA_IO_BEGIN}} DO NOT REMOVE THIS LINE!PORT(c_clk : IN STD_LOGIC;c_rst : IN STD_LOGIC;c_en : IN STD_LOGIC;out_h : OUT STD_LOGIC_VECTOR(3 downto 0);out_l : OUT STD_LOGIC_VECTOR(3 downto 0));-- {{ALTERA_IO_END}} DO NOT REMOVE THIS LINE!END counter;-- Architecture BodyARCHITECTURE counter_architecture OF counter ISsignal coul,couh:std_logic_vector(3 downto 0);beginprocess(c_rst,c_clk,c_en)beginif c_rst='1' thencoul<="0000";couh<="0011";//这里是如果启用了复位键,就会从的第一个小循环30s开始倒计时,所以高位是0011也就是3,低位从0开始倒计时,即30→29…elsif c_clk'event and c_clk = '1' thenif c_en='1'thencouh<=couh;coul<=coul;elseif c_rst='0' thenif(coul=1 and couh=0)thencouh<="0011";coul<="0000";elsif coul=0 thencoul<="1001";couh<=couh-1;elsecoul<=coul-1;//这里是每减少10s高位会减1,如20→19高位从2到1,低位置9end if;end if;end if;end if;end process;out_h<=couh;out_l<=coul;END counter_architecture;4译码显示LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;USE ieee.std_logic_unsigned.all;-- Entity DeclarationENTITY digits_h IS-- {{ALTERA_IO_BEGIN}} DO NOT REMOVE THIS LINE!PORT(d_h : IN STD_LOGIC_VECTOR(3 downto 0);a : OUT STD_LOGIC;b : OUT STD_LOGIC;c : OUT STD_LOGIC;d : OUT STD_LOGIC;e : OUT STD_LOGIC;f : OUT STD_LOGIC;g : OUT STD_LOGIC);-- {{ALTERA_IO_END}} DO NOT REMOVE THIS LINE!END digits_h;ARCHITECTURE digits_h_architecture OF digits_h IS signal tmp:std_lOGIC_VECTOR(6 DOWNTO 0);beginprocess (d_h)begincase d_h iswhen"0000"=>tmp<="0000001";when"0001"=>tmp<="1001111";when"0010"=>tmp<="0010010";when"0011"=>tmp<="0000110";when"0100"=>tmp<="1001100";when"0101"=>tmp<="0100100";when"0110"=>tmp<="0100000";when"0111"=>tmp<="0001111";when"1000"=>tmp<="0000000";when"1001"=>tmp<="0000100";when others=>tmp<="1111111";end case;end process;a<=tmp(6);b<=tmp(5);c<=tmp(4);d<=tmp(3);e<=tmp(2);f<=tmp(1);g<=tmp(0);END digits_h_architecture;七、实验验证验证通过!八、心得体会通过本次数字电路与逻辑实验课程的学习以及大作业的完成,我们学习了EDA相关的编程语言基础语法与软件的基本使用,掌握了一定的基础能力,了解电子设计自动化这片领域的重要性以及其发展,实践了从设计到实现的全部过程,培养了对eda设计的兴趣,对本科阶段实操方面的能力很有帮助。
数字系统课程设计-交通灯控制器实验报告
numb=5;
s2=0;
\
end
else
begin
if(numb[3:0] == 0 && numb[7:4]) //逢十时
begin
numb[3:0] = 9;
numb[7:4] = numb[7:4] - 1;
end
…
else
if(numb && numb[3:0])
begin
numb[3:0] = numb[3:0] - 1;
LAMPA=1;//保持在主干道绿灯
end
else if(numa==1&&c==1&&s1)//主干道最短通车时间没到,并且乡村道路有车
begin //主干道变黄灯倒计时变成5秒
s1=0;
[
LAMPA =2;
numa = 8'b00000110;//为了配合时钟设置为6秒
end
else
begin
if(numa[3:0] == 0 && numa[7:4]) //逢十时
主干道与乡村公路十字交叉路口在现代化的农村星罗棋布,为确保车辆安全、迅速地通过,在交叉路口的每个入口处设置了红、绿、黄三色信号灯。红灯禁止通行;绿灯允许通行;黄灯亮则给行驶中的车辆有时间行驶到禁行线之外。主干道和乡村公路都安装了传感器,检测车辆通行情况,用于主干道的优先权控制。
(1)当乡村公路无车时,始终保持乡村公路红灯亮,主干道绿灯亮。
reg[3:0] TAH,TAL,TBH,TBL;
reg[2:0] LAMPA,LAMPB;
always @(posedge CLK or posedge rst ) //该进程控制主道方向的四种灯
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011级课程设计实验报告交通灯控制器院(系):计算机与信息工程学院专业年级: 2011级通信工程一班姓名: 谢仙学号: 20114505指导教师: 杨菊秋2013年06月25日目录1 引言 (3)2 任务与要求 (3)3 课程设计摘要及整体方框图 (3)4 课程设计原理 (4)4.1 555定时器 (5)4.2七位二进制计数器4024 (6)4.3二进制可逆计数器74LS193 (8)4.4数码显示电路 (9)结论 (10)体会与收获 (10)附录:1、整体电路原理图 (11)2、元件表 (12)3、焊接与调试 (12)1引言交通信号灯常用于交叉路口,用来控制车辆的流量,提高交叉路口车辆的通行能力,减少交通事故。
本交通灯设计主要由秒脉冲发生器、计数器、译码显示电路组成。
秒脉冲发生器由NE555产生脉冲,计数器由74LS193和4024实现,译码电路采用74LS48和七段数码管来显示。
2设计任务与要求交通灯控制信号的应用非常广泛。
本电路设计一个交通灯控制器,需要达到的目的如下;一个周期64秒,平均分配,前32秒红灯亮,后32秒绿灯亮。
在红灯亮的期间的后8秒与红灯在一起的黄灯闪烁(注意:红灯同时亮)。
为了显示效果明显,设计闪烁频率为1。
在绿灯亮的期间的后8秒与绿灯在一起的黄灯闪烁(注意:绿灯同时亮),为了显示效果明显,设计闪烁频率为1。
在黄灯闪烁期间,数码管同时倒计时显示,在此期间以外,数码管不亮。
3课程设计摘要及整体方框图为了完成交通灯控制电路的设计,方案考虑如下:一个脉冲信号发生器,一个二进制加法计数器,一个十进制减法计数器,红灯与绿灯以及黄灯是否亮是由二进制加法计数器的输出端状态来决定的,因此,设计一个组合逻辑电路,它的输入信号就是二进制加法计数器的输出信号,它的输出就是发光二极管的控制信号,因此,需要一个组合逻辑电路,六个发光二极管(二个红色发光二极管,二个绿色发光二极管,二个黄色发光二极管)电路,一个数码管显示电路。
结构图如下:4 课程设计原理分析及相关知识概述脉冲信号发生器由定时器555构成。
二进制加法计数器由七位二进制加法计数器构成。
十进制减法计数器由74LS193可逆可预置十进制计数器构成。
组合逻辑电路根据其输入输出的逻辑关系后再确定电路芯片。
驱动器选用74LS48。
从以上讨论可知,需要对所采用的芯片有比较详细的了解。
下面对以上几种芯片的基本知识和基本特性进行介绍。
4.1 555定时器555定时器是一块常用的集成电路,电路符号如左图所示,8为电源端VCC,1为公共端GND。
所加电源电压范围:4.5V<VCC<18V,最大输出电流达200mA。
内部电路原理图如右图所示,内部有三个相同的分压电阻,每个电阻上的电压都为1/3VCC。
两个比较器C1和C2,C1的比较电压为2/3 VCC,C2的比较电压为1/3 VCC,当比较器“+”端电压大于比较器“-”端电压时,比较器输出高电平(其状态用1表示),当比较器“+”端电压低于比较器“-”端电压时,比较器输出低电平(其状态用0表示)。
G1,G2两个与非门构成基本RS 触发器,G3为输出缓冲反相器,起整形和提高带负载能力的作用。
T 为泄放三极管,为外接电容提供充放电回路。
利用555定时器设计电路时,主要是考虑如何让2和6的电位发生变化(外接信号或利用电容器的充放电过程实现)而让定时器的输出状态发生变化,而设计成各种具有不同功能的电路。
实际555器件如小图所示,有小圆点对应的脚为1脚,依逆时针方向依次为2,3,4,5,6,7,8号脚。
555应用:多谐振荡器(产生连续矩形波信号),电路原理如图所示(4脚为高电平时,电路振荡,4脚为低电平时,电路不振荡)。
开始时,内部泄放三极管由于其基极输入为低电平,是截止的,电源通过R2和R1对电容器C 充电,2,6脚电位开始上升,当上升到2VCC/3时,电路状态发生翻转,内部泄放三极管由于其基极输入为高电平,所以饱和导通,电容器通过R1放电,2,6脚电位又开始下降,直至降到VCC/3,电路状态再次发生翻转,内部泄放三极管截止,电源再次对电容器充电。
这样周而复始,输出连续的矩形波信号,由3脚输出。
一般取C1为103电容。
理论推导出,振荡器的频率由电阻R1,R2和电容C 决定。
CR R f )2(43.121+=脉冲波的占空比由电阻R1和R2决定,结果为21212R R R R ++=γ可见,当R2越小时,占空比接近50%。
4.2 七位二进制计数器4024七位二进制计数器4024各脚功能如图所示,14脚为电源端,所接电源电压范围:+3V--+15V,7脚接地GND。
2脚为复位端(清零端),高电平有效。
1脚为脉冲信号输入端,下降沿有效(即计数器在脉冲下降沿时刻计数)。
Q7Q6Q5Q4Q3Q2Q1是七个数据输出端,Q7为最高位,Q1为最低位。
当输入脉冲信号后,计数器输出端的状态变化:0000000—1111111。
本电路中的组合逻辑电路的输入信号为二进制计数器的输出信号Q7Q6Q5Q4Q3Q2,设计Q2信号频率为1,而输出应为六个表示路口交通灯信号的发光二极管(一方为红绿黄灯DR1,DG1,DY1;另一方为红绿黄灯DR2,DG2,DY2)的控制信号,分别用LR1,LG1,LY1和LR2,LG2,LY2表示,但注意到DR1和DG2状态相同,DG1和DR2状态相同,DY1和DY2状态相同,所以实际上只要三个输出信号即可,分别用L1,L2,L3表示。
组合逻辑电路的输出信号L1,L2,L3与电路的输入信号Q7,Q6,Q5,Q4,Q3,Q2的关系用如下真值表表示:Q6,Q5,Q4,Q3,Q2的关系用如下真值表表示:从以上可知71Q L =,需要低电平有效时,71Q L =72Q L =,需要低电平有效时,72Q L =56563Q Q Q Q L ==71Q L =,需要低电平有效时,71Q L =72Q L =,需要低电平有效时,72Q L =56563Q Q Q Q L ==考虑到黄灯需要闪烁,可以让L3信号和Q1信号(频率为2HZ 的脉冲波)加到一个二输入的与非门的两个输入端,输出信号为L4,134Q L L *=当L3为0时,14=L 当L3为1时,14Q L =可见,需要L4低电平有效,这样,L3为0时,黄灯不亮,L3为1时,黄灯闪烁。
由以上讨论可知,需要二个二输入的与非门,三个非门,为节约器件,三个非门中的二个非门用与非门实现,另一个非门用三极管实现。
这样,需要四个二输入的与非门, 正好可以用芯片74LS00,一个三极管构成的非门。
74LS00外形为DIP14,74LS00是一块四-二输入的数字集成芯片,内有四个完全 一样的二输入的与非门,14脚接VCC (+5V ),7脚接地GND 。
它们中的四个二输入的与非门如图所示,其中A ,B 为与非门的两个输入端,Y 为输出端。
额定拉电流4mA ,额定灌电流8mA 。
额定输出高电平电压3.6V 。
4.3 可逆十进制计数器选用74LS193可预置二进制可逆计数器74LS193简介74LS193外形结构为DIP16,其中(8)脚接GND,(16)脚接+5V电源。
1 CU—加计数脉冲信号输入端。
2 CD—减计数脉冲信号输入端。
注意:用其中一个输入端时,另一个输入端接高电平。
3 Q3,Q2,Q1,Q0--计数器数据输出端,Q3为最高位,Q0为最低位。
4 P3,P2,P1,P0 ---计数器预置数输入端,当计数器处于预置数状态时,通过该输入端预置数,此时Q3Q2Q1Q0=P3P2P1P0。
5 MR—复位信号输入端,上升沿有效,即当MR从0跳到1时,计数器复位,此时Q3Q2Q1Q0=0000。
当MR=0时,计数器处于计数状态。
6 PL—预置数功能控制端,低电平有效,当PL=0时,计数器处于预置数状态,当PL=1时,计数器处于计数状态。
7 TCU—加计数进位信号输出端。
8 TCD—减计数借位信号输出端。
根据设计要求,预置数为8,P3=1,接高电平(电源),P2=P1=P0=0,接低电平(地GND)。
黄灯不亮,即L3=0时,计数器需要处于预置数状态,即PL=0,黄灯亮,即L3=1时,计数器需要处于计数状态,即PL=1。
可见,PL=L3.作为减法器使用,CU接高电平,CD接脉冲信号Q2。
因计数器处于计数状态或预置数状态,不能处于复位状态,因此让MR=0.从前面讨论可知,多谐振荡器的振荡频率为2HZ。
以此确定多谐振荡器电路的电阻和电容。
4.4 数码显示电路四线-七段译码器/驱动器74LS48(内带上拉电阻)16脚接电源+VCC=+5V,8脚接地GND。
DCBA为8421BCD码数据输入端,D为最高位,A为最低位。
a,b,c,d,e,f,g(高电平有效,输出电流小于6mA)为7个输出端,分别接七段数码管的7个输入端a,b,c,d,e,f,g,所接数码管必须是共阴数码管。
BI/为高电平(或开路)LT灯测试输入端,低电平有效,即当此灯为低电平且RBO时,输出全为高电平,数码管内所有发光二极管全亮。
BI/消隐输入(低电平有效)/脉冲消隐输出(低电平有效),只要此端为低RBO电平,输出全为低电平,数码管内所有发光二极管全不亮。
RBI脉冲消隐输入端,低电平有效。
当此端为低电平且ABCD也同时为低电平时,输出全为低电平,数码管内所有发光二极管全不亮。
从以上结果知道,要让数码管正常显示0—9,3,4,5脚都要接高电平。
要让数码管显示1—9而不显示0,则3接高电平,5接低电平,4悬空(或电源通过电阻接4)。
这实际上就是消0,例于最高位的数码管就希望是这样。
组成数码管的七段实际上就是七个发光二极管,当这七个发光二极管中不同的二极管亮时,就显示0—9中不同的数字。
数码管的输出引脚有两种形式,一种是上下排列,一种是两边排列,各引脚名称如下面两图所示。
6 110 5结论经过焊接与调试之后,结果符合要求。
在红灯亮的期间的后8秒与红灯在一起的黄灯闪烁,闪烁频率为1。
在绿灯亮的期间的后8秒与绿灯在一起的黄灯闪烁,闪烁频率为1。
在黄灯闪烁期间,数码管同时倒计时显示,在此期间以外,数码管不亮。
体会与收获通过这次课程设计,加强了我的动手、思考和解决问题的能力。
现在设计已经做好了,完成了课程设计的任务并且达到了设计的要求。
虽然花了很多时间,但是从中学到了很多东西。
做课程设计的时候,自己把刚刚学完的数电知识回顾了一遍,对个别元器 件的逻辑功能以及用法清楚的了解了一遍。
增强了自己对知识的理解,很多以前不是很懂的问题现在都已经一一解决了。
在课程设计的过程中想了很多种方案,对同一个问题(像计数器的接法)都想了很多不同的接法,用不同的芯片进行了比较,并且向数电老师仔细询问各个芯片的优缺点,最后还是采取了上面的方法进行连接。