当前位置:文档之家› 交通灯控制电路设计与仿真

交通灯控制电路设计与仿真

交通灯控制电路设计与仿真
交通灯控制电路设计与仿真

交通灯控制电路设计与仿真

一、实验目的

1、了解交通灯的燃灭规律。

2、了解交通灯控制器的工作原理。

3、熟悉 VHDL 语言编程,了解实际设计中的优化方案。

二、实验原理

交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,车辆如果只要东西和南北方向通行就很简单,而如果车子可以左右转弯的通行就比较复杂,本实验仅针对最简单的南北和东西直行的情况。要完成本实验,首先必须了解交通路灯的燃灭规律。本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各三个。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通的燃灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。

在实验中使用 8 个七段码管中的任意两个数码管显示时间。东西路和南北路的通车时间均设定为 20s。数码管的时间总是显示为 19、18、17……2、1、0、19、18……。在显示时间小于 3 秒的时候,通车方向的黄灯闪烁。

三、实验内容

本实验要完成任务就是设计一个简单的交通灯控制器,交通灯显示用实验箱

的交通灯模块和七段码管中的任意两个来显示。系统时钟选择时钟模块的 1KHz

时钟,黄灯闪烁时钟要求为 2Hz,七段码管的时间显示为 1Hz脉冲,即每 1s 中递

减一次,在显示时间小于 3 秒的时候,通车方向的黄灯以 2Hz 的频率闪烁。系统

中用 S1 按键进行复位。

实验箱中用到的数字时钟模块、按键开关、数码管与 FPGA 的接口电路,以及

数字时钟源、按键开关、数码管与 FPGA 的管脚连接在以前的实验中都做了详细说

明,这里不在赘述。交通灯模块原理与 LED 灯模块的电路原理一致,当有高电平输

入时 LED 灯就会被点亮,反之不亮。只是 LED 发出的光有颜色之分。其与 FPGA 的

管脚连接如下表 19-1 所示:

四、实验步骤

1、打开 QUARTUSII 软件,新建一个工程。

2、建完工程之后,再新建一个 VHDL File,打开 VHDL 编辑器对话框。

3、按照实验原理和自己的想法,在 VHDL 编辑窗口编写 VHDL 程序,用户可参照光盘中提供的示例程序。

4、编写完 VHDL 程序后,保存起来。

(1)-jtdkz.vhd

library ieee;

use ieee.std_logic_1164.all;

entity jtdkz is

port(clk,sm,sb:in std_logic;

mr,my0,mg0,br,by0,bg0:out std_logic);

end entity jtdkz;

architecture art of jtdkz is

type state_type is(A,B,C,D);

signal state:state_type;

begin

cnt:

process(clk) is

variable s:integer range 0 to 45;

variable clr,en:bit;

begin

if(clk'event and clk='1')then

if clr='0'then s:=0;

elsif en='0' then s:=s;

else s:=s+1;

end if;

case state is

when A=>mr<='0';my0<='0';mg0<='1';br<='1';by0<='0';bg0<='0';

if(sb and sm)='1' then

if s=45 then state<= B;clr:='0';en:='0';

else state<=A;clr:='1';en:='1';

end if;

elsif(sb and(not sm))='1'then state<=B;clr:='0';en:='0';

else state<=A;clr:='1';en:='1';

end if;

when B=>mr<='0';my0<='1';mg0<='0';br<='1';by0<='0';bg0<='0';

if s=5 then state<=C;clr:='0';en:='0';

else state<=B;clr:='1';en:='1';

end if;

when C=>mr<='1';my0<='0';mg0<='0';br<='0';by0<='0';bg0<='1';

if(sb and sm)='1' then

if s=25 then state<= D;clr:='0';en:='0';

else state<=C;clr:='1';en:='1';

end if;

elsif sb='0' then state<=D;clr:='0';en:='0';

else state<=C;clr:='1';en:='1';

end if;

when D=>mr<='1';my0<='0';mg0<='0';br<='0';by0<='1';bg0<='0'; if s=5 then state<=A;clr:='0';en:='0';

else state<=D;clr:='1';en:='1';

end if;

end case;

end if;

end process cnt;

end architecture art;

(2)cskz.vhd

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity cskz is

port(ina:in std_logic;

outa:out std_logic);

end entity cskz;

architecture art of cskz is

begin

process(ina) is

begin

if ina='1' then outa<='1';

else outa<='0';

end if;

end process;

end architecture art;

(3)—cnt45s.vhd

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity cnt45s is

port(sb,clk,en45:in std_logic;

dout45m,dout45b:out std_logic_vector(7 downto 0)); end entity cnt45s;

architecture art of cnt45s is

signal cnt6b:std_logic_vector(5 downto 0);

begin

process(sb,clk,en45)is

begin

if sb='0'then cnt6b<=cnt6b-cnt6b-1;

elsif(clk'event and clk='1')then

if en45='1'then cnt6b<=cnt6b+1;

elsif en45='0' then cnt6b<=cnt6b-cnt6b-1;

end if;

end if;

end process;

process(cnt6b)is

begin

case cnt6b is

when "000001"=>dout45m<="01000100";dout45b<="01001001"; when "000010"=>dout45m<="01000011";dout45b<="01001000"; when "000011"=>dout45m<="01000010";dout45b<="01000111"; when "000100"=>dout45m<="01000001";dout45b<="01000110"; when "000101"=>dout45m<="01000000";dout45b<="01000101"; when "000110"=>dout45m<="00111001";dout45b<="01000100"; when "000111"=>dout45m<="00111000";dout45b<="01000011"; when "001000"=>dout45m<="00110111";dout45b<="01000010"; when "001001"=>dout45m<="00110110";dout45b<="01000001"; when "001010"=>dout45m<="00110101";dout45b<="01000000"; when "001011"=>dout45m<="00110100";dout45b<="01101001"; when "001100"=>dout45m<="00110011";dout45b<="00111000"; when "001101"=>dout45m<="00110010";dout45b<="00110111"; when "001110"=>dout45m<="00110001";dout45b<="00110110"; when "001111"=>dout45m<="00110000";dout45b<="00110101"; when "010000"=>dout45m<="00101001";dout45b<="00110100"; when "010001"=>dout45m<="00101000";dout45b<="00110011"; when "010010"=>dout45m<="00100111";dout45b<="00110010"; when "010011"=>dout45m<="00100110";dout45b<="00110001"; when "010100"=>dout45m<="00100101";dout45b<="00110000"; when "010101"=>dout45m<="00100100";dout45b<="00101001"; when "010110"=>dout45m<="00100011";dout45b<="00101000"; when "010111"=>dout45m<="00100010";dout45b<="00100111"; when "011000"=>dout45m<="00100001";dout45b<="00100110"; when "011001"=>dout45m<="00100000";dout45b<="00100101"; when "011010"=>dout45m<="00011001";dout45b<="00100100"; when "011011"=>dout45m<="00011000";dout45b<="00100011"; when "011100"=>dout45m<="00010111";dout45b<="00100010"; when "011101"=>dout45m<="00010110";dout45b<="00100001"; when "011110"=>dout45m<="00010101";dout45b<="00100000"; when "011111"=>dout45m<="00010100";dout45b<="00011001"; when "100000"=>dout45m<="00010011";dout45b<="00011000"; when "100001"=>dout45m<="00010010";dout45b<="00010111"; when "100010"=>dout45m<="00010001";dout45b<="00010110"; when "100011"=>dout45m<="00010000";dout45b<="00010101"; when "100100"=>dout45m<="00001001";dout45b<="00010100"; when "100101"=>dout45m<="00001000";dout45b<="00010011"; when "100110"=>dout45m<="00000111";dout45b<="00010010"; when "100111"=>dout45m<="00000110";dout45b<="00010001"; when "101000"=>dout45m<="00000101";dout45b<="00010000"; when "101001"=>dout45m<="00000100";dout45b<="00001001"; when "101010"=>dout45m<="00000011";dout45b<="00001000"; when "101011"=>dout45m<="00000010";dout45b<="00000111";

when others=>dout45m<="00000000";dout45b<="00000000"; end case;

end process;

end architecture art;

(4)cnt05s.vhd

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity cnt05s is

port(clk,en05m,en05b:in std_logic;

dout5:out std_logic_vector(7 downto 0));

end entity cnt05s;

architecture art of cnt05s is

signal cnt3b:std_logic_vector(2 downto 0);

begin

process(clk,en05m,en05b)is

begin

if(clk'event and clk='1')then

if en05m='1'then cnt3b<=cnt3b+1;

elsif en05b='1'then cnt3b<=cnt3b+1;

elsif en05b='0'then cnt3b<=cnt3b-cnt3b-1;

end if;

end if;

end process;

process(cnt3b)is

begin

case cnt3b is

when "000"=>dout5<="00000101";

when "001"=>dout5<="00000100";

when "010"=>dout5<="00000011";

when "011"=>dout5<="00000010";

when "100"=>dout5<="00000001";

when others=>dout5<="00000000";

end case;

end process;

end architecture art;

(5)—cnt25s.vhd

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity cnt25s is

port(sb,sm,clk,en25:in std_logic;

dout25m,dout25b:out std_logic_vector(7 downto 0)); end entity cnt25s;

architecture art of cnt25s is

signal cnt5b:std_logic_vector(4 downto 0);

begin

process(sb,sm,clk,en25)is

begin

if sb='0'then cnt5b<=cnt5b-cnt5b-1;

elsif sm='0' then cnt5b<=cnt5b-cnt5b-1;

elsif(clk'event and clk='1') then

if en25='1' then cnt5b<=cnt5b+1;

elsif en25='0' then cnt5b<=cnt5b-cnt5b-1;

end if;

end if;

end process;

process(cnt5b)is

begin

case cnt5b is

when "00000"=>dout25b<="00100101";dout25m<="00110000";

when "00001"=>dout25b<="00100100";dout25m<="00101001";

when "00010"=>dout25b<="00100011";dout25m<="00101000";

when "00011"=>dout25b<="00100010";dout25m<="00100111";

when "00100"=>dout25b<="00100001";dout25m<="00100110";

when "00101"=>dout25b<="00100000";dout25m<="00100101";

when "00110"=>dout25b<="00011001";dout25m<="00100100";

when "00111"=>dout25b<="00011000";dout25m<="00100011";

when "01000"=>dout25b<="00010111";dout25m<="00100010";

when "01001"=>dout25b<="00010110";dout25m<="00100001";

when "01010"=>dout25b<="00010101";dout25m<="00100000";

when "01011"=>dout25b<="00010100";dout25m<="00011001";

when "01100"=>dout25b<="00010011";dout25m<="00011000";

when "01101"=>dout25b<="00010010";dout25m<="00010111";

when "01110"=>dout25b<="00010001";dout25m<="00010110";

when "01111"=>dout25b<="00010000";dout25m<="00010101";

when "10000"=>dout25b<="00001001";dout25m<="00010100";

when "10001"=>dout25b<="00001000";dout25m<="00010011";

when "10010"=>dout25b<="00000111";dout25m<="00010010";

when "10011"=>dout25b<="00000110";dout25m<="00010001";

when "10100"=>dout25b<="00000101";dout25m<="00010000";

when "10101"=>dout25b<="00000100";dout25m<="00010001";

when "10110"=>dout25b<="00000011";dout25m<="00001000";

when "10111"=>dout25b<="00000010";dout25m<="00000111";

when "11000"=>dout25b<="00000001";dout25m<="00000110";

when others=>dout25b<="00000000";dout25m<="00000000";

end case;

end process;

end architecture art;

(6)—xskz.vhd

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity xskz is

port(en45,en25,en05m,en05b:in std_logic;

ain45m,ain45b,ain25m,ain25b,ain05:in std_logic_vector(7 downto 0); doutm,doutb:out std_logic_vector(7 downto 0));

end entity xskz;

architecture art of xskz is

begin

process(en45,en25,en05m,en05b,ain45m,ain45b,ain25m,ain25b,ain05)is begin

if en45='1'then doutm<=ain45m(7 downto 0);doutb<=ain45b(7 downto 0);

elsif en05m='1'then doutm<=ain05(7 downto 0);doutb<=ain05(7 downto 0); elsif en25='1'then doutm<=ain25m(7 downto 0);doutb<=ain25b(7 downto 0); elsif en05b='1'then doutm<=ain05(7 downto 0);doutb<=ain05(7 downto 0); end if;

end process;

end architecture art;

(7)—ymq.vhd

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity ymq is

port(clk:in std_logic;

ain41,ain42,ain43,ain44:in std_logic_vector(3 downto 0);

del:out std_logic_vector(2 downto 0);

dout7:out std_logic_vector(6 downto 0));

end entity ymq;

architecture art of ymq is

signal ain4: std_logic_vector(3 downto 0);

signal cnt: std_logic_vector(2 downto 0);

begin

process(clk)

begin

if clk'event and clk='1' then

if cnt="011" then

cnt<="000";

else

cnt<=cnt+1;

end if;

end if;

end process;

process(cnt,ain41,ain42,ain43,ain44)

begin

case cnt is

when "000" => ain4<=ain41; del<="111";

when "001" => ain4<=ain42; del<="110";

when "010" => ain4<=ain43; del<="101";

when "011" => ain4<=ain44; del<="100";

when "100" => ain4<=ain41; del<="000";

when "101" => ain4<=ain41; del<="000";

when "110" => ain4<=ain41; del<="000";

when "111" => ain4<=ain41; del<="000";

end case;

end process;

process(ain4)is

begin

case ain4 is

when "0000"=>dout7<="0111111";

when "0001"=>dout7<="0000110";

when "0010"=>dout7<="1011011";

when "0011"=>dout7<="1001111";

when "0100"=>dout7<="1100110";

when "0101"=>dout7<="1101101";

when "0110"=>dout7<="1111101";

when "0111"=>dout7<="0000111";

when "1000"=>dout7<="1111111";

when "1001"=>dout7<="1101111";

when others=>dout7<="0000000";

end case;

end process;

end architecture art;

(8)—jtkzq.vhd

library ieee;

use ieee.std_logic_1164.all;

entity jtkzq is

port(

clk,sm,sb:in std_logic;

mr,mg,my,by,br,bg:out std_logic;

del1:out std_logic_vector(2 downto 0);

dout:out std_logic_vector(6 downto 0));

end entity jtkzq;

architecture art of jtkzq is

component div_clk is

port(clk : in std_logic;

clk1:out std_logic);

end component div_clk;

component jtdkz is

port(clk,sm,sb:in std_logic;

mr,my0,mg0,br,by0,bg0:out std_logic); end component jtdkz;

component cskz is

port(

ina:in std_logic;

outa:out std_logic);

end component cskz;

component cnt45s is

port(sb,clk,en45:in std_logic;

dout45m,dout45b:out std_logic_vector(7 downto 0));

end component cnt45s;

component cnt05s is

port(clk,en05m,en05b:in std_logic;

dout5:out std_logic_vector(7 downto 0));

end component cnt05s;

component cnt25s is

port(sb,sm,clk,en25:in std_logic;

dout25m,dout25b:out std_logic_vector(7 downto 0));

end component cnt25s;

component xskz is

port(en45,en25,en05m,en05b:in std_logic;

ain45m,ain45b,ain25m,ain25b,ain05:in std_logic_vector(7 downto 0);

doutm,doutb:out std_logic_vector(7 downto 0));

end component xskz;

component ymq is

port(clk:in std_logic;

ain41,ain42,ain43,ain44:in std_logic_vector(3 downto 0);

del:out std_logic_vector(2 downto 0);

dout7:out std_logic_vector(6 downto 0));

end component ymq;

signal clk11:std_logic;

signal en1,en2,en3,en4:std_logic;

signal s45m,s45b,s05,s25m,s25b:std_logic_vector(7 downto 0);

signal ym1,ym2,ym3,ym4:std_logic_vector(3 downto 0);

begin

u1:div_clk port map(clk=>clk,clk1=>clk11);

u2:jtdkz port

map(clk=>clk11,sm=>sm,sb=>sb,mr=>mr,my0=>en2,mg0=>en1,br=>br,by0=>en4,bg0=>en3) ;

u3:cskz port map(ina=>en1,outa=>mg);

u4:cskz port map(ina=>en2,outa=>my);

u5:cskz port map(ina=>en3,outa=>bg);

u6:cskz port map(ina=>en4,outa=>by);

u7:cnt45s port map(clk=>clk11,sb=>sb,en45=>en1,dout45m=>s45m,dout45b=>s45b);

u8:cnt05s port map(clk=>clk11,en05m=>en2,dout5=>s05,en05b=>en4);

u9:cnt25s port

map(clk=>clk11,sm=>sm,sb=>sb,en25=>en3,dout25m=>s25m,dout25b=>s25b);

u10:xskz port

map(en45=>en1,en05m=>en2,en25=>en3,en05b=>en4,ain45m=>s45m,ain45b=>s45b,ain25m= >s25m,ain25b=>s25b,ain05=>s05,doutm(3 downto 0)=>ym1,doutm(7 downto

4)=>ym2,doutb(3 downto 0)=>ym3,doutb(7 downto 4)=>ym4);

u11:ymq port

map(clk=>clk,ain41=>ym1,ain42=>ym2,ain43=>ym3,ain44=>ym4,del=>del1,dout7=>dout) ;

end architecture art;

(9)—div_clk.vhd

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity div_clk is

port(clk : in std_logic;

clk1:out std_logic);

end div_clk;

architecture behav of div_clk is

signal cnt:integer range 1000 downto 0;

begin

process(clk)

begin

if clk'event and clk='1' then

if cnt=999 then

cnt<=0;

else

cnt<=cnt+1;

end if;

if cnt<500 then

clk1<='0';

else

clk1<='1';

end if;

end if;

end process;

end behav;

5 引脚分配

6 实验现象

当主、支道均有车时,两者交替允许通行,主干道每次放行45s,支干道每次放行25s,在每次由亮绿灯变成亮红灯的转换过程中,要亮5s的黄灯作为过度,并进行减计时显示。

简易交通灯控制电路的设计课程设计

长安大学 电子技术课程设计 题目简易交通信号灯控制器 班级 姓名黄红涛指导教师温 凯歌 日期 前言 在现代城市中,人口和汽车日益增长,市区交通也日益拥挤,人们的安全问题也日益重要。因此,红绿交通信号灯成为交管部门管理交通的重要工具之一。有了交通灯之后人们的安全出行有了很大的保障。 自从交通灯诞生以来,其内部的电路控制系统就不断的被改进,设计方法也开始多种多样,从而使交通灯显得更加智能化。尤其是近几年来,随着电子与计算机技术的飞速发展,电子电路分析和设计方法有了很大的改进,电子设计自动化也已经成为现代电子系统中不可缺少的工具和手段,这些为交通灯控制电路的设计提供了一定的技术基础。 因此,在本次课题为简易交通灯的课程设计中,通过采用数字电路对交通灯控制电路的设计,提出使交通灯控制电路用数字信号自动控制十字路口两组红、黄、绿交通灯的状态转换的方法,指挥各种车辆和行人安全通行,实现十字路口交通管理的自动化。

本设计分为两个部分:第一部分是由定时器、时钟脉冲驱动和控制器组成的秒脉冲信号发生装置;第二部分是有译码器、发光二极管和数码管组成的交通信号灯以及时间显示装置。各部分采用分模块设计,正文中详细介绍了各模块的功能和原理。 为了完成本次设计,参阅了大量的资料,包括所用到的芯片的详细中英文资料。搜集和查阅资料是一个漫长但是非常重要的过程,获取各模块电路原理,然后经过讨论比较,结合课题要求,确定出一套最合适的方案。小组人员花费几天时间,通过图书馆和上网查阅资料,分别查阅到相应资料。经过商讨,结合现有资料,制定基本框架,并基本定出电路图。在MULTISIM软件里进行电路仿真,来验证电路的正确性。通过仿真来验证实验原理和电路的正确性。在整个过程中,充分发挥主观能动性,将平时所学的理论知识和实际相结合,往往理论可行的东西,实际并不一定能出现结果,这就是我们需要解决的问题,通过问老师或者查资料来分析解决问题。最后确定仿真没有错误后,汇总电路图。 本设计分为两大部分,交通信号灯以及译码显示电路(时间显示)部分由黄红涛同学和韩白雨同学负责主导设计;秒脉冲信号发生以及控制部分由任永刚同学负责,最后进过整合后得到完整系统。 由于缺少实践经验,并且知识有限,所以本次课程设计中难免存在缺点和错误,敬请老师批评指正。 黄红涛 2010年12月29日 目录 前言 (2)

智能交通信号灯控制系统设计

编号: 毕业论文(设计) 题目智能交通信号灯控制系统设计 指导教师xxx 学生姓名杨红宇 学号201321501077 专业交通运输 教学单位德州学院汽车工程系(盖章) 二O一五年五月十日

德州学院毕业论文(设计)中期检查表

目 录 1 绪论............................................................................................................................ 1 1.1交通信号灯简介...................................................................................................... 1 1.1.1 交通信号灯概述.................................................................................................. 1 1.1. 2 交通信号灯的发展现状...................................................................................... 1 1.2 本课题研究的背景、目的和意义 ......................................................................... 1 1. 3 国内外的研究现状 ................................................................................................. 1 2 智能交通信号灯系统总设计.................................................................................... 2 2.1 单片机智能交通信号灯通行方案设计 ................................................................. 2 2.2 功能要求 ............................................................................... 错误!未定义书签。 3 系统硬件组成............................................................................................................ 4 4 系统软件程序设计.................................................................................................... 5 5 结论和展望................................................................................................................ 6 参考文献...................................................................................... 错误!未定义书签。 杨红宇 要: 但是传统的交通信号灯不已经不能满足于现代日益增长的交通压力,这些缺点体现在:红绿 以及车流量检测装置来实现交通信号灯的自控制,随着车流量来改变红绿灯1 绪论 1.1 1.1.1 为现代生活中必不可少的一部分。

基于PLC的智能交通灯控制系统设计 开题报告

南京师范大学中北学院
毕业设计(论文)开题报告
( 10 届)
题 目: 基于 PLC 智能交通灯控制系统设计
专 业: 电气工程及其自动化
姓 名: xxx 学 号: xxx
指导教师: xxx 职 称:
填写日期:
2014 年 2 月 20 日
南京师范大学中北学院教务处 制
开题报告填写要求
1.开题报告作为毕业设计(论文)答辩委员会对学生答辩资格

审查的依据材料之一。此报告应在指导教师指导下,由学生在毕业 设计(论文)工作前期内完成,经指导教师签署意见及院、系审查 后生效;
2.开题报告内容必须用黑墨水笔工整书写或按教务处统一设计 的电子文档标准格式(可从教务处网址上下载)打印,禁止打印在 其它纸上后剪贴,完成后应及时交给指导教师签署意见;
3.有关年月日等日期的填写,应当按照国标 GB/T 7408—94《数 据元和交换格式、信息交换、日期和时间表示法》规定的要求,一 律用阿拉伯数字书写。如“2011 年 4 月 26 日”或“2011-04-26”。
4.院系审查意见栏签章:自办专业盖中北学院教学院长签名章、 中北学院公章,非自办专业盖联办二级学院教学院长签名章、联办 二级学院公章。

毕 业 设 计(论 文)开 题 报 告
1.本课题的目的及研究意义:
随着我国交通事业的迅速发展,各种公交、运输汽车、私家车等车的急速增加,使 得城市道路交通日益堵塞,交通在许多城市已经成为“瓶颈”问题。因此,提高城市路 网的通行能力、实现道路交通的科学化管理迫在眉睫。
虽然各城市已在十字路口设置了交通灯,对交通进行了有效的疏通,但是随着社会、 经济的快速发展,原先的交通灯控制系统已经不能适应现在日益繁忙的交通状况。如何 改善交通灯控制系统,使其适应现在的交通状况,成为研究的课题。
传统的十字路口交通控制灯,通常的做法是:事先进行车流量的调查,运用统计的 方法将两个方向红绿灯的延时预先设置好。然而,实际上车辆流量的变化往往是不确定 的,有的路口在不同的时段甚至可能产生很大的差异。即使是经过长期运行、较适用的 方案,仍然会发生这样的现象:绿灯方向几乎没有什么车辆,而红灯方向却排着长队等 候通过。可见,统计的方法已不能适应迅猛发展的交通现状,更为现实的需要是:能有 一种能够根据车流量变化适时调节的交通灯控制系统。
我所要研究的就是基于 PLC 的智能交通灯控制系统。智能交通系统(ITS—— Intelligent Transport Systems)ITS 是一个跨学科、信息化、系统化的综合研究体系, 其主要内容是:将先进的人工智能技术、自动控制技术、计算机技术、信息与通讯技术 及电子传感技术等有效的集成,并应用于整个地面交通管理系统而建立的一种在大范围 内、全方位发挥作用的,实时、准确、高效的综合交通运输管理系统。由于交通系统具 有较强的非线性、模糊性和不确定性,是一个典型的分布式非线性系统,而且具有多种 信息来源、多传感器的特点,用传统的理论与方法很难对其进行有效的控制。把先进的 智能控制技术、信息融合技术、智能信息处理技术与交通管理技术结合起来,代表着城 市交通信号控制系统发展的方向。
智能交通的发展是现代社会经济发展的客观要求,交通运输是国民经济和现代社会 发展的基础。由于现代社会城市化速度越来越快、国民经济的高速增长、全球经济的一 体化进程加快、个人旅行与休闲时间的不断增加以及人们对交通需求越来越高,智能交 通便成为现代社会经济发展的客观要求。

交通灯控制电路设计.doc

百度文库 长沙学院 电子技术 课程设计说明书 题目交通灯控制电路设计 系( 部) 电子信息与电气工程系 专业 ( 班级 ) 电气工程及其自动化 姓名龙欣 学号B214 指导教师张海涛 起止日期 电子技术课程设计任务书(27) 系(部):电子信息与电气工程系专业:电气工程及其自动化指导教师:张海涛课题名称 交通灯控制电路设计

百度文库 由一条主干道和一条支干道的汇合点形成十字交叉路口,为确保车辆安全、迅速地通行,在交叉路口的每个入口处设置了红、绿、黄三色信号灯。红灯亮禁止通行; 绿灯亮允许通行;黄灯亮则给行驶中的车辆有时间停靠在禁行线外。实现红、绿灯的 自动指挥对城市交通管理现代化有着重要的意义。 设设计要求: 1.掌握交通灯控制电路的设计、组装与调试方法。 计 2.熟悉数字集成电路的设计和使用方法,能够运用所学知识设计一定规模的电路。 内 设计任务: 容 1.用红、绿、黄三色发光二极管作信号灯。 及 2.当主干道允许通行亮绿灯时,支干道亮红灯,而支干道允许亮绿灯时,主干道亮红 要 灯。 求 3.主支干道交替允许通行,主干道每次放行30s、支干道20s。设计 30s 和20s 计时 显示电路。 4.在每次由亮绿灯变成亮红灯的转换过程中间,要亮 5s 的黄灯作为过渡,以使行驶中 的车辆有时间停到禁止线以外,设置5s 计时显示电路。 1、系统整体设计; 设 2、系统设计及仿真; 计 3、在 Multisim 或同类型电路设计软件中进行仿真并进行演示; 工 作 4、提交一份完整的课程设计说明书,包括设计原理、仿真分析、调试过程,量参考文献、设计总结等。 起止日期(或时间量)设计内容(或预期目标)备注 进 第一天课题介绍,答疑,收集材料 第二天设计方案论证 度 安第三天进行具体设计 排 第四天进行具体设计 第五天编写设计说明书 指导老师 月教研室 年日 意见意见 年月日 长沙学院课程设计鉴定表 姓名龙欣学号B214专业电气班级 2

交通灯控制电路设计

交通灯控制电路设计 由一条主干道和一条支干道的汇合点形成十字交叉路口,为确保车辆安全、迅速地通行,在交叉路口的每个入口处设置了红、绿、黄三色信号灯。红灯亮禁止通行;绿灯亮允许通行;黄灯亮则给行驶中的车辆有时间停靠在禁行线外。实现红、绿灯的自动指挥对城市交通管理现代化有着重要的意义。 一、设计目的 1.掌握交通灯控制电路的设计、组装与调试方法。 2.熟悉数字集成电路的设计和使用方法。 二、设计任务与要求 1.用红、绿、黄三色发光二极管作信号灯。 2.当主干道允许通行亮绿灯时,支干道亮红灯,而支干道允许亮绿灯时,主干道亮红灯。 3.主支干道交替允许通行,主干道每次放行30s、支干道20s。设计30s和20s 计时显示电路。 4.在每次由亮绿灯变成亮红灯的转换过程中间,要亮5s的黄灯作为过渡,以使行驶中的车辆有时间停到禁止线以外,设置5s计时显示电路。 三、交通灯控制电路基本原理及电路设计 实现上述任务的控制器整体结构如图4-2-4 主干道信号灯支干道信号灯 译码驱动电路 主控制器时传钟感信器号 计时器 图4-2-4交通灯控制器结构图

1(主控制器 主控电路是本课题的核心,它的输入信号来自车辆的检测信号和30s、20s、5s 三个 定时信号,它的输出一方面经译码后分别控制主干道和支干道的三个信号灯,另一方面控制 定时电路启动。主控电路属于时序逻辑电路,可采用状态机的方法进行设计。 主控电路的输入信号有: 主干道有车A,1,无车A,0; 支干道有车B,1,无车B,0; 主干道有车过30s为L,1,未过30s为L=0; 支干道有车过20s为S,1,未过20s为S,0; 黄灯亮过5s为P,1,未过5s为P,0。 主干道和支干道各自的三种灯(红、黄、绿),正常工作时,只有4种可能,即4种状态: 主绿灯和支红等亮,主干道通行,启动30s定时器,状态为S; 0 主黄灯和支红灯亮,主干道停车,启动5s定时器,状态为S; 1 主红灯和支绿灯亮,支干道通行,启动20s定时器,状态为S; 2 主红灯和支黄灯亮,支干道停车,启动5s定时器,状态为S。 3 四种状态的转换关系如图4-2-5: 支道无车或主道有车未过30s 主绿灯主道有车支道有车支红灯或主支道均有车已亮过30s过5s S0未未主红灯主黄灯过过支黄灯支红灯S1S35s5s亮亮 S2 过5s支道无车或主主红灯道有车已过20s支绿灯亮

单片机设计方案——交通灯控制系统设计方案

单片机课程设计报告交通灯控制系统设计

摘要 本设计是针对交通灯系统的设计,由单片机AT89C51(实物用AT89S52)、键盘、LED显示、交通灯演示系统组成。单片机是把微型计算机的各功能部件集成在一块芯片中,构成的一个完整的微型计算机。AT89C51单片机是MC-51中的子系列,是一组高性能兼容型单片机,AT89C51是一个低功耗高性能的CMOS 8位单片机,40个引脚,片内含4KB Flash ROM和128B RAM,它是一个全双工的串行通行口,既可以用常规编程,又可以在线编程。 本设计中的数码管的选通采用的方法是动态显示,对每一位数码分时轮流通电显示,复位电路采用上电+按钮电平复位,时钟电路采用内部时钟产生方式。对特殊情况的处理采用中断处理方式,在中断处理程序中采用对管脚的状态查询扫描,已采取相应情况的处理。 对设计方案进行电路硬件设计,并将已编程的程序载入调试,可以得到理想的实验效果。系统包括人行道、左转、右转、以及基本的交通灯的功能.具体功能是假如 A 道和B道上均有车辆要求通过时,A、B道轮流放行。A道放行 25秒,B道放行20秒。一道有车而另一道无车,交通灯控制系统能立即让有车道放行。有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2 开关模拟。绿灯转换为红灯时黄灯亮 1秒钟。系统除基本交通灯功能外,还具有倒计时、时间设置、紧急情况处理、分时段调整信号灯的点亮时间以及根据具体情况手动控制等功能。

目录 1引言.......................................................................................................................................... - 1 - 1.1交通灯的重要作用........................................................................................................... - 1 -1.2该交通灯系统的特点....................................................................................................... - 1 -2系统总体方案及硬件设计 ......................................................................................................... - 2 - 2.1原理框图........................................................................................................................... - 2 -2.2设计功能........................................................................................................................... - 2 - 2.3交通灯控制系统各部分硬件组成................................................................................... - 2 - 2.3.1复位部分.................................................................................................................... - 2 - 2.3.2时钟电路部分............................................................................................................ - 3 - 2.3.3路口指示灯部分........................................................................................................ - 3 - 2.3.4显示部分.................................................................................................................... - 3 -2.4元器件清单....................................................................................................................... - 4 -3软件设计..................................................................................................................................... - 5 - 3.1交通灯控制系统软件流程图及程序分析....................................................................... - 5 - 3.1.1主程序流程图及程序模设计.................................................................................... - 5 - 3.1.2INT0中断服务程序流程图及程序模设计.............................................................. - 6 -3.2路口指示灯部分............................................................................................................... - 7 - 3.3显示部分........................................................................................................................... - 7 - 4. Proteus软件仿真 ..................................................................................................................... - 8 - 5 课程设计体会......................................................................................................................... - 10 -参考文献....................................................................................................................................... - 10 -附1:源程序代码 (13) 附2:系统原理图 (20)

交通灯电路设计

第三章数字电路课程设计 课程设计1:交通灯逻辑控制电路设计 一、简述: 为了确保十字路口的车辆顺利、畅通地通过,往往都采用自动控制信号灯来进行指挥。其中红灯(R)亮,表示该条道路禁止通行;黄灯(Y)亮表示停车;绿灯(G)亮表示允许通行。交通灯控制电路的系统框图如图3.1.1所示: 图3.1.1 交通灯控制器系统框图 二、设计任务和要求 设计一个十字路口交通信号灯控制器。基本要求如下: 1.满足图3.1.2顺序工作流程。图中设南北方向的红、黄、绿灯分别为NSR、NSY、NSG,东西方向的红、黄、绿灯分别为EWR、EWY、EWG。它们的工作方式有些必须是并行进行的,即南北方向绿灯亮,东西方向红灯亮;南北方向黄灯亮,东西方向红灯亮;南北方向红灯亮,东西方向绿灯亮;南北方向红灯亮,东西方向黄红灯亮。 2.应满足两个方向的工作时序:即东西方向亮红灯时间应等于南北方向亮黄、绿灯时间之和,南北方向亮红灯时间应等于东西方向亮黄、绿灯时间之和。时序工作流程图3.1.3所示。图3.1.3中,假设每个单位时间为3秒,则南北、东西方向绿、黄、红灯亮时间分别15秒、3秒、18秒,一次循环为36秒。其中红灯亮

的时间为绿灯、黄灯亮的时间之和。 图3.1.3 交通灯时序工作流程图 3.十字路口要有数字显示,作为时间提示,以便人们更直观地把握时间。具体为:当某方向绿灯亮时,置显示器为0,然后以每秒加1计数方式方式工作,直至加到绿灯灭为止;当黄灯亮时,置显示器为0,然后以每秒加1计数方式方式工作,直至加到黄灯灭为止;当红灯亮时,置显示器为0,然后以每秒加1计数方式方式工作,直至加到红灯灭为止。例如:假设每个单位时间为3 秒,当南北方向从红灯转换成绿灯时,置南北方向数字显示为0,并使数显计数器开始加“1”计数,当加到绿灯灭而黄灯亮时,数显的值应从14跳回到0,同时黄灯亮,黄灯计数,当数显值从2跳到0时,此时黄灯灭,而南北方向的红灯亮;红灯计数加“1”计数,当加到红灯灭时,数显的值应从17跳回到0。同时,使得东西方向的绿灯亮,并置东西方向开始计数。 4.扩展功能: (1)用LED 发光二极管模拟汽车行驶电路。当某一方向绿灯亮时,这一方向的1 2 3 4 5 6 7 8 9 10 11 12 1 2 3 4 5 6 NSG t

交通灯控制电路

交通灯控制电路 交通灯的课程设计 [要点提示] 一、实验目的 二、实验预习要求 三、实验原理 四、实验仪器设备 五、练习内容及方法 六、实验报告 七、思考题 [内容简介] 一、设计任务与要求 1(设计一个十字路口的交通灯控制电路,要求甲车道和乙车道两条交叉道路上的车辆交替运行,每次通行时间都设为25秒; 2(要求黄灯先亮5秒,才能变换运行车道; 3(黄灯亮时,要求每秒钟闪亮一次。 二、实验预习要求 1(复习数字系统设计基础。 2(复习多路数据选择器、二进制同步计数器的工作原理。 3(根据交通灯控制系统框图,画出完整的电路图。 三、设计原理与参考电路 1(分析系统的逻辑功能,画出其框图

交通灯控制系统的原理框图如图12、1所示。它主要由控制器、定时器、译码器和秒脉冲信号发生器等部分组成。秒脉冲发生器是该系统中定时器和控制器的标准时钟信号源,译码器输出两组信号灯的控制信号,经驱动电路后驱动信号灯工作,控制器是系统的主要部分,由它控制定时器和译码器的工作。图中: TL: 表示甲车道或乙车道绿灯亮的时间间隔为25秒,即车辆正常通行的时间间隔。定时时间到,TL=1,否则,TL=0。 TY:表示黄灯亮的时间间隔为5秒。定时时间到,TY=1,否则,TY=0。 ST:表示定时器到了规定的时间后,由控制器发出状态转换信号。由它控制定时器开始下个工作状态的定时。 2(画出交通灯控制器的ASM图12、1 交通灯控制系统的原理框图(Algorithmic State Machine,算法状 态机)

(1)图甲车道绿灯亮,乙车道红灯亮。表示甲车道上的车辆允许通行,乙车道 禁止通行。绿灯亮足规定的时间隔TL时,控制器发出状态信号ST,转到下一工作状态。 (2)甲车道黄灯亮,乙车道红灯亮。表示甲车道上未过停车线的车辆停止通 行,已过停车线的车辆继续通行,乙车道禁止通行。黄灯亮足规定时间间隔TY 时,控制器发出状态转换信号ST,转到下一工作状态。 (3)甲车道红灯亮,乙车道黄灯亮。表示甲车道禁止通行,乙车道上的车辆允 许通行绿灯亮足规定的时间间隔TL时,控制器发出状态转换信号ST,转到下一工作状态。 (4)甲车道红灯亮,乙车道黄灯亮。表示甲车道禁止通行,乙车道上位过县停 车线的车辆停止通行,已过停车线的车辆停止通行,已过停车线的车辆继续通行。黄灯亮足规定的时间间隔TY时,控制器发出状态转换信号ST,系统又转换到第(1)种工作状态。 交通灯以上4种工作状态的转换是由控制器器进行控制的。设控制器的四种状态编码为00、01、11、10,并分别用S0、S1、S3、S2表示,则控制器的工作状态及功能如表12、1所示,控制器应送出甲、乙车道红、黄、绿灯的控制信号。为简便起见,把灯的代号和灯的驱动信号合二为一,并作如下规定: 表12、1 控制器工作状态及功能 控制状态信号灯状态车道运行状态 S0(00) 甲绿,乙红甲车道通行,乙车道禁止通行 S1(01) 甲黄,乙红甲车道缓行,乙车道禁止通行 S3(11) 甲红,乙绿甲车道禁止通行,甲车道通行 S2(10) 甲红,乙黄甲车道禁止通行,甲车道缓行 AG=1:甲车道绿灯亮;

交通灯控制系统课程设计

2011年至2012年第1学期《单片机原理与应用》课程设计 班级1006402 指导教师涂立旎 学生人数___ _3__ ___ 设计份数 1 2011年12月23日

城市交通灯控制系统设计报告 1006402-42 流溪 1006402-24钱升 1006402-06毛运鹏 一.设计时间 2012年12月19日——2011年12月23日 二.设计地点 一实验楼401机房 三.设计小组及成员分工 1006402-42 流溪(组长,编写及调试程序) 1006402-24 钱升(负责设计报告的书写及资料整理) 1006402-06 毛运鹏(原理图、流程图设计) 四.指导老师 涂立老师,旎老师 五.设计题目 基于51型单片机的城市交通灯控制系统 六.设计容及目标 1.该交通灯系统的设计容 本设计是基于AT89S51单片机的十字路口交通灯控制系统,利用6个发光二极管模拟交通灯。按照时间控制原则,利用并行接口和定时器,采用时间中断方式设计一套十字路口的交通灯管理系统,通行时间(或禁止时间)30秒,准备时间3秒,在准备时间里黄灯闪烁3次,闪烁频率为0.5秒,周而复始。 2.该交通灯系统的设计目标 本系统结构简单,操作方便;可实现自动控制,具有一定的智能性;对优化城市交通具有一定的意义。本设计将各任务进行细分包装,使各任务保持相对独立;能有效改善程序结构,便于模块化处理,使程序的可读性、可维护性和可移植性都得到进一步的提高。

七.流程图与原理图及部分说明 1.程序流程图如图1所示: 图1. 程序流程图 2.主程序流程图步骤说明: (1)东西方向车道红灯亮,南北方向车道绿灯亮。表示东西方向车道上的车辆禁止通行,南北方向车道允许通行。绿灯亮足规定的时间隔时,控制器发出状态信号,转到下一工作状态。

交通灯控制电路设计与仿真

交通灯控制电路设计与仿真 一、实验目的 1、了解交通灯的燃灭规律。 2、了解交通灯控制器的工作原理。 3、熟悉 VHDL 语言编程,了解实际设计中的优化方案。 二、实验原理 交通灯的显示有很多方式,如十字路口、丁字路口等,而对于同一个路口又有很多不同的显示要求,比如十字路口,车辆如果只要东西和南北方向通行就很简单,而如果车子可以左右转弯的通行就比较复杂,本实验仅针对最简单的南北和东西直行的情况。要完成本实验,首先必须了解交通路灯的燃灭规律。本实验需要用到实验箱上交通灯模块中的发光二极管,即红、黄、绿各三个。依人们的交通常规,“红灯停,绿灯行,黄灯提醒”。其交通的燃灭规律为:初始态是两个路口的红灯全亮,之后,东西路口的绿灯亮,南北路口的红灯亮,东西方向通车,延时一段时间后,东西路口绿灯灭,黄灯开始闪烁。闪烁若干次后,东西路口红灯亮,而同时南北路口的绿灯亮,南北方向开始通车,延时一段时间后,南北路口的绿灯灭,黄灯开始闪烁。闪烁若干次后,再切换到东西路口方向,重复上述过程。 在实验中使用 8 个七段码管中的任意两个数码管显示时间。东西路和南北路的通车时间均设定为 20s。数码管的时间总是显示为 19、18、17……2、1、0、19、18……。在显示时间小于 3 秒的时候,通车方向的黄灯闪烁。 三、实验内容 本实验要完成任务就是设计一个简单的交通灯控制器,交通灯显示用实验箱 的交通灯模块和七段码管中的任意两个来显示。系统时钟选择时钟模块的 1KHz 时钟,黄灯闪烁时钟要求为 2Hz,七段码管的时间显示为 1Hz脉冲,即每 1s 中递 减一次,在显示时间小于 3 秒的时候,通车方向的黄灯以 2Hz 的频率闪烁。系统 中用 S1 按键进行复位。 实验箱中用到的数字时钟模块、按键开关、数码管与 FPGA 的接口电路,以及 数字时钟源、按键开关、数码管与 FPGA 的管脚连接在以前的实验中都做了详细说 明,这里不在赘述。交通灯模块原理与 LED 灯模块的电路原理一致,当有高电平输 入时 LED 灯就会被点亮,反之不亮。只是 LED 发出的光有颜色之分。其与 FPGA 的 管脚连接如下表 19-1 所示: 四、实验步骤 1、打开 QUARTUSII 软件,新建一个工程。 2、建完工程之后,再新建一个 VHDL File,打开 VHDL 编辑器对话框。

交通灯管理电路设计

第1章概述 随着我国社会经济的发展,城市化、城镇化进程的加快,道路交通堵塞问题日趋严重,如何对交通进行合理的管理和调度而尽可能减少堵车现象成为目前我国很多地方尤其是特大城市急需解决的问题,显然交通灯在其中起着不可缺少的作用。 当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。但这一技术在19世纪就已出现了。 1858年,在英国伦敦主要街头安装了以燃煤气为光源的红、蓝两色的机械扳手式信号灯,用以指挥马车通行。这是世界上最早的交通信号灯。1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。它由红绿两种旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。 电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年开始安装于纽约市5号大街的一座高塔上。红灯亮表示“停止”,绿灯亮表示“通行”。 1918年,又出现了带控制的红绿灯和红外线红绿灯。带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。 信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。 我国机动车辆发展迅速,而城镇道路建设由于历史等各种原因相对滞后。道路拥挤、阻塞现象及交通事故常有发生。如何利用当今自动控制技术,有效地疏导交通,提高城镇交通路口的通行能力,提高车辆速度,减少交通事故是值得我

交通灯控制电路设计数电课程设计+数字电路课程设计

数字电子技术课程设计 简易交通灯控制逻辑电路设计 专业班级:09自动化一班 时间:2011.12.12-2011.12.19 姓名: 指导教师: :郭计云

大同大学电气工程系

目录 一、课程题目 (2) 二、设计要求 (2) 三、系统框图及说明 (2) 四、单元电路设计 (4) 五、仿真过程与效果分析 (12) 六、体会总结 (13) 七、参考文献 (13)

《一》课程设计题目: 交通灯控制电路设计 《二》设计要求: 1、设计一个十字路口的交通灯控制电路,要求南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行时间为20秒,时间可设置修改。 2、在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道; 3、黄灯亮时,要求每秒闪亮一次。 4、东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法)。 5、同步设置人行横道红、绿灯指示。 《三》系统框图及说明: 1、分析系统的逻辑功能,画出其框图 交通灯控制系统的原理框图如图1-1 所示。它主要由计时电路、主控电路、信号 灯转换器和脉冲信号发生器组成。脉冲信号发生器用的是555 定时器;计时计数器是由74LS160 来完成、输出四组驱动信号T0 和T3 经信号灯转换器(4 片7448)来控制信号灯工作,主控电路是系统的主要部分,由它控制信号灯转换器的工作。

(图1-1)2、信号灯转换器

状态与车道运行状态如下:S0:支干道车道的绿灯亮,车道通行,人行道禁止通行;主干道车道的红灯亮,车道禁止通行,人行道通行 S1:支干道车道的黄灯亮,车道缓行,人行道禁止通行;主干道车道的红灯亮,车道禁止通行,人行道通行 S2:支干道车道的红灯亮,车道禁止通行,人行道通行;主干道车道的绿灯亮,车道

交通灯控制逻辑电路设计

交通灯控制逻辑电路设计 一、简述 为了确保十字路口的车辆顺利畅通地行驶,往往都采用自动控制的交通信号灯来进行指挥。其中红灯(R)亮,表示该条道路禁止通行;黄灯(Y)亮表示停车;绿灯(G)亮表示允许通行。 交通灯控制器的系统框.图如图4.1 所示。

二、设计任务和要求 设计一个十字路口交通信号灯控制器,其要求如下: 1.设南北方向的红、黄、绿灯分别为NSR,NSY,NSG;东西方向的红、黄、绿灯 分别为EWR,EWY,EWG,则满足图4.1 的工作 流程并且可以并行工作: NSG(EWR)→ NSR(EWG),黄灯用 于闪烁提示绿灯变为红灯。 2.满足两个方向的工作时序:东西方向红灯亮的时间应等于南北方 向黄、绿灯亮的时间之和;南北方向红灯亮的时间应等于东西方 向黄、绿灯亮的时间之和。时序工作流程见图4.2所示:

图4.3中,假设每个单位时间为2秒,则南北、东西方向的绿、黄、红灯亮的时间分别为12秒、2秒、12秒,一次循环为24秒。 其中红灯亮的时间为绿灯、黄灯亮的时间之和,黄灯是间歇闪耀。 3.十字路口要有数字显示装置,作为时间提示,以便人们更直观地 把握时间。具体要求为:当某方向绿灯亮时,置计数器为某一个 数值,然后以每秒减1的计数方式工作,直至减到数为“0”,十 字路口红、绿灯交换,一次工作循环结束,进入另一个方向的工 作循环。 例如:当南北方向从红灯转换成绿灯时,置南北方向数字显示为 12,并使数显计数器开始减“1”计数,当减法计数到绿灯灭而黄 灯亮(闪耀)时,数码管显示的数值应为2,当减法计数到“0” 时,黄灯灭,而南北方向的红灯亮;同时,使得东西方向的绿灯 亮,并置东西方向的数码管的显示为12。 4.可以手动调整脉冲时间,夜间为黄灯闪耀。 三、设计方案提示

交通灯控制电路

武汉工程大学邮电与信息工程学院实验报告 姓名张宇学号7402150330 指导老师 专业07自动化班级 03 实验室日期 实验题目交通灯控制器的EWB仿真 一、实验目的 通过前面几节的阐述,大家对EWB软件中的元件及仪器的应用有了一定的概念,所以这一节选择了综合性较强的电路——交通灯控制器的仿真设计。 二、实验内容 设计一个主要街道和次要街道十字路口的交通灯控制器。当主要街道绿灯亮6秒时,次要街道的红灯亮;接着主要街道黄灯亮2秒,次要街道的红灯仍然亮;紧接着次要街道的绿灯亮3秒,这时主要街道红灯亮;然后次要街道的黄灯亮1秒,主要街道红灯依然亮;最后主要街道绿灯亮,次要街道变红灯,依次顺序循环控制。 三、实验原理 根据以上要求可知主要街道从绿灯亮到下一次绿灯亮共需12秒,由上述要求可列出这六个灯的真值表,如表8-2所示,其中MG、MY、MR、CG、CY、CR分别表示主要街道的绿灯、黄灯、红灯,次要街道的绿灯、黄灯、红灯。各灯的函数表达式克由EWB的逻辑转换仪获得。因为一次循环需要12秒,所以输入端可应用74LS163芯片来完成时间上的控制。其管脚和功能表基本上与74LS160一样,只是它是二进制计数器,时钟为下跳边触发。首先,12秒一循环相当是一

个模12技术,因此应将Q D、Q B和Q A通过一与非门接到芯片的CR清零端;其次,CP时钟端应输入1Hz的脉冲信号(这一元件可在电源元件库中找到,点中该元件后按鼠标右键,在属性一栏中修改它的输出频率为1Hz);最后,根据下面所得的函数表达式完成电路设计。 M G D C D B D C D B =+=? = M Y C B = M R D =+=? C G D B D A D B D A = C Y D B A = C R D 四、交通灯控制器电路的实现及结果仿真 由上述函数式可画出相应的电路图,按图所示的电路进行仿真,结果达到预期目的。为更直观地观察各灯之间的关系,我们在上图的基础上,街上逻辑分析仪进行仿真测试。如果出错,从图中也能很直观

交通灯控制系统的设计

《微型计算机技术》 课程设计报告 题目交通灯控制系统的设计作者xx 班级xx 学号xx 指导教师xx 2005 年6月20日

《微型计算机技术》 课程设计报告 题目交通灯控制系统的设计作者xx 班级xx 学号xx 指导教师xx 2005 年6月20日

目录 第一部分: 微机硬件结构组成及原理知识---------------------------------------------------- 2第二部分: 微型计算机应用的系统设计------------------------------------------------------- 5 一、要求-------------------------------------------------------------------------------- 5 二、目的--------------------------------------------------------------------- 5 三、内容设计与步骤------------------------------------------------------ 5 四、设计结果与分析------------------------------------------------------ 10 五、设计体会--------------------------------------------------------------- 10 六、感谢--------------------------------------------------------------------- 10

交通灯控制电路设计.

交通灯控制电路设计作者姓名:2B 专业名称:测控技术与仪器 指导教师:2B 讲师

摘要 本设计主要分为三大模块:输入控制电路、时钟控制电路和显示电路。以AT89C51单片机为中心器件来设计交通灯控制器,实现了AT89C51芯片的P0口设置红灯、绿灯和黄灯的燃亮功能;为了系统稳定可靠,采用了74LS14施密特触发器芯片的消抖电路,避免了系统因输入信号抖动产生误操作;显示时间直接通过AT89C51的P2口输出,由CD4511驱动LED数码管显示红灯燃亮时间。 关键词:AT89C51 LED显示交通灯控制

Abstract This design mainly divided into three modules: input control circuit, control circuit and the clock display circuit. With AT89C51 single-chip microcomputer as the center device to designing traffic light controller, realize the AT89C51 chip P0 mouth red lights, a green light and set up the yellow lights brighten function; In order to system is stable and reliable, and USES 74 LS14 Schmitt toggle circuit chip away shaking, to avoid the system for the input signal jitter produce false operation; Show time directly through the P2 mouth AT89C51 output, driven by CD4511 LED digital display red light lit the time. Keywords: AT89C51, LED, display, traffic, control

相关主题
文本预览
相关文档 最新文档