交通灯控制器的课程设计
交通灯控制器的课程设计
课程设计课题:交通灯控制器的设计一、设计目的:学习QuartusII的使用方法,熟悉可编程逻辑器件的使用。
通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。
在现代化的大城市中, 十字交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,红、黄、绿灯的转换要有一个准确的时间间隔和转换顺序,这就需要有一个安全、自动的系统对红、黄、绿灯的转换进行管理, 本系统就是基于此目的而开发的。
二、设计任务:1.满足如下时序要求:南北方向红灯亮时,东西方向绿灯亮,反之亦然。
2.每一方向的红(绿)黄灯共维持30秒。
3.当某一方向绿灯亮时,置显示器为30秒,然后以每秒减1计数方式工作,直至减到数为3秒时,红绿灯熄灭,黄灯开始间隙闪耀3秒,减到为0,红绿灯交换,一次工作循环结束,进入下一步另一方向的工作循环。
4.红绿黄灯均采用发光二极管。
5.设计由晶振电路产生1Hz标准秒信号的单元电路。
6.要求对整体电路进行仿真,观察并记录下仿真波形。
三、设计原理:交通灯有四个状态:G1 Y1 R1 G2 Y2 R2S1. 亮灭灭灭灭亮S2. 灭闪灭灭灭亮S3. 灭灭亮亮灭灭S4. 灭灭亮灭闪灭然后重复状态S1.●分频器分频器实现的是将高频时钟信号转换成底频的时钟信号,用于触发控制器、计数器和扫描显示电路。
该分频器将时钟信号分频成1HZ和4HZ的时钟信号。
●控制器控制器的作用是根据计数器的计数值控制发光二极管的亮、灭,以及输出倒计时数值给七段数码管的分位译码电路。
此外,当检测到为夜间模式时,手动控制点亮黄灯的二极管。
●计数器这里需要的计数器的计数范围为30-0。
计到0后,下一个时钟沿回复到30,开始下一轮计数。
此外,当检测到夜间模式时,计数器暂停计数,而系统复位信号使计数器异步清零。
四、电路设计1、分频单元电路设计2、30减计数单元电路设计3、红黄绿灯控制单元电路设计4、译码显示单元电路设计●设计流程五、实验程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jiaotong isport(clk,clr:in std_logic;clk1,clk2,clk3:buffer std_logic; ---分频信号pout:out std_logic_vector(6 downto 1);---东西南北的红绿黄灯状态表示C1:out std_logic_vector(3 downto 0);---BCD码高四位表示C0:out std_logic_vector(3 downto 0));---BCD码低四位表示end jiaotong;architecture one of jiaotong issignal g1,y1,r1,g2,y2,r2:STD_LOGIC;---1表示东西方向,2表示南北方向,g,y,r分别表示绿灯,黄灯,红灯signal div:integer range 0 to 20000000; ---分频1signal divn:integer range 0 to 4000000; ---分频2,用于控制黄灯闪烁type st is(s1,s2,s3,s4);---分别表示红绿黄灯的四种组合状态signal state:st;beginC:process(clk)beginif clk'event and clk='1' then---对20HZ进行分频,1HZif(div<19999999)thendiv<=div+1;clk1<='0';else div<=0; clk1<='1';end if;if(divn<2499999)then ---用于黄灯闪烁divn<=divn+1;clk2<='0';else divn<=0; clk2<='1';end if;end if;end process;process (clk1) isvariable t:integer :=31; ---初始赋值beginif clr='1' then ---夜间时为黄灯闪烁,且为手动控制pout(6)<='0'; pout(5)<=clk2 and '1'; pout(4)<='0';pout(3)<='0'; pout(2)<=clk2 and '1'; pout(1)<='0';else if(clk1'event and clk1='1') thent:=t-1;case state is ---四种组合状态转换when s1 =>G1<='1'; Y1<='0'; R1<='0'; G2<='0';Y2<='0';R2<='1'; if(t=3) then state<=s2;else state<=s1;end if;when s2 =>G1<='0';Y1<='1';R1<='0';G2<='0';Y2<='0';R2<='1';if(t=0) then state<=s3;t:=30;else state<=s2;end if;when s3 =>G1<='0';Y1<='0';R1<='1';G2<='1';Y2<='0'; R2<='0';if(t=3) then state<=s4;else state<=s3;end if;when s4 =>G1<='0';Y1<='0';R1<='1';G2<='0';Y2<='1';R2<='0';if(t=0) then state<=s1;t:=30;else state<=s4;end if;when others =>NULL;end case;case t is ---十进制数与BCD码一一对应赋值,输出时便于七段显示译码器显示when 0 => C1<="0000";C0<="0000";when 1 => C1<="0000";C0<="0001";when 2 => C1<="0000";C0<="0010";when 3 => C1<="0000";C0<="0011";when 4 => C1<="0000";C0<="0100";when 5 => C1<="0000";C0<="0101";when 6 => C1<="0000";C0<="0110";when 7 => C1<="0000";C0<="0111";when 8 => C1<="0000";C0<="1000";when 9 => C1<="0000";C0<="1001";when 10=> C1<="0001";C0<="0000";when 11=> C1<="0001";C0<="0001";when 12=> C1<="0001";C0<="0010";when 13=> C1<="0001";C0<="0011";when 14=> C1<="0001";C0<="0100";when 15=> C1<="0001";C0<="0101";when 16 =>C1<="0001";C0<="0110";when 17 =>C1<="0001";C0<="0111";when 18 =>C1<="0001";C0<="1000";when 19 =>C1<="0001";C0<="1001";when 20 =>C1<="0010";C0<="0000";when 21 =>C1<="0010";C0<="0001";when 22 =>C1<="0010";C0<="0010";when 23 =>C1<="0010";C0<="0011";when 24 =>C1<="0010";C0<="0100";when 25 =>C1<="0010";C0<="0101";when 26 =>C1<="0010";C0<="0110";when 27 =>C1<="0010";C0<="0111";when 28 =>C1<="0010";C0<="1000";when 29 =>C1<="0010";C0<="1001";when 30 =>C1<="0011";C0<="0000";when others =>NULL;end case;end if;pout(6)<=G1; pout(5)<=clk2 and Y1;pout(4)<=R1; ---东西南北六盏灯对应pout(3)<=G2; pout(2)<=clk2 and Y2;pout(1)<=R2; end if;end process ;end one;六、测试方法与测试结果1、测试仪器:QUARTUSⅡ2、测试方法:FPGA下载验证与仿真验证3、测试结果:满足设计要求以20HZ为基准仿真:仿真结果:C1:显示30减计数的个位C0:显示30减计数的十位POUT(6):东西方向绿灯控制端POUT(5):东西方向黄灯控制端POUT(4):东西方向红灯控制端POUT(3):南北方向绿灯控制端POUT(2):南北方向黄灯控制端POUT(1):南北方向红灯控制端白天●夜间黄灯闪烁(手动控制)●设计满足了1.30秒倒数显示2.两个方向灯的交替3.黄灯在最后3秒闪烁七、讨论该电路基本上满足了设计要求,电路简单,实现容易,节省器件。
交通信号灯控制器课程设计报告
交通信号灯控制器课程设计报交通信号灯控制器课程报告一.设计要求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四.实物图。
交通灯控制电路课程设计
交通灯控制器一设计任务与要求:设计一个十字路口的交通灯控制器,控制A,B两条交叉道路上的车辆通行,东西方向为主干道A,南北方向为支干道B,具体要求如下:1 每条道路设一组信号灯,每组信号灯有红,黄,绿3个灯组成,绿灯表示允许通过,红灯表示禁止通行,黄灯表示该车道上已过停车线的车俩继续通行,未过停车线的车俩停止通行,2主干道通行时间40秒,南北通行时间20秒3每次变换通行车道之前,要求黄灯先亮5秒,才能变换通行车道4黄灯亮时,要求每秒闪烁一次二总体框图根据设计任务与要求,确定交通灯控制器的系统工作框图如图所示,通过主控制电路(两位二进制可逆计数器)控制整个电路的运转以及红黄绿三种信号灯的转换。
系统由秒脉冲信号发生器、定时器、控制器、译码显示器、信号灯显示器五大部分组成。
其中秒脉冲信号发生器用于给各个组成部分提供脉冲信号,通过减计数器对秒脉冲的减计数,达到控制每一种工作状态的持续时间。
减计数器的借位端为主控制电路提供翻转的脉冲信号以完成状态的转换,同时主控制电路的输出状态又决定了减计数器下一次计数的初始值。
减计数器的十位和个位分别通过译码器和两个七段数码管相连以作为时间倒计时显示。
其中t表示时间,MG表示主干道绿灯,MY表示主干道黄灯,MR表示主干道红灯,SG表示支干道绿灯,SY表示支干道黄灯,SR表示支干道红灯。
主干道绿灯亮,支干道红灯亮40秒主干道黄灯亮,支干道红灯亮5秒主干道红灯亮,支干道绿灯亮20秒主干道红灯亮,支干道黄灯亮5秒图1 交通灯的工作时序流程图:图2 系统工作框图三选择器件1、74LS192芯片。
74LS192为可预置数同步十进制双时钟加减计数器,CP U 端是加计数器时钟信号,CP D 是减计数时钟信号R D =1时无论时钟脉冲状态如何,直接完成清零功能。
R D =0,L D =0时,无论时钟脉冲状态如何,输入信号将立即被送入计数器的输出端,完成预置数功能。
其功能表如下表所示:表 1 74LS192功能表CPU CPD RD LD 工作状态X X 0 0 置数↑ 1 1 0 加计数1 ↑ 0 0 减计数X X X 1 清零译码、显示 主干道信号灯 支干道信号灯状态译码器黄灯闪烁控制器主控制器减计数器置数控制 秒脉冲发生器图3 74LS192管脚图2,555 定时器555 定时器是一种模拟和数字功能相结合的中规模集成器件。
毕业设计-EDA技术交通灯控制器(课程设计)
课程设计报告课程设计:交通灯控制器一:实验目的:实现高速公路与乡间小路的交叉路口红绿灯的控制二:功能要求:1.只有在小路上发现汽车时,高速公路上的交通灯才可能变为红灯。
2.当汽车行驶在小路上时、小路的交通灯保持为绿灯,但不能超过给定的延迟时间.〔注;这段时间定义为20S时间)。
3.高速公路灯转为绿灯后,即使小路上有汽车出现,而高速公路上并无汽车,也将在给定的时间内保持高速公路绿灯(注:这段时间定义为60S)。
三:设计思路:五:VHDL源程序:LIBRARY ieee;USE ieee.std_logic_1164.all;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY TrafficLight ISPORT (Clk : IN STD_LOGIC;S,Reset : IN STD_LOGIC;mg,my,mr,cg,cy,cr : OUT STD_LOGIC );END TrafficLight ;ARCHITECTURE rtl OF TrafficLight ISTYPE TrafficState IS (mgcr, mycr, mrcg, mrcy);SIGNAL current_state,next_state : TrafficState ;SIGNAL Count : STD_LOGIC_VECTOR(5 DOWNTO 0);SIGNAL Clrn : STD_LOGIC ;BEGINCounter : PROCESS(clk)BEGINIF Reset = '1' OR (Clrn = '1' AND NOT(Count = "000000")) THEN Count <= "000000";ELSIF clk'EVENT AND clk = '1' THENIF NOT(s='0' AND current_state = mgcr) THEN Count <= Count + 1;END IF;END IF;END PROCESS Counter;StateTransition : PROCESS(clk,Count, current_state)BEGINIF Reset = '1' THEN next_state <= mgcr;Clrn <= '0';ELSIF clk'EVENT AND clk = '1' THENCASE current_state ISWHEN mgcr => mr<='0';mg<='1';my<='0';cr<='1';cg<='0';cy<='0';IF Count >= "111011" AND S = '1' THEN next_state <= mycr;Clrn <= '1';ELSE Clrn <= '0';END IF;WHEN mycr => mr<='0';mg<='0';my<='1';cr<='1';cg<='0';cy<='0';IF Count >= "000100" THEN next_state <= mrcg;Clrn <= '1';ELSE Clrn <= '0';END IF;WHEN mrcg => mr<='1';mg<='0';my<='0';cr<='0';cg<='1';cy<='0';IF Count >= "010011" OR S = '0' THEN next_state <= mrcy;Clrn <= '1';ELSE Clrn <= '0';END IF;WHEN mrcy => mr<='1';mg<='0';my<='0';cr<='0';cg<='0';cy<='1';IF Count >= "000100" THEN next_state <= mgcr;Clrn <= '1';ELSE Clrn <= '0';END IF;WHEN OTHERS => NULL;END CASE;END IF;END PROCESS StateTransition;PROCESS(clk)BEGINIF clk'EVENT AND clk='1' THENcurrent_state <= next_state;END IF;END PROCESS;END rtl;仿真图如下:六:实验心得:通过本次课程设计,使用进一步熟悉了MAX-PLUSLL这种EDA软件工具。
plc交通灯课程设计
plc 交通灯课程设计一、课程目标知识目标:1. 学生能理解PLC(可编程逻辑控制器)的基本原理及其在交通灯控制系统中的应用。
2. 学生能够掌握PLC编程的基础知识,包括逻辑运算、定时器、计数器等。
3. 学生能够了解并描述交通灯控制系统的基本工作流程及其功能。
技能目标:1. 学生能够运用PLC进行基本的编程操作,设计并实现一个简单的交通灯控制系统。
2. 学生通过实际操作,培养动手能力,掌握PLC与外围设备连接的方法。
3. 学生能够分析并解决交通灯控制系统中出现的基本故障。
情感态度价值观目标:1. 学生培养对自动化控制技术的兴趣,激发探索精神和创新意识。
2. 学生在小组合作中,学会沟通与协作,培养团队精神。
3. 学生能够认识到PLC技术在现实生活中的应用,增强学以致用的意识。
分析:本课程针对高年级学生,已具备一定的电子电工基础知识和编程技能。
课程性质为实践性、综合性较强的课程设计。
教学要求以学生为主体,注重培养学生的动手能力、分析问题和解决问题的能力。
课程目标旨在通过PLC交通灯控制系统的设计,将理论知识与实际应用相结合,提高学生的实践操作能力和创新能力。
通过课程目标的实现,使学生能够掌握PLC技术的基本应用,为未来从事自动化控制领域工作打下基础。
二、教学内容1. PLC基础知识:- PLC的结构、原理和工作方式。
- PLC的编程语言:梯形图、指令表等。
2. 交通灯控制系统:- 交通灯系统的基本组成、工作原理。
- 交通灯控制流程及逻辑关系。
3. PLC编程与交通灯控制:- PLC编程基础:逻辑运算、定时器、计数器等。
- 交通灯控制系统的PLC编程实现。
4. 实践操作:- PLC与外围设备的连接方法。
- 搭建并调试交通灯控制系统。
5. 故障分析与处理:- 分析交通灯控制系统中可能出现的故障。
- 掌握基本的故障排除方法。
教学内容安排与进度:第一课时:PLC基础知识学习。
第二课时:交通灯控制系统原理及控制流程。
plc交通灯控课程设计
plc交通灯控课程设计一、课程目标知识目标:1. 学生能够理解PLC(可编程逻辑控制器)的基本原理和工作机制;2. 学生能够掌握PLC编程的基本指令和交通灯控制逻辑;3. 学生能够描述交通灯控制系统的功能需求和工作流程;4. 学生了解交通灯控制系统在现实生活中的应用和重要性。
技能目标:1. 学生能够运用PLC编程软件进行交通灯控制程序的编写和调试;2. 学生能够通过实际操作,完成一个简单的交通灯控制系统的搭建;3. 学生能够运用问题解决策略,分析并解决交通灯控制过程中遇到的问题;4. 学生能够进行团队协作,共同完成交通灯控制项目的实施。
情感态度价值观目标:1. 学生培养对自动化技术和工程应用的兴趣,激发探索精神;2. 学生养成严谨、细致的工作态度,注重操作规范和安全意识;3. 学生通过实际项目实践,认识到科技对社会生活的影响,增强社会责任感;4. 学生在团队协作中,学会相互尊重、沟通和合作,培养集体荣誉感。
本课程针对高年级学生,结合PLC技术与应用课程,旨在通过实际项目设计,使学生在掌握基本理论知识的基础上,提高实践操作能力和团队协作能力。
课程目标具体、可衡量,以便于教学设计和评估。
通过本课程的学习,学生将能够熟练运用PLC技术,解决实际问题,为未来从事相关工作打下坚实基础。
二、教学内容1. PLC基本原理与结构:介绍PLC的定义、组成、工作原理,使学生理解PLC 在工业控制系统中的应用。
- 教材章节:第一章 可编程逻辑控制器概述2. PLC编程基础:讲解PLC编程的基本指令、编程方法和编程软件的使用。
- 教材章节:第二章 PLC编程技术3. 交通灯控制系统设计:分析交通灯控制系统的功能需求、工作流程和控制逻辑。
- 教材章节:第三章 顺序控制程序设计4. PLC交通灯控制程序编写与调试:指导学生使用编程软件,编写交通灯控制程序并进行调试。
- 教材章节:第四章 PLC应用实例5. 实践操作与团队协作:组织学生进行实际操作,搭建交通灯控制系统,培养团队协作能力。
eda交通灯控制器课程设计
eda交通灯控制器课程设计课程设计:EDA交通灯控制器1. 课程背景和目标:EDA交通灯控制器是使用EDA(电子设计自动化)工具进行交通灯控制系统设计的课程。
学习该课程的目标是使学生能够熟练运用EDA工具进行交通灯控制系统设计,并能够理解交通灯控制系统的原理和设计方法。
2. 课程内容和安排:(1) 交通灯控制系统原理介绍:介绍交通灯控制系统的基本原理,包括信号机、信号控制方法和交通流量检测等。
(2) EDA工具介绍:介绍常用的EDA工具,如Verilog、VHDL等,并讲解其基本使用方法。
(3) 交通灯控制器设计流程:介绍交通灯控制器的设计流程,包括需求分析、功能设计、模块设计和系统集成等。
(4) 交通灯控制器设计实践:学生通过实践项目,使用EDA工具设计交通灯控制器。
项目涵盖设计、仿真、验证和生成等环节,学生需要独立完成设计并提交设计报告。
3. 课程教学方法:(1) 理论讲解:通过课堂讲解,介绍交通灯控制系统的原理和设计方法,以及EDA工具的使用方法。
(2) 实践项目:学生通过实践项目,运用所学知识设计交通灯控制器,并进行仿真、验证和生成等环节。
(3) 讨论和案例分析:通过课堂讨论和案例分析,加深学生对交通灯控制系统的理解和应用能力。
(4) 指导和批评:教师对学生的设计进行指导和批评,帮助学生不断提高设计能力。
4. 评估方式:(1) 实践项目报告:学生独立完成实践项目,并提交设计报告,包括设计过程、仿真结果和验证结果等。
(2) 课堂测试:通过课堂测试检验学生对交通灯控制系统原理和EDA工具的理解程度。
(3) 课堂表现:评估学生的课堂出勤情况、学习态度和参与度等。
5. 参考教材:(1) 《交通信号控制原理与技术》高新泽(2) 《EDA与数字电路设计》陈骏等(3) 《数字电路与系统设计》刘敏衡等(4) 《系统设计自动化技术与EDA工具应用》杨学庆等以上是对EDA交通灯控制器课程设计的简要介绍。
课程内容涵盖了交通灯控制系统的原理和设计方法,以及EDA工具的使用方法。
交通灯控制器课程设计
目录
1 设计任务及要求 2 总体设计方案 3 控制电路设计
3.1 控制电路工作原理 3.2控制电路设计过程
4 倒计时电路设计
4.1具有同步置数功能的十进制减法计数器设计 4.2主干道和支干道倒计时电路设计
5 译码显示电路设计
5.1动态显示工作原理 5.2动态显示及译码电路设计
共阴极数码管:将每个数码管的公共端(阴极)分别接三-八译码器的输出, 三-八译码器的输入为位选信号;将多个数码管的相同段接在一起,作为段码 输入端。
七段译码
报告要求
CONTENTS
01 封面
02 目录:四号 宋体
03
正文:小四 宋体 1.5 倍行距
04 参考文献 :五号 宋体
一号 宋体
四号 宋体
由具有同步置数功能的十进制减法计数器实现。
将2片级联实现2位十进制减法计数器。
当主干道或者支干道减法计数器值为01时,产生同步置数信 号,将下一状态计数初值置入。
状态
S0
00
S1
01
S2
10
S3
11
主干道预置数
D7D6 D5D4
D3D2 D1D0
0000
0101
0101
0000
0000
0101
0110
○ 黄灯每秒闪亮一次。
总体方案
时钟
红绿 灯
控制器
交通灯控 制器的功 能框图
倒计时 计数器
数码 显示扫描
管
、译码
设主干道绿灯、黄灯、红灯分别为G1、Y1、R1;支 干道绿灯、黄灯、红灯分别为G2、Y2、R2,并且 均用0表示灭,1表示亮,则交通灯有如下四种输出 状态:
状态
交通灯控制器+数字电路课程设计报告
交通灯控制器+数字电路课程设计报告交通灯控制器是交通管理系统中的重要组成部分,其主要作用是控制道路上的交通信号灯。
随着数字电路技术的发展,交通灯控制器也逐渐向数字化、智能化方向发展。
本文将详细介绍一种基于数字电路的交通灯控制器设计,以及该设计方案的实现和效果。
一、设计方案1.硬件设计硬件设计方案主要包括数字电路的选择、交通灯的控制模块、传感器等。
本方案选用FPGA芯片作为控制芯片,该芯片具有先进的数字信号处理能力和可编程性,便于开发和定制。
交通灯的控制模块包括红灯、黄灯、绿灯三个信号灯的控制器,以及车辆、行人传感器等。
其中车辆传感器主要用来检测车流量,行人传感器主要用来检测行人通行情况。
2.软件设计软件设计方案主要包括程序的设计和调试,以及人机界面的设计和开发。
程序设计方案采用Verilog HDL语言进行实现,采用时序逻辑设计的思路来编写程序,实现红绿灯的控制和状态转移。
人机界面采用C语言进行编写,通过串口通信与控制芯片进行数据传输和控制。
二、实现过程在设计方案确定后,我们进一步开始实现。
首先是电路的焊接和测试,在确定电路正常无误后,再完成程序的编写和调试。
最后是人机接口的开发和完善。
具体实现流程如下:1.电路焊接首先进行电路布线和焊接,将FPGA芯片、光耦隔离器、电位器等元器件焊接到电路板上,以及信号灯、传感器等元器件的接入。
2.程序编写利用Verilog HDL语言编写程序,主要包括红绿灯状态的转移逻辑和相应的信号输出控制。
程序设计过程中,需要注意时序和状态的转移。
3.调试测试完成程序编写后,需要进行相应的调试测试。
通过仿真测试,检查程序逻辑是否正确,排除潜在问题。
在硬件实验平台上进行测试,确定系统能够正常工作。
4.人机界面开发利用C语言编写人机界面,实现与交通灯控制器的交互控制。
实现车辆、行人传感器的数据采集和显示,以及人手动控制交通灯的功能。
三、实现效果通过测试和实验验证,本文的交通灯控制器设计方案具有以下优势:1.使用FPGA芯片作为控制芯片,具有较强的可编程性和数字信号处理能力。
交通灯控制器数电课程设计
交通灯控制器数电课程设计交通灯控制器是一个常见的数电课程设计项目,下面是一个简单的交通灯控制器的设计方案:1. 需求分析:- 交通灯要能够按照规定的时间间隔不断切换状态。
- 交通灯的状态包括红灯、黄灯和绿灯,分别对应停止、警告和通行状态。
- 红灯、黄灯和绿灯的时间间隔可以根据实际需要进行调整。
2. 设计方案:- 使用数字时钟芯片,如NE555,来生成固定频率的时钟信号。
- 使用多路选择器,如74LS151,来选择不同的灯的状态输出。
- 使用逻辑门电路,如与门和或门,来实现灯的状态切换。
3. 设计步骤:- 使用时钟芯片来产生一个频率为1Hz的时钟信号。
- 使用分频器电路,如74LS90,将时钟信号的频率分为三等份,分别用于控制红灯、黄灯和绿灯的持续时间。
- 使用多路选择器74LS151,根据时钟信号的状态与分频器的控制信号,选择对应的灯输出高电平或低电平。
- 使用逻辑门电路,通过组合逻辑将时钟信号和选择器输出的灯状态进行控制,实现交通灯的状态切换。
4. 硬件设计:- 使用电路实验板、面包板或PCB板等硬件平台进行电路连接。
- 导入时钟芯片、分频器、多路选择器和逻辑门等器件。
- 连接器件之间的引脚,构建交通灯控制器电路。
5. 软件设计:- 使用VHDL、Verilog或其他HDL语言进行交通灯控制器的逻辑设计和仿真。
- 根据交通灯的时序要求设置时钟频率、分频器的初始状态和选择器的状态等参数。
- 通过仿真软件进行功能验证和时序分析,优化电路设计。
6. 实现与调试:- 将硬件连接完成后,使用示波器、逻辑分析仪等仪器对电路进行调试。
- 观察交通灯的状态是否按照预期进行切换。
- 根据实际需要调整各个灯的持续时间和时钟频率等参数,进行效果调试。
7. 总结:- 对交通灯控制器的设计进行总结和评估,包括可靠性、灵活性和可扩展性等方面。
- 提出改进方案,进一步优化交通灯控制器的设计。
注意事项:- 在设计过程中,要遵守相关的电路布线规范和安全操作规程。
交通灯控制器课程设计
交通灯控制器 课程设计一、课程目标知识目标:1. 理解交通灯控制器的基本原理,掌握其电路组成及功能。
2. 学习并掌握交通灯控制器中的基础电子元件及其工作原理。
3. 了解交通灯控制器的实际应用,理解其在交通安全中的作用。
技能目标:1. 能够运用所学知识设计简单的交通灯控制器电路。
2. 学会使用相关工具和仪器进行电路搭建和调试。
3. 提高分析问题和解决问题的能力,通过实践操作培养动手能力。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发他们探索科学的精神。
2. 增强学生的团队合作意识,培养沟通与协作能力。
3. 培养学生的安全意识,让他们明白遵守交通规则的重要性。
课程性质:本课程为电子技术实践课程,结合理论教学,注重培养学生的动手实践能力和创新思维。
学生特点:考虑到学生所在年级,已有一定的基础知识,具备初步的分析和解决问题的能力,对电子技术有一定的好奇心。
教学要求:在教学过程中,注重理论与实践相结合,鼓励学生积极参与讨论和实践活动,培养他们的自主学习能力和创新意识。
通过课程学习,使学生能够达到上述设定的具体学习成果。
二、教学内容1. 交通灯控制器原理- 红绿灯工作原理及切换逻辑- 时序控制器的基本概念- 电路图解读及元件功能分析2. 基础电子元件- 电阻、电容、二极管、三极管等元件的特性与应用- 传感器及其在交通灯控制器中的作用3. 交通灯控制器电路设计- 电路图的绘制与解读- 元件的选型与连接- 电路搭建及调试方法4. 实践操作- 搭建简单交通灯控制器电路- 编写控制程序,实现交通灯自动切换- 故障排查与电路优化5. 交通灯控制器应用案例- 实际交通场景中的交通灯控制器应用- 交通安全与节能减排的意义教学内容安排与进度:第一课时:交通灯控制器原理,红绿灯工作原理及切换逻辑第二课时:基础电子元件,电路图解读及元件功能分析第三课时:交通灯控制器电路设计,电路图的绘制与解读第四课时:实践操作,搭建简单交通灯控制器电路第五课时:编写控制程序,实现交通灯自动切换,故障排查与电路优化第六课时:交通灯控制器应用案例,讨论交通安全与节能减排的意义教材章节关联:本教学内容与教材中关于数字电路、电子元件、电路设计等相关章节紧密关联,通过本课程的学习,使学生能够将理论知识与实践相结合,提高综合运用能力。
交通灯控制器数电课程设计
交通灯控制器数电课程设计一、引言交通灯控制器是城市交通管理中的重要设备,用于控制道路上的交通信号灯的亮灭状态。
本文将基于数电课程设计一个简单的交通灯控制器电路,并介绍其原理和实现过程。
二、设计原理交通灯控制器的设计需要考虑以下几个方面的因素:1. 灯的亮灭状态:交通灯通常包括红灯、黄灯和绿灯,每种灯的亮灭状态需要根据交通规则进行控制。
2. 灯的切换时间:交通灯的切换时间需要合理设置,以保证交通流畅和安全。
3. 输入信号的获取:交通灯控制器需要根据外部输入信号来控制灯的切换,如道路上的车辆、行人等。
三、电路设计1. 时钟电路:交通灯控制器需要一个时钟信号来控制灯的切换时间。
可以通过使用555定时器构建一个稳定的时钟电路。
2. 计数器电路:交通灯控制器需要一个计数器来计算时间,并根据时间来控制灯的切换。
可以使用74LS90或74LS93等计数器芯片实现。
3. 逻辑门电路:交通灯控制器需要逻辑门电路来实现交通灯状态的控制和切换。
可以使用与门、或门、非门等逻辑门芯片来实现。
四、实现过程1. 时钟电路的设计:根据555定时器的工作原理,选择合适的电阻和电容值,构建一个稳定的时钟电路。
2. 计数器电路的设计:根据交通灯的切换时间要求,设置计数器的计数值,并将计数器与时钟电路连接,实现计数器的工作。
3. 逻辑门电路的设计:根据交通灯的状态要求,使用逻辑门芯片构建一个交通灯控制电路,实现交通灯的切换和控制。
4. 输入信号的获取:可以使用传感器等设备来获取道路上的车辆、行人等输入信号,并将其与交通灯控制器连接,实现灯的切换。
五、功能扩展1. 灯的数量扩展:可以根据实际需要,扩展交通灯的数量,如添加左转灯、右转灯等。
2. 信号优先级控制:可以根据不同道路的交通状况,设置交通灯的信号优先级,以提高交通效率。
3. 线路保护功能:可以在交通灯控制器中添加线路保护装置,以防止线路过载或短路等故障。
六、总结本文基于数电课程设计了一个简单的交通灯控制器电路,并介绍了其原理和实现过程。
交通灯控制课程设计
交通灯控制课程设计一、课程目标知识目标:1. 理解交通灯的基本工作原理,掌握交通灯控制系统的组成及功能。
2. 学会使用常见电子元件,如LED灯、继电器、按钮等,并能运用到交通灯控制电路中。
3. 了解并掌握基本的编程知识,实现对交通灯控制系统的编程设计。
技能目标:1. 能够运用所学知识,设计并搭建一个简单的交通灯控制系统。
2. 培养动手实践能力,学会使用工具和仪器进行电路连接和调试。
3. 提高问题解决能力,能够针对实际交通灯控制问题进行分析和改进。
情感态度价值观目标:1. 培养学生的团队合作精神,学会在小组合作中发挥个人优势,共同完成任务。
2. 激发学生对电子技术和编程的兴趣,提高对科学技术的热爱和认识。
3. 增强学生的社会责任感,使他们认识到交通灯控制系统在交通安全中的重要性。
本课程针对中学生设计,结合学生的年龄特点和认知水平,注重理论与实践相结合。
课程性质为实践性、探究性,旨在培养学生的动手能力、创新能力和团队合作能力。
通过本课程的学习,学生能够将所学知识应用于实际情境,解决实际问题,同时培养积极的学习态度和价值观。
教学要求注重过程评价,关注学生在学习过程中的表现和成果,确保课程目标的实现。
二、教学内容1. 交通灯控制系统基础知识- 介绍交通灯的基本工作原理及功能。
- 交通灯控制系统的组成,包括控制器、信号灯、传感器等。
2. 常用电子元件及应用- 学习LED灯、继电器、按钮等电子元件的原理和使用方法。
- 结合交通灯控制系统,分析这些元件在电路中的应用。
3. 编程设计- 掌握基本的编程知识,如顺序结构、循环结构等。
- 学习使用编程软件,编写交通灯控制程序。
4. 实践操作- 设计并搭建交通灯控制系统电路。
- 进行电路连接、调试和优化。
5. 课程进度安排- 第一课时:交通灯控制系统基础知识,学习常用电子元件。
- 第二课时:编程设计,编写交通灯控制程序。
- 第三课时:实践操作,搭建电路,进行连接和调试。
交通灯课程设计
数字逻辑课程设计报告姓名:学号:选课号:一、设计题目交通灯控制器二、设计要求1.东西方向为主干道,南北方向为副干道;2.主干道通行40秒后,若副干道无车,仍主干道通行,否则转换;4.换向时要有4秒的黄灯期;5.南北通行时间为20秒,到时间则转换,若未到时,但是南北方向已经无车,也要转换。
6.附加:用数码管显示计时。
三、设计过程1.交通控制灯总体设计方案整个交通控制灯电路可以用主控电路控制交通灯电路的亮灯顺序,用计数器控制亮灯时间并给译码器输入信号以便数码管显示时间,用函数发生器产生频率为1Hz的矩形波信号以供计数器计数。
框图如下:显示器计数器主控电路(1)设开始时主干道通行,支干道不通行,这种情况下主绿灯和支红灯亮,持续时间为40s。
(2)40s后,主干道停车,支干道仍不通行,这种情况下主黄灯和支红灯亮,持续时间为4s。
(3)4s后,主干道不通行,支干道通行,这种情况下主红灯和支绿灯亮,持续时间为20s。
(4)20s后,主干道仍不通行,支干道停车,这种情况下主红灯和支黄灯亮,持续时间为4s。
4s后又回到第一种情况,如此循环反复。
因此,要求主控制电路也有4种状态,设这4种状态依次为:S0、S1、S2、S3。
即:这四个状态可以用用一个4进制的异步清零计数器(74LS160)进行控制并作为主控部分,控制亮灯的顺序。
再用两片计数器(74LS160)控制亮灯时间,分别计数40、20、4。
2.主控电路主控电路是由一块74LS160接成的4进制计数器,即当QC为1时用异步清零法立刻将计数器清为零,同时,另外两片74LS160计数器产生的清零信号与主控电路的计数器的计数CLK连接,即当计数器一次计数完成后(一种的状态的亮灯时间过后),计数器清零,同时主控电路CLK接收一个脉冲,跳至下一状态。
如此循环变可实现四个状态的轮流转换。
3.计数器计数器的作用:一是根据主干道和副干道车辆运行时间以及黄灯切换时间的要求,进行40s、20s、4s 3种方式的计数;二是向主控制器发出状态转换信号,主控制器根据状态转换信号进行状态转换。
交通灯控制课程设计
交通灯控制课程设计一、课程目标知识目标:1. 学生能理解交通灯的基本工作原理,掌握交通灯控制系统的组成及功能。
2. 学生能描述交通灯控制过程中涉及到的电子元件及其作用。
3. 学生了解并掌握交通灯控制程序的设计方法。
技能目标:1. 学生能够运用所学知识,设计并搭建一个简单的交通灯控制系统。
2. 学生能够编写并调试交通灯控制程序,实现交通灯的自动切换。
3. 学生通过实际操作,提高动手能力、问题解决能力和团队协作能力。
情感态度价值观目标:1. 学生培养对电子技术和编程的兴趣,激发创新意识和探索精神。
2. 学生在学习过程中,认识到科技在生活中的应用,增强社会责任感和使命感。
3. 学生通过课程学习,养成严谨、细致的学习态度,培养良好的学习习惯。
课程性质:本课程为信息技术与电子技术的结合课程,注重理论与实践相结合。
学生特点:六年级学生具有一定的电子元件知识和编程基础,对新鲜事物充满好奇心,具备一定的动手能力和团队协作能力。
教学要求:结合学生特点,以实践操作为主,注重培养学生的动手能力、问题解决能力和团队协作精神。
在教学过程中,注重引导学生掌握交通灯控制系统的原理和设计方法,提高学生的技术应用能力。
通过课程目标的分解,使学生在完成具体学习成果的过程中,达到课程目标的要求。
二、教学内容1. 交通灯控制系统原理:介绍交通灯的基本工作原理,包括红绿灯信号的控制逻辑、交通灯的时序控制。
相关教材章节:第五章第三节“自动控制系统原理”。
2. 交通灯控制系统的组成:学习交通灯控制系统的各个组成部分,如控制器、信号灯、传感器等。
相关教材章节:第五章第四节“交通灯控制系统的组成与功能”。
3. 电子元件及其作用:了解并掌握在交通灯控制系统中常用的电子元件,如电阻、电容、二极管、晶体管等。
相关教材章节:第四章“常用电子元件及其特性”。
4. 编程设计:学习并掌握交通灯控制程序的设计方法,包括流程图绘制、编程语言编写。
相关教材章节:第六章“程序设计基础”。
交通灯控制器课程设计
一.交通灯控制器设计要求
设计一个由一条支干道和一条主干道的汇合点形成的十字交叉路口的交通灯控制器,主要要求如下:
1.主、支干道各设有一个绿、黄、红指示灯,两个显示数码管。
2.主干道处于常允许状态,两支干道有车来才允许通行。
3.当主、支干道有车时,两者交替通行,主干道每次放行45s支干道每次放行25s,在每次由亮绿灯变成亮红灯转换过程中,要亮5s黄灯作为过渡,并进行减计时显示。
二.交通灯控制器工作原理
三.交通灯控制器原理图
四.交通灯控制器调试及工作情况
五.注意事项
在主干道有车,支干道无车时候倒计时完后主干道数码管显示会停止在绿灯0S,支干道会停止在红灯0S,从而主干道常通,支干道有车后才开始倒计时;主干道和支干道都没车时数码管显示也停止在0S,这样的显示节省软件资源。
在设计中使用了5个模块,省去译码模块,用硬件的译码器代替,程序简明清晰。
不足的是倒计时5S时候黄灯不会闪烁,需要加以改进。
六.总结
EDA课程设计就要结束了,,通过这次学习,发现了自己的很多不足,发现了很多知识上的漏洞。
同时也看到了自己的实践经验还是比较缺乏,理论联系实际的能力还急需提高。
这次课程设计让我学到了很多,不仅是巩固了先前学的EDA技术的理论知识,而且也培养了我的动手能力,更令我的创造性思维得到拓展。
在课程设计中,我也曾经因为实践经验的缺乏失落过,也曾经仿真成功而热情高涨。
生活就是这样,汗水预示着结果也见证着收获。
劳动是人类生存生活永恒不变的话题。
虽然我这次做的课程设计不是非常的复杂,但在设计和调试的过程中,我也遇到了不少的困难,回首整个过程却受益匪浅。
交通控制灯课程设计
交通控制灯课程设计一、课程目标知识目标:1. 理解交通控制灯的基本原理和功能,掌握交通信号灯的颜色及其代表的含义。
2. 了解交通控制灯系统的运作流程,掌握不同路口交通信号灯的控制逻辑。
3. 认识到交通控制灯在交通安全中的作用,了解我国交通法规中与交通信号灯相关的规定。
技能目标:1. 学会运用基本的电路知识,设计并搭建一个简单的交通控制灯模型。
2. 能够分析实际路口交通情况,提出合理的交通信号灯控制方案,提高路口通行效率。
3. 掌握使用相关工具和软件,模拟交通控制灯系统的运行,并进行优化调整。
情感态度价值观目标:1. 培养学生对交通安全问题的关注,树立遵守交通规则的意识,增强安全意识。
2. 培养学生的团队协作精神,学会在小组合作中共同解决问题,提高沟通与协作能力。
3. 增强学生对科技创新的认识,激发对交通工程领域的兴趣,培养未来交通发展的责任感。
课程性质:本课程为小学四年级科学课程,结合电路原理、交通安全等知识点,注重实践操作和实际应用。
学生特点:四年级学生具有一定的认知能力和动手操作能力,对新奇事物充满好奇,但需引导他们注意安全,培养团队合作意识。
教学要求:课程设计要注重实践性、趣味性和挑战性,引导学生在动手实践中掌握知识,提高技能,培养正确的情感态度价值观。
教学过程中要关注学生的个体差异,给予每个学生充分的参与和展示机会。
二、教学内容1. 交通信号灯基本知识:- 介绍交通信号灯的颜色及含义。
- 学习交通信号灯的演变历史及其在现代交通中的作用。
- 结合课本第四章第三节,探讨交通信号灯在保障交通安全方面的功能。
2. 交通控制灯原理与运作:- 学习交通控制灯系统的基本原理,理解信号灯控制的基本逻辑。
- 分析课本第五章第一节中关于交通信号灯控制流程的案例,了解实际运作过程。
- 探讨如何根据不同路口交通流量调整信号灯时长,优化交通控制。
3. 实践操作与模型搭建:- 应用电路知识,分组设计并搭建简单的交通控制灯模型。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
交通灯控制器的课程设计课程设计课题:交通灯控制器的设计一、设计目的:学习QuartusII的使用方法,熟悉可编程逻辑器件的使用。
通过制作来了解交通灯控制系统,交通灯控制系统主要是实现城市十字交叉路口红绿灯的控制。
在现代化的大城市中, 十字交叉路口越来越多,在每个交叉路口都需要使用红绿灯进行交通指挥和管理,红、黄、绿灯的转换要有一个准确的时间间隔和转换顺序,这就需要有一个安全、自动的系统对红、黄、绿灯的转换进行管理,本系统就是基于此目的而开发的。
二、设计任务:1.满足如下时序要求:南北方向红灯亮时,东西方向绿灯亮,反之亦然。
2.每一方向的红(绿)黄灯共维持30秒。
3.当某一方向绿灯亮时,置显示器为30秒,然后以每秒减1计数方式工作,直至减到数为3秒时,红绿灯熄灭,黄灯开始间隙闪耀3秒,减到为0,红绿灯交换,一次工作循环结束,进入下一步另一方向的工作循环。
4.红绿黄灯均采用发光二极管。
5.设计由晶振电路产生1Hz标准秒信号的单元电路。
6.要求对整体电路进行仿真,观察并记录下仿真波形。
三、设计原理:●交通灯有四个状态:G1 Y1 R1 G2 Y2 R2 S1. 亮灭灭灭灭亮S2. 灭闪灭灭灭亮S3. 灭灭亮亮灭灭S4. 灭灭亮灭闪灭然后重复状态S1.●分频器分频器实现的是将高频时钟信号转换成底频的时钟信号,用于触发控制器、计数器和扫描显示电路。
该分频器将时钟信号分频成1HZ和4HZ的时钟信号。
●控制器控制器的作用是根据计数器的计数值控制发光二极管的亮、灭,以及输出倒计时数值给七段数码管的分位译码电路。
此外,当检测到为夜间模式时,手动控制点亮黄灯的二极管。
●计数器这里需要的计数器的计数范围为30-0。
计到0后,下一个时钟沿回复到30,开始下一轮计数。
此外,当检测到夜间模式时,计数器暂停计数,而系统复位信号使计数器异步清零。
四、电路设计1、分频单元电路设计2、30减计数单元电路设计3、红黄绿灯控制单元电路设计4、译码显示单元电路设计●设计流程分频30减计数灯控制电路译码L显示20五、实验程序library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity jiaotong isport(clk,clr:in std_logic;clk1,clk2,clk3:buffer std_logic; ---分频信号pout:out std_logic_vector(6 downto 1);---东西南北的红绿黄灯状态表示C1:out std_logic_vector(3 downto 0);---BCD码高四位表示C0:out std_logic_vector(3 downto 0));---BCD码低四位表示end jiaotong;architecture one of jiaotong issignal g1,y1,r1,g2,y2,r2:STD_LOGIC;---1表示东西方向,2表示南北方向,g,y,r分别表示绿灯,黄灯,红灯signal div:integer range 0 to 20000000; ---分频1signal divn:integer range 0 to 4000000; ---分频2,用于控制黄灯闪烁type st is(s1,s2,s3,s4);---分别表示红绿黄灯的四种组合状态signal state:st;beginC:process(clk)beginif clk'event and clk='1' then---对20HZ进行分频,1HZ if(div<19999999)thendiv<=div+1;clk1<='0';else div<=0; clk1<='1';end if;if(divn<2499999)then ---用于黄灯闪烁divn<=divn+1;clk2<='0';else divn<=0; clk2<='1';end if;end if;end process;process (clk1) isvariable t:integer :=31; ---初始赋值beginif clr='1' then ---夜间时为黄灯闪烁,且为手动控制pout(6)<='0'; pout(5)<=clk2 and '1'; pout(4)<='0';pout(3)<='0'; pout(2)<=clk2 and '1'; pout(1)<='0';else if(clk1'event and clk1='1') thent:=t-1;case state is ---四种组合状态转换when s1 =>G1<='1'; Y1<='0'; R1<='0'; G2<='0';Y2<='0';R2<='1'; if(t=3) then state<=s2;else state<=s1;end if;when s2 =>G1<='0';Y1<='1';R1<='0';G2<='0';Y2<='0';R2<='1';if(t=0) then state<=s3;t:=30;else state<=s2;end if;when s3 =>G1<='0';Y1<='0';R1<='1';G2<='1';Y2<='0'; R2<='0';if(t=3) then state<=s4;else state<=s3;end if;when s4 =>G1<='0';Y1<='0';R1<='1';G2<='0';Y2<='1';R2<='0';if(t=0) then state<=s1;t:=30;else state<=s4;end if;when others =>NULL;end case;case t is ---十进制数与BCD码一一对应赋值,输出时便于七段显示译码器显示when 0 => C1<="0000";C0<="0000";when 1 => C1<="0000";C0<="0001";when 2 => C1<="0000";C0<="0010";when 3 => C1<="0000";C0<="0011";when 4 => C1<="0000";C0<="0100";when 5 => C1<="0000";C0<="0101";when 6 => C1<="0000";C0<="0110";when 7 => C1<="0000";C0<="0111";when 8 => C1<="0000";C0<="1000";when 9 => C1<="0000";C0<="1001";when 10=> C1<="0001";C0<="0000";when 11=> C1<="0001";C0<="0001";when 12=> C1<="0001";C0<="0010";when 13=> C1<="0001";C0<="0011";when 14=> C1<="0001";C0<="0100";when 15=> C1<="0001";C0<="0101";when 16 =>C1<="0001";C0<="0110";when 17 =>C1<="0001";C0<="0111";when 18 =>C1<="0001";C0<="1000";when 19 =>C1<="0001";C0<="1001";when 20 =>C1<="0010";C0<="0000";when 21 =>C1<="0010";C0<="0001";when 22 =>C1<="0010";C0<="0010";when 23 =>C1<="0010";C0<="0011";when 24 =>C1<="0010";C0<="0100";when 25 =>C1<="0010";C0<="0101";when 26 =>C1<="0010";C0<="0110";when 27 =>C1<="0010";C0<="0111";when 28 =>C1<="0010";C0<="1000";when 29 =>C1<="0010";C0<="1001";when 30 =>C1<="0011";C0<="0000";when others =>NULL;end case;end if;pout(6)<=G1; pout(5)<=clk2 and Y1;pout(4)<=R1; ---东西南北六盏灯对应pout(3)<=G2; pout(2)<=clk2 and Y2;pout(1)<=R2;end if;end process ;end one;六、测试方法与测试结果1、测试仪器:QUARTUSⅡ2、测试方法:FPGA下载验证与仿真验证3、测试结果:满足设计要求以20HZ为基准仿真:仿真结果:C1:显示30减计数的个位C0:显示30减计数的十位POUT(6):东西方向绿灯控制端POUT(5):东西方向黄灯控制端POUT(4):东西方向红灯控制端POUT(3):南北方向绿灯控制端POUT(2):南北方向黄灯控制端POUT(1):南北方向红灯控制端白天●夜间黄灯闪烁(手动控制)●设计满足了1.30秒倒数显示2.两个方向灯的交替3.黄灯在最后3秒闪烁七、讨论该电路基本上满足了设计要求,电路简单,实现容易,节省器件。