交通灯控制器的课程设计

合集下载

交通灯控制器的课程设计

交通灯控制器的课程设计

课程设计课题:交通灯控制器的设计一、设计目的:学习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技术交通灯控制器(课程设计)

毕业设计-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交通灯课程设计

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交通灯控课程设计

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交通灯控制器课程设计课程设计: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. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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秒闪烁七、讨论该电路基本上满足了设计要求,电路简单,实现容易,节省器件。

相关文档
最新文档