交通灯控制器课程设计实验报告
数字电路-交通灯控制器-实验报告
![数字电路-交通灯控制器-实验报告](https://img.taocdn.com/s3/m/9f0595207375a417866f8f45.png)
课题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,红黄绿各代表红黄绿灯。
交通灯控制实验报告
![交通灯控制实验报告](https://img.taocdn.com/s3/m/8f47a47886c24028915f804d2b160b4e777f8154.png)
交通灯控制实验报告交通灯控制实验报告引言:交通灯是城市交通管理的重要组成部分,通过对交通流量的控制,有效地维护交通秩序和安全。
本次实验旨在通过搭建一个简单的交通灯控制系统,探究不同交通流量下的信号灯变化规律,并分析其对交通流畅度和效率的影响。
实验装置:实验装置由红、黄、绿三种颜色的LED灯组成,分别代表红灯、黄灯和绿灯。
通过按键控制,可以切换不同灯光的显示状态。
在实验过程中,我们将模拟不同交通流量情况下的信号灯变化。
实验过程:1. 低交通流量情况下:首先,我们模拟低交通流量情况。
设置红灯时间为20秒,绿灯时间为30秒,黄灯时间为5秒。
在这种情况下,红灯的时间较长,确保道路上的车辆能够安全通过。
绿灯时间相对较短,以充分利用交通资源,提高交通效率。
黄灯时间较短,用于过渡信号灯变化。
2. 中等交通流量情况下:接下来,我们模拟中等交通流量情况。
设置红灯时间为30秒,绿灯时间为40秒,黄灯时间为5秒。
在这种情况下,红灯时间相对较长,确保道路上的车辆能够顺利通过。
绿灯时间适中,以保持交通的流畅性。
黄灯时间依然较短,用于过渡信号灯变化。
3. 高交通流量情况下:最后,我们模拟高交通流量情况。
设置红灯时间为40秒,绿灯时间为50秒,黄灯时间为5秒。
在这种情况下,红灯时间最长,确保道路上的车辆能够完全通过。
绿灯时间相对较长,以缓解交通压力,提高交通效率。
黄灯时间仍然较短,用于过渡信号灯变化。
实验结果:通过实验观察,我们发现不同交通流量下的信号灯变化对交通流畅度和效率有着明显的影响。
在低交通流量情况下,红灯时间较长,确保车辆安全通过,但可能导致交通效率稍有降低。
在中等交通流量情况下,信号灯的设置更加平衡,保证了交通的流畅性和效率。
而在高交通流量情况下,红灯时间最长,确保车辆完全通过,但也导致交通效率相对较低。
结论:通过本次实验,我们得出了以下结论:交通灯的设置应根据不同交通流量情况进行合理调整,以保证交通的流畅性和效率。
交通信号灯控制器课程设计报告
![交通信号灯控制器课程设计报告](https://img.taocdn.com/s3/m/6d31f8a2866fb84ae45c8dfc.png)
交通信号灯控制器课程设计报交通信号灯控制器课程报告一.设计要求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四.实物图。
交通灯实训实验报告
![交通灯实训实验报告](https://img.taocdn.com/s3/m/b0c6f55817fc700abb68a98271fe910ef02dae06.png)
一、实验目的1. 理解交通灯控制系统的工作原理。
2. 掌握使用单片机进行交通灯控制系统的设计与实现。
3. 提高动手实践能力和问题解决能力。
二、实验原理交通灯控制系统通常采用单片机作为核心控制单元,通过编程实现对交通灯的红、黄、绿三种灯光状态的切换。
本实验采用单片机(如STC89C52)作为核心控制单元,利用定时器实现灯光的定时切换,并通过LED灯模拟交通灯的灯光状态。
三、实验器材1. 单片机开发板(如STC89C52开发板)2. LED灯(红、黄、绿各一个)3. 电阻(根据LED灯的规格选择)4. 跳线5. 编程器6. 计算机四、实验步骤1. 硬件连接:- 将红、黄、绿LED灯分别连接到单片机的P1.0、P1.1、P1.2端口。
- 将电阻串联在每个LED灯的两端,防止LED灯过载。
- 将跳线连接到单片机的相关引脚,用于编程和调试。
2. 软件编程:- 使用Keil软件编写单片机程序,实现交通灯的控制逻辑。
- 设置定时器,实现灯光的定时切换。
- 编写主循环程序,根据定时器的值切换LED灯的状态。
3. 程序调试:- 将程序烧录到单片机中。
- 使用示波器或逻辑分析仪观察LED灯的状态,确保程序运行正常。
4. 实验验证:- 将LED灯连接到实际交通灯的位置。
- 启动单片机,观察LED灯的状态是否符合交通灯的控制逻辑。
五、实验结果与分析1. 实验结果:- 红灯亮时,表示禁止通行。
- 绿灯亮时,表示允许通行。
- 黄灯亮时,表示准备切换到红灯。
2. 实验分析:- 通过本次实验,掌握了使用单片机进行交通灯控制系统的设计与实现。
- 了解了定时器在实现灯光切换中的作用。
- 提高了动手实践能力和问题解决能力。
六、实验总结1. 优点:- 实验操作简单,易于上手。
- 理论与实践相结合,提高了学生的动手能力。
2. 不足:- 实验内容较为简单,未能涉及到复杂交通灯控制系统的设计。
- 实验器材较为有限,限制了实验的拓展性。
七、实验拓展1. 研究复杂交通灯控制系统的设计,如多路口交通灯协同控制。
交通灯控制器 EDA课程设计实验报告
![交通灯控制器 EDA课程设计实验报告](https://img.taocdn.com/s3/m/f45ebd46eef9aef8941ea76e58fafab069dc44f8.png)
目录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。
交通信号灯控制器实验报告
![交通信号灯控制器实验报告](https://img.taocdn.com/s3/m/7410e4f8f9c75fbfc77da26925c52cc58bd69072.png)
交通信号灯控制器实验报告交通信号灯控制器⼀、设计任务及要求 (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进⾏仿真,仿真成功后,再去实验室焊接调试。
交通灯设计实验报告
![交通灯设计实验报告](https://img.taocdn.com/s3/m/8e99b8241611cc7931b765ce05087632311274bd.png)
一、实验目的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)根据实际情况调整程序参数,确保系统稳定运行。
交通灯信号控制器的设计实验报告
![交通灯信号控制器的设计实验报告](https://img.taocdn.com/s3/m/9955beac65ce050876321342.png)
交通灯信号控制器的设计1、实验目的(1)学习QuartusII软件的基本使用方法。
(2)学习VHDL程序的基本结构和基本语句。
2、实验内容欲设计一个由一条主干道和一条支干道的汇合点形成的十字交叉路口的交通灯控制器,具体要求如下:(1)主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。
(2)主干道处于常允许通行状态,支干道有车来时才允许通行;当主干道允许通行亮绿灯时,支干道亮红灯;支干道允许通行亮绿灯时,主干道亮红灯。
(3)当主、支道均有车时,两者交替允许通行,主干道每次放行45s,支干道每次放行25s,在每次由亮绿灯变成亮红灯的转换过程中,要亮5s的黄灯作为过渡,并进行减计时显示。
3、设计思路交通控制器拟由单片的CPLD/FPGA来实现,经分析设计要求,整个系统由8个单元电路组成,包括:JTDKZ:交通灯状态控制CNT45S:45秒计时CNT05S:5秒计时CNT25S:25秒计时XSKZ:产生数码管段码数据,数据为BCD码YMQ:译码器,将BCD码转为段码CTRLS:产生数码管动态扫描信号MUXB41:4选1数据选择器,并产生位选信号整个控制系统中,U1为交通灯控制模块JTDKZ,此模块根据主、支道传感器信号SM、SB以及来自时基发生电路的时钟信号CLK,发出主、支道指示灯的控制信号,同时向各定时单元、显示控制单元发出使能控制信号EN45、EN25、EN05M、EN05B;U2、U3、U4为45s、5s、25s定时单元CNT45S、CNT05S、CNT25S,这些单元根据SM、SB、CLK及JTDKZ发出的有关使能控制信号EN45、EN25、EN05M、EN05B,按要求进行定时,并将其输出传送至显示控制单元;U5为显示控制单元XSKZ,此单元根据JTDKZ发出的有关使能控制信号EN1、EN2、EN3、EN4选择定时单元CNT45S、CNT05S、CNT25S的输出,并将之传送至各显示译码器:U6、U7、U8、U9为译码器YMQ,它将显示控制单元XSKZ的输出作为输入进行译码,将XSKZ的时间BCD码译码为数码管的8位段码,并将产生的段码经MUXB41送给数码管进行动态扫描显示的过程,动态扫描的选测信号由CTRLS产生。
PLD交通灯实验报告!!!
![PLD交通灯实验报告!!!](https://img.taocdn.com/s3/m/340d14c8cfc789eb172dc8f5.png)
实验报告课程名称复杂可编程逻辑器件及数字系统设计__________ 实验项目设计交通灯控制器系别仪器科学与光电工程学院_______________ 专业________________ 测控技术与仪器__________________ 班级/学号_____________________________________________学生姓名____________________________________________实验日期2014-12-14一、实验目的1设计一个简易交通灯控制器,并在实验装置上验证所设计的电路;2 •学习层次化设计方法。
二、实验要求位于十字路口的交通灯,在A方向和B方向各有红、黄、绿三盏灯,亮灭顺序如表所示,1表示亮,0表示灭,假设灯亮灭时间均为1S。
本实验设计输入方法、验证器件不限,最终需建立一个元件符号。
思考题:如何实现各灯亮灭时间可调?三、模块电路设计思路分析:想要实现:灯亮灭时间均为1S,需要有1S的定时,拟采用层次化设计方法完成各个模块的设计,即底层电路用VHDL语句实现功能,顶层电路把各个模块连接起来,构成整个交通灯控制。
1、分频器1.1、10M的分频器底层电路VHDL程序如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_ un sig ned.all; --程序包en tity div_10M is --主体port(clk:in std_logic; --端口表divout:out std_logic);en d;architecture f1 of div_10M is --结构体sig nal cn t:std_logic_vector(23 dow nto 0);sig nal clk_temp:std_logic;con sta nt m:i nteger:=4999999;beginprocess(clk) --进程beginif clk 'event and clk='1' the nif cn t=m the n clk_temp<=not clk_temp;cn t<=(others=>'0');else cn t<=c nt+1; end if;end if; divout<=clk_temp; end process;end f1;1.2、10M的分频器顶层模块如下i irstl2、计数器2.1、设计一个8进制计数器底层VHDL语句如下: LIBRARY ieee;USE ieee.std」o gic_1164.ALL;USE ieee.std_logic_ un sig ned.ALL;ENTITY cou nt_8 ISPORT(clk:IN std_logic;q:OUT std_logic_vector(2 DOWNTO 0));END;ARCHITECTURE one OF count_8 ISsig nal q1:std」o gic_vector(2 DOWNTO 0); BEGINPROCESS(clk)BEGINif clk'eve nt and clk='1' the nq1<=q1+1;END IF;END PROCESS;q<=q1;END;22、8进制计数器顶层模块:\ couni_8elk cq[2 0]instl■-・u・‘r i 气rF・・.・■・・«■・i ■■・uf ■ ■2.3、计数器仿真结果如下:增计数器从0计数到7然后循环输出3个二进制数从000到110。
交通灯控制器实验报告
![交通灯控制器实验报告](https://img.taocdn.com/s3/m/adfab418844769eae009ed3b.png)
........学院《单片机原理及应用》课程设计报告题目:交通灯控制器班级:学生姓名:学号:指导老师:日期:年月日摘要当前,大量的信号灯电路正向着数字化、小功率、多样化、方便人、车、路三者关系的协调,多值化方向发展随着社会经济的发展,城市交通问题越来越引起人们的关注。
设计交通灯来完成这个需求就显的越加迫切了.为了确保十字路口的行人和车辆顺利、畅通地通过,往往采用电子控制的交通信号来进行指挥。
以下就是运用数字电子设计出的交通灯:本设计是十字路口交通灯控制,所以依据实际交通灯的变化情况和规律,给出如下需求:一个十字路口为东西南北走向。
初始状态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)一.绪论引言城市修建城市高速道路,在高速道路建设完成的初期,它们也曾有效地改善了交通状况。
然而,随着交通量的快速增长和缺乏对高速道路的系统研究和控制,高速道路没有充分发挥出预期的作用。
而城市高速道路在构造上的特点,也决定了城市高速道路的交通状况必然受高速道路与普通道路耦合处交通状况的制约。
交通灯控制系统设计-实验报告
![交通灯控制系统设计-实验报告](https://img.taocdn.com/s3/m/c4dffc6b76232f60ddccda38376baf1ffc4fe3a0.png)
交通灯控制系统设计-实验报告
实验目的:设计一个交通灯控制系统,实现对交通灯的自动控制。
实验材料:
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灯的方法,加深了对控制系
统的理解。
通过实验,我们发现了交通灯控制系统的重要性和意义,为今后的交通控制提供了一种可行的解决方案。
交通灯控制器设计实验报告
![交通灯控制器设计实验报告](https://img.taocdn.com/s3/m/eb80c9316d175f0e7cd184254b35eefdc8d3157c.png)
交通灯控制器设计实验报告设计性实验项目名称交通灯控制器设计实验项目学时:3学时实验要求:■必修□选修一、实验目的1、学习与日常生活相关且较复杂数字系统设计;2、进一步熟悉EDA实验装置和QuartusⅡ软件的使用方法;3、学习二进制码到BCD码的转换;4、学习有限状态机的设计应用。
二、实验原理交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,车辆如果只要东西和南北方向通行就很简单,而如果车子可以左右转弯的通行就比较复杂,本实验仅针对最简单的南北和东西直行的情况。
要完成本实验,首先必须了解交通路灯的燃灭规律。
本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各三个。
依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。
其交通灯的燃灭规律为:初始态是两个路口的红灯全亮之后,主干道的绿灯亮,乡间道路的红灯亮,主干道方向通车,延时一段时间后,乡间公路来车,主干道绿灯灭,黄灯开始闪烁。
闪烁若干次后,主干道红灯亮,而同时乡间公路的绿灯亮,延时一段时间后,乡间公路的绿灯灭,黄灯开始闪烁。
闪烁若干次后,再切换到主干道方向,重复上述过程。
三、设计要求完成设计、仿真、调试、下载、硬件测试等环节,在型EDA实验装置上实现一个由一条主干道和一条乡间公路的汇合点形成的十字交叉路口的交通灯控制器功能,具体要求如下:1、有MR(主红)、MY(主黄)、MG(主绿)、CR(乡红)、CY(乡黄)、CG(乡绿)六盏交通灯需要控制;2、交通灯由绿转红前有4秒亮黄灯的间隔时间,由红转绿没有间隔时间;3、乡间公路右侧各埋有一个串连传感器,当有车辆准备通过乡间公路时,发出请求信号S=1,其余时间S=0;4、平时系统停留在主干道通行(MGCR)状态,一旦S信号有效,经主道黄灯4秒(MYCR)状态后转入乡间公路通行(MRCG)状态,但要保证主干道通行大于一分钟后才能转换;5、一旦S信号消失,系统脱离MRCG状态,即经乡道黄灯4秒(MRCY)状态进入MGCR状态,即使S信号一直有效,MRCG状态也不得长于20秒钟;6、控制对象除红绿灯之外,还包括分别在主干道和乡间公路各有一个两位十进制倒计时数码管显示。
交通灯控制实验报告
![交通灯控制实验报告](https://img.taocdn.com/s3/m/969431d0a1116c175f0e7cd184254b35eefd1afa.png)
一、实验目的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. 交通灯控制系统的硬件连接和电路设计。
本次实验提高了我们的实际应用能力,为以后从事相关领域工作奠定了基础。
交通灯控制器设计实验报告
![交通灯控制器设计实验报告](https://img.taocdn.com/s3/m/34264d0f03d8ce2f006623b9.png)
一、实习目的: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篇)
![交通灯课程设计报告(必备5篇)](https://img.taocdn.com/s3/m/2e1a1b2b793e0912a21614791711cc7931b778d3.png)
交通灯课程设计报告篇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作为核心元件,实现了通过信号灯对路面状况的智能控制。
从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。
系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。
实验二报告--交通灯控制器
![实验二报告--交通灯控制器](https://img.taocdn.com/s3/m/1b9e451559eef8c75ebfb302.png)
实验二交通灯控制器一、实验目的设计一个基于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实验报告
![交通灯控制器 EDA实验报告](https://img.taocdn.com/s3/m/e7ee018a80c758f5f61fb7360b4c2e3f572725ca.png)
一、实验目的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设计的兴趣,对本科阶段实操方面的能力很有帮助。
交通灯plc实验报告
![交通灯plc实验报告](https://img.taocdn.com/s3/m/e048a54017fc700abb68a98271fe910ef12daee4.png)
交通灯plc实验报告交通灯PLC实验报告摘要:本实验旨在利用PLC(可编程逻辑控制器)技术,设计并实现一个交通灯控制系统。
通过该实验,我们掌握了PLC的基本原理和应用,同时也深入了解了交通灯控制系统的工作原理。
一、实验目的1. 了解PLC的基本原理和应用;2. 掌握交通灯控制系统的工作原理;3. 设计并实现一个基于PLC的交通灯控制系统。
二、实验原理1. PLC的基本原理PLC是一种专门用于工业控制的计算机控制系统,它能够根据预先编写的程序自动完成各种控制任务。
PLC系统通常由输入模块、输出模块、中央处理器和编程设备组成。
2. 交通灯控制系统的工作原理交通灯控制系统通常由红灯、黄灯和绿灯三种状态组成,根据不同的交通情况切换不同的状态,以确保交通的顺畅和安全。
三、实验设备1. PLC控制器;2. 交通灯模拟器;3. 编程软件。
四、实验步骤1. 连接PLC控制器和交通灯模拟器;2. 编写PLC程序,实现交通灯的红、黄、绿灯状态切换;3. 上传程序到PLC控制器;4. 测试交通灯控制系统的运行情况;5. 分析实验结果。
五、实验结果经过实验,我们成功地设计并实现了一个基于PLC的交通灯控制系统。
在不同的交通情况下,交通灯能够准确地切换红、黄、绿灯状态,确保交通的顺畅和安全。
六、实验总结通过本次实验,我们深入了解了PLC的基本原理和应用,同时也掌握了交通灯控制系统的工作原理。
PLC技术在工业控制领域有着广泛的应用,通过本次实验的学习,我们对其应用有了更深入的理解和掌握。
在今后的学习和工作中,我们将进一步加强对PLC技术的学习和实践,为工业控制领域的发展做出更多的贡献。
数字系统课程设计-交通灯控制器实验报告
![数字系统课程设计-交通灯控制器实验报告](https://img.taocdn.com/s3/m/a027f58af111f18582d05a59.png)
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级通信工程一班姓名: 谢仙学号:指导教师: 杨菊秋2013年06月25日目录1 引言 (3)2 任务与要求 (3)3 课程设计摘要及整体方框图 (3)4 课程设计原理 (4)555定时器 (5)七位二进制计数器4024 (6)二进制可逆计数器74LS193 (8)数码显示电路 (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。
从以上讨论可知,需要对所采用的芯片有比较详细的了解。
下面对以上几种芯片的基本知识和基本特性进行介绍。
555定时器555定时器是一块常用的集成电路,电路符号如左图所示,8为电源端VCC,1为公共端GND。
所加电源电压范围:<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%。
七位二进制计数器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的关系用如下真值表表示: 编号 Q7 Q6 Q5 Q4 Q3 Q2 L1 L2 L3 说明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。
额定输出高电平电压。
可逆十进制计数器选用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。
以此确定多谐振荡器电路的电阻和电容。
数码显示电路四线-七段译码器/驱动器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,所接数码管必须是共阴数码管。
LT 灯测试输入端,低电平有效,即当此灯为低电平且RBO BI /为高电平(或开路)时,输出全为高电平,数码管内所有发光二极管全亮。
RBO BI / 消隐输入(低电平有效)/脉冲消隐输出(低电平有效),只要此端为低电平,输出全为低电平,数码管内所有发光二极管全不亮。
RBI 脉冲消隐输入端,低电平有效。
当此端为低电平且ABCD 也同时为低电平时,输出全为低电平,数码管内所有发光二极管全不亮。
从以上结果知道,要让数码管正常显示0—9,3,4,5脚都要接高电平。
要让数码 管显示1—9而不显示0,则3接高电平,5接低电平,4悬空(或电源通过电阻接4)。
这实际上就是消0,例于最高位的数码管就希望 是这样。
组成数码管的七段实际上就是七个发光二极管,当这七个发光二极管中不同的二极管亮时,就显示0—9中不同的数字。
数码管的输出引脚有两种形式,一种是上下排列,一种是两边排列,各引脚名称如下面两图所示。
6 1 10 5结论亮的期间的后8秒与红灯在一起的黄灯闪烁,闪烁频率为1。
在绿灯亮的期间的后8秒与绿灯在一起的黄灯闪烁,闪烁频率为1。
在黄灯闪烁期间,数码管同时倒计时显示,在此期间以外,数码管不亮。
体会与收获通过这次课程设计,加强了我的动手、思考和解决问题的能力。
现在设计已经做好了,完成了课程设计的任务并且达到了设计的要求。
虽然花了很多时间,但是从中学到了很多东西。
做课程设计的时候,自己把刚刚学完的数电知识回顾了一遍,对个别元器 件的逻辑功能以及用法清楚的了解了一遍。
增强了自己对知识的理解,很多以前不是很懂的问题现在都已经一一解决了。
在课程设计的过程中想了很多种方案,对同一个问题(像计数器的接法)都想了很多不同的接法,用不同的芯片进行了比较,并且向数电老师仔细询问各个芯片的优缺点,最后还是采取了上面的方法进行连接。
在焊接完成之后第一次调试试时,发现前24秒第一个红绿灯不亮,经过思考检查发现三极管的焊点连在了一起造成短路,用电烙铁将其分开,重新调试得到了正确的结果。