交通灯信号控制器的设计实验报告

交通灯信号控制器的设计实验报告
交通灯信号控制器的设计实验报告

交通灯信号控制器的设计

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产生。

在定时单元CNT45S和CNT25S的设计中,根据设计要求需要进行减计数,但本设计中仍使用的是加法计数,只是在将计数结果转换成两位BCD码时,将

计数的最小值对应转换成显示定时的最大值,计数值加1时,转换的显示值减

1,以此类推。同时,由于主、支道从亮绿灯转到亮红灯中间有5s亮黄灯的时

间过渡,因此对应的支、主道亮红灯的时间比对应的主、支道亮绿灯的时间要

多5s,考虑到此原因,CNT45S和CNT25S计数器在把计数结果转换成显示的

BCD码值时,将用于驱动绿灯的BCD码按实际定时要求转换,而将对应的用于

驱动红灯的BCD码在实际定时要求的基础上加5进行转换。

4、实验设计

1)系统原理框图

本系统总体可分为两个两个层次,即LED显示和数码管显示,核心模块为

JTDKZ产生系统的所有信号

2)VHDL程序

JTDKZ的VHDL程序

--Jtdkz.vhd

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY JTDKZ IS

PORT(CLK,SM,SB:IN STD_LOGIC;

MR,MY,MG,BR,BY,BG:OUT STD_LOGIC);

END ENTITY JTDKZ;

ARCHITECTURE ART OF JTDKZ IS

TYPE STATE_TYPE IS(A,B,C,D);

SIGNAL STATE:STATE_TYPE:=A;

BEGIN

CNT:PROCESS(CLK) IS

VARIABLE S:INTEGER RANGE 0 TO 45:=0;

VARIABLE CLR:BIT:='0';

VARIABLE EN:BIT:='0';

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';MY<='0';MG<='1';BR<='1';BY<='0';BG<='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<=C;CLR:='0';EN:='0'; --STATE<=B

ELSE STATE<=A;CLR:='1';EN:='0'; --

END IF;

WHEN B=>MR<='0';MY<='1';MG<='0';BR<='1';BY<='0';BG<='0';

IF S=5 THEN STATE<=C;CLR:='0';EN:='0';

ELSE STATE<=B;CLR:='1';EN:='1';

END IF;

WHEN C=>MR<='1';MY<='0';MG<='0';BR<='0';BY<='0';BG<='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<=A;CLR:='0';EN:='0';

ELSIF S=25 THEN STATE<=D;CLR:='0';EN:='0';

ELSE STATE<=C;CLR:='1';EN:='1';

END IF;

WHEN D=>MR<='1';MY<='0';MG<='0';BR<='0';BY<='1';BG<='0';

IF S=5 THEN STATE<=A;CLR:='0';EN:='0';

ELSE STATE<=D;CLR:='1';EN:='1';

END IF;

WHEN OTHERS =>STATE<=A;

END CASE;

END IF;

END PROCESS CNT;

END ARCHITECTURE ART;

XSKZ的VHDL程序

--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;

CNT05S的VHDL程序

--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;

CNT25S的VHDL程序

--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'OR 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"=>DOUT25M<="00100101";DOUT25B<="00110000";

WHEN"00001"=>DOUT25M<="00100100";DOUT25B<="00101001";

WHEN"00010"=>DOUT25M<="00100011";DOUT25B<="00101000";

WHEN"00011"=>DOUT25M<="00100010";DOUT25B<="00100111";

WHEN"00100"=>DOUT25M<="00100001";DOUT25B<="00100110";

WHEN"00101"=>DOUT25M<="00100000";DOUT25B<="00100101";

WHEN"00110"=>DOUT25M<="00011001";DOUT25B<="00100100";

WHEN"00111"=>DOUT25M<="00011000";DOUT25B<="00100011";

WHEN"01000"=>DOUT25M<="00010111";DOUT25B<="00100010";

WHEN"01001"=>DOUT25M<="00010110";DOUT25B<="00100001";

WHEN"01010"=>DOUT25M<="00010101";DOUT25B<="00100000";

WHEN"01011"=>DOUT25M<="00010100";DOUT25B<="00011001";

WHEN"01100"=>DOUT25M<="00010011";DOUT25B<="00011000";

WHEN"01101"=>DOUT25M<="00010010";DOUT25B<="00010111";

WHEN"01110"=>DOUT25M<="00010001";DOUT25B<="00010110";

WHEN"01111"=>DOUT25M<="00010000";DOUT25B<="00010101";

WHEN"10000"=>DOUT25M<="00001001";DOUT25B<="00010100";

WHEN"10001"=>DOUT25M<="00001000";DOUT25B<="00010011";

WHEN"10010"=>DOUT25M<="00000111";DOUT25B<="00010010";

WHEN"10011"=>DOUT25M<="00000110";DOUT25B<="00010001";

WHEN"10100"=>DOUT25M<="00000101";DOUT25B<="00010000";

WHEN"10101"=>DOUT25M<="00000100";DOUT25B<="00001001";

WHEN"10110"=>DOUT25M<="00000011";DOUT25B<="00001000";

WHEN"10111"=>DOUT25M<="00000010";DOUT25B<="00000111";

WHEN"11000"=>DOUT25M<="00000001";DOUT25B<="00000110";

WHEN OTHERS=>DOUT25M<="00000000";DOUT25B<="00000000";

END CASE;

END PROCESS;

END ARCHITECTURE ART;

CNT45S的VHDL程序

--Cnt45s.vhd

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CNT45S IS

PORT(SB,SM,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,SM,CLK,EN45) IS

BEGIN

IF SB='0' OR SM='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"000000"=>DOUT45M<="01000101";DOUT45B<="01010000"; 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<="00111001"; 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"101100"=>DOUT45M<="00000001";DOUT45B<="00000110";

WHEN OTHERS=>DOUT45M<="00000000";DOUT45B<="00000000";

END CASE;

END PROCESS;

END ARCHITECTURE ART;

◆YMQ的VHDL程序

LIBRARY IEEE;--数据译码器将XSKZ产生的BCD码数据转换为数码管显示的段码USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY YMQ IS

PORT(AIN4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);--数据输入,来源是XSKZ产生的8位数据,在取出高4位和低4位

OUT8:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));--段码数据

END ENTITY YMQ;

ARCHITECTURE ART OF YMQ IS

BEGIN

PROCESS(AIN4)

BEGIN

CASE AIN4 IS--将4位BCD码转换为8位段码数据

WHEN "0000"=>OUT8<="00111111";

WHEN "0001"=>OUT8<="00000110";

WHEN "0010"=>OUT8<="01011011";

WHEN "0011"=>OUT8<="01001111";

WHEN "0100"=>OUT8<="01100110";

WHEN "0101"=>OUT8<="01101101";

WHEN "0110"=>OUT8<="01111101";

WHEN "0111"=>OUT8<="00000111";

WHEN "1000"=>OUT8<="01111111";

WHEN "1001"=>OUT8<="01101111";

WHEN OTHERS=>OUT8<="00000000";

END CASE;

END PROCESS P2;

END ARCHITECTURE ART;

◆MXB41的VHDL程序

LIBRARY IEEE;--4选一数据选择器,以此实现共阴极数码管动态扫描显示

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY MUXB41 IS

PORT(DATA1,DATA2 : IN STD_LOGIC_VECTOR(7 DOWNTO 0);--数码管显示的数据段码

DATA3,DATA4 : IN STD_LOGIC_VECTOR(7 DOWNTO 0);

SE: IN STD_LOGIC_VECTOR(1 DOWNTO 0);

SEDATA: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--选择出的数据

SECOM: OUT STD_LOGIC_VECTOR( 2 DOWNTO 0));--产生的位选数据

--DATA1:主道低位段码

--DATA2:主道高位段码

--DATA3:支道低位段码

--DATA4:支道高位段码

END ENTITY MUXB41;

ARCHITECTURE ART OF MUXB41 IS

BEGIN

p1: PROCESS(SE) IS--对选择信号验证,以此产生送到数码管显示的数据

BEGIN

IF SE="00" THEN SEDATA<=DATA1;

ELSIF SE="01" THEN SEDATA<=DATA2;

ELSIF SE="10" THEN SEDATA<=DATA3;

ELSE SEDATA<=DATA4;

END IF;

END PROCESS P1;

P2: PROCESS(SE) IS--对选择信号验证,以此产生送到数码管位选的数据

BEGIN

CASE SE IS

WHEN "00"=>SECOM<="000";--主道低位

WHEN "01"=>SECOM<="001";--主道高位

WHEN "10"=>SECOM<="100";--支道低位

WHEN "11"=>SECOM<="101";--支道高位

WHEN OTHERS =>SECOM<="111";

END CASE;

END PROCESS P2;

END ARCHITECTURE ART;

CTRLS的VHDL程序

LIBRARY IEEE;--数码管动态扫描,原理:给一个CLK产生2个信号(4钟组合)将这两个信号送给4选1数据选择器,选出要在数码管上显示的数据,CLK要在24HZ以上

USE IEEE.STD_LOGIC_1164.ALL;

USE IEEE.STD_LOGIC_UNSIGNED.ALL;

ENTITY CTRLS IS

PORT(CLK:IN STD_LOGIC;

SEL:OUT STD_LOGIC_VECTOR(1 DOWNTO 0));--数据选择器的选择信号

END ENTITY CTRLS;

ARCHITECTURE ART OF CTRLS IS

SIGNAL CNT:STD_LOGIC_VECTOR(1 DOWNTO 0);--数据选择信号的信号变量

BEGIN

PROCESS(CLK) IS

BEGIN

IF CLK'EVENT AND CLK='1'THEN

IF CNT="11"THEN--选择信号变为11则时信号重新归为00,实现数码动态扫描显示数据

CNT<="00";

ELSE

CNT<=CNT+'1';

END IF;

END IF;

END PROCESS;

SEL<=CNT;

END ARCHITECTURE ART;

顶层文件DJT

LIBRARY IEEE;

USE IEEE.STD_LOGIC_1164.ALL;

ENTITY DJT IS

PORT(SM:IN STD_LOGIC;

SB:IN STD_LOGIC;

CLK:IN STD_LOGIC;

CLK2:IN STD_LOGIC;--此数码管扫描时钟必须在24HZ以上 M_G:OUT STD_LOGIC;

M_Y:OUT STD_LOGIC;

M_R:OUT STD_LOGIC;

B_G:OUT STD_LOGIC;

B_Y:OUT STD_LOGIC;

B_R:OUT STD_LOGIC;

COM:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);

DATA:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));

END ENTITY DJT;

ARCHITECTURE ART OF DJT IS

COMPONENT JTDKZ IS

PORT(CLK:IN STD_LOGIC;

SM:IN STD_LOGIC;

SB:IN STD_LOGIC;

MG:OUT STD_LOGIC;

MY:OUT STD_LOGIC;

MR:OUT STD_LOGIC;

BG:OUT STD_LOGIC;

BY:OUT STD_LOGIC;

BR:OUT STD_LOGIC);

END COMPONENT JTDKZ;

COMPONENT CNT45S IS

PORT(SM:IN STD_LOGIC;

SB:IN STD_LOGIC;

CLK:IN STD_LOGIC;

EN45:IN STD_LOGIC;

DOUT45M:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);

DOUT45B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));

END COMPONENT CNT45S;

COMPONENT CNT05S IS

PORT(CLK:IN STD_LOGIC;

EN05M:IN STD_LOGIC;

EN05B:IN STD_LOGIC;

DOUT5:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));

END COMPONENT CNT05S;

COMPONENT CNT25S IS

PORT(SM:IN STD_LOGIC;

SB:IN STD_LOGIC;

CLK:IN STD_LOGIC;

EN25:IN STD_LOGIC;

DOUT25M,DOUT25B:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END COMPONENT CNT25S;

COMPONENT XSKZ IS

PORT(EN45:IN STD_LOGIC;

AIN45M:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

AIN45B:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

EN05M:IN STD_LOGIC;

EN05B:IN STD_LOGIC;

AIN05:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

EN25:IN STD_LOGIC;

AIN25M:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

AIN25B:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

DOUTM:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);

DOUTB:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END COMPONENT XSKZ;

COMPONENT CTRLS IS

PORT(CLK:IN STD_LOGIC;

SEL:OUT STD_LOGIC_VECTOR(1 DOWNTO 0)); END COMPONENT CTRLS;

COMPONENT MUXB41 IS

PORT (DATA1:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

DATA2:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

DATA3:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

DATA4:IN STD_LOGIC_VECTOR(7 DOWNTO 0);

SE: IN STD_LOGIC_VECTOR(1 DOWNTO 0);

SEDATA: OUT STD_LOGIC_VECTOR(7 DOWNTO 0);

SECOM: OUT STD_LOGIC_VECTOR( 2 DOWNTO 0)); END COMPONENT MUXB41;

COMPONENT YMQ IS

PORT(AIN4:IN STD_LOGIC_VECTOR(3 DOWNTO 0);

OUT8:OUT STD_LOGIC_VECTOR(7 DOWNTO 0)); END COMPONENT YMQ;

SIGNAL EN1,EN2,EN3,EN4:STD_LOGIC;

SIGNAL S45M:STD_LOGIC_VECTOR(7 DOWNTO 0);

SIGNAL S45B:STD_LOGIC_VECTOR(7 DOWNTO 0);

SIGNAL S05:STD_LOGIC_VECTOR(7 DOWNTO 0);

SIGNAL S25M:STD_LOGIC_VECTOR(7 DOWNTO 0);

SIGNAL S25B:STD_LOGIC_VECTOR(7 DOWNTO 0);

SIGNAL YM:STD_LOGIC_VECTOR(7 DOWNTO 0);

SIGNAL YB:STD_LOGIC_VECTOR(7 DOWNTO 0);

SIGNAL D1:STD_LOGIC_VECTOR(7 DOWNTO 0);

SIGNAL D2:STD_LOGIC_VECTOR(7 DOWNTO 0);

SIGNAL D3:STD_LOGIC_VECTOR(7 DOWNTO 0);

SIGNAL D4:STD_LOGIC_VECTOR(7 DOWNTO 0);

SIGNAL SEL:STD_LOGIC_VECTOR(1 DOWNTO 0);

BEGIN

U1:JTDKZ PORT MAP(CLK,SM,SB,EN1,EN2,M_R,EN3,EN4,B_R);

U2:CNT45S PORT MAP(SM,SB,CLK,EN1,S45M,S45B);

U3:CNT05S PORT MAP(CLK,EN2,EN4,S05);

U4:CNT25S PORT MAP(SM,SB,CLK,EN3,S25M,S25B);

U5:XSKZ PORT MAP(EN1,S45M,S45B,EN2,EN4,S05,EN3,S25M,S25B,YM,YB); U6:YMQ PORT MAP(YM(3 DOWNTO 0),D1);

U7:YMQ PORT MAP(YM(7 DOWNTO 4),D2);

U8:YMQ PORT MAP(YB(3 DOWNTO 0),D3);

U9:YMQ PORT MAP(YB(7 DOWNTO 4),D4);

U10:CTRLS PORT MAP(CLK2,SEL);

U11:MUXB41 PORT MAP(D1,D2,D3,D4,SEL,DATA,COM);

M_G<=EN1;

M_y<=EN2;

B_G<=EN3;

B_Y<=EN4;

END ARCHITECTURE ART;

5、实验结果及总结

(1)系统仿真结果JTDKZ

JNT05

JNT25

JNT45

CTRLS

YMQ

(2)硬件验证

微机原理课程设计——交通灯控制系统

南通大学电子信息学院 微机原理课程设计 报告书 课题名交通灯控制系统 班级 _______ 学号 __________ 姓名 ____ 指导教师 ______ 日期 _________

目录 1 设计目的 (1) 2 设计内容 (1) 3 设计要求 (1) 4 设计原理与硬件电路 (2) 5 程序流程图 (4) 6 程序代码 (4) 7 程序及硬件系统调试情况 (8) 8 设计总结与体会 (9) 9 参考文献 (9)

1 设计目的 电子课程设计是电子技术学习中非常重要的一个环节,是将理论知识和实践能力相统一的一个环节,是真正锻炼学生能力的一个环节。交通灯能保证行人过马路的安全,控制交通状况等优点受到人们的欢迎,在很多场合得到了广泛的应用。 交通灯是采用计算机通过编写汇编语言程序控制的。红灯停,绿灯行的交通规则。广泛用于十字路口,车站, 码头等公共场所,成为人们出行生活中不可少的必需品,由于计算机技术的成熟与广泛应用,使得交通灯的功能多样化,远远超过老式交通灯, 交通灯的数字化给人们生产生活带来了极大的方便,而且大大地扩展了交通灯的功能。诸如闪烁警示、鸣笛警示,时间程序自动控制、倒计时显示,所有这些,都是以计算机为基础的。还可以根据主、次干道的交通状况的不同任意设置各自的不同的通行时间。或者给红绿色盲声音警示的人性化设计。现在的交通灯系统很多都增加了智能控制环节,比如对闯红灯的车辆进行拍照。当某方向红灯亮时,此时相应的传感器开始工作,当有车辆通过时,照相机就把车辆拍下。 要将交通灯系统产品化,应该根据客户不同的需求进行不同的设计,应该在程序中增加一些可以人为改变的参数,以便客户根据不同的需要随时调节交通灯。因此,研究交通灯及扩大其应用,有着非常现实的意义。 2 设计内容 交通灯控制系统 利用8253定时器、8255等接口,设计一电路,模拟十字路口交通灯控制。要求能实现自动控制和手动应急控制。 3 设计要求 在Proteus环境下,结合课程设计题目,设计硬件原理图,搭建硬件电路 软件设计

PLC实验报告(交通灯控制系统)

交通灯控制系统 一、实验目的 (1)用PLC构成十字路口交通灯控制系统。 (2)掌握程序调试的步骤和方法。 (3)掌握构建实际PLC控制系统的能力。 二、实验要求 (1)复习PLC常用指令的功能及用法。 (2)复习PLC程序设计的一般方法。 (3)根据实验要求提前编写程序,待上机验证调试修改。 三、实验环境 软件:STEP 7-Micro_WIN V40+ SP9:S7-200的编程软件 STEP 7-Micro_WIN V32指令库 硬件:THSMS-2A型PLC实验箱(西门子)、电脑、连接导线、USB-PPI 通信电缆 四、实验内容及步骤 交通灯控制系统面板图如上图所示,控制要求如下: 交通信号灯受一个总控制开关控制,当总控制开关接通时,信号灯系统开始工作。 开始工作后,南北红灯和东西绿灯同时点亮,4秒后东西绿灯开始闪烁,闪烁2秒后熄灭,熄灭同时切换成东西黄灯亮,2秒后东西黄灯和南北红灯同时熄灭,东西红灯和南北绿灯同时点亮。4秒后南北绿灯开始闪烁,闪烁2秒后熄灭,熄灭同时切换成南北黄灯亮,2秒后南北黄灯和东西红灯同时熄灭,再次切换成南北红灯和东西绿灯同时点亮。如此循环,周而复始。 当总控制开关断开时,所有信号灯都熄灭。

(1)确定I/O点数。列出详细的I/O地址分配表。如(该表仅为举例, (3)输入编好的PLC控制程序。 (4)运行程序,按控制要求设置各输入量,观察PLC运行情况,记录南北、东西各灯顺序亮、灭的运行情况。调试程序直至正确为止。 解:由题目要求得,

②梯形图如下图①,语句表如下图②,时序图如下图③: 图①图① 图②图② 图③ 五、注意事项

交通灯实验报告

交通控制器设计实验 一.实验目的 1.了解交通灯的亮灭规律。 2.了解交通灯控制器的工作原理。 3.进一步熟悉VHDL语言编程,了解实际设计中的优化方案。二.实验任务 设计一个十字路口交通控制系统,其东西,南北两个方向除了有红、黄、绿灯指示是否允许通行外,还设有时钟,以倒计时方式显示每一路允许通行的时间,绿灯,黄灯,红灯的持续时间分别是40、5和45秒。当东西或南北两路中任一道上出现特殊情况,例如有消防车,警车要去执行任务,此时交通控制系统应可由交警手动控制立即进入特殊运行状态,即两条道上的所有车辆皆停止通行,红灯全亮,时钟停止计时,且其数字在闪烁。当特殊运行状态结束后,管理系统恢复原来的状态,继续正常运行。 三.原理分析 本系统主要由计数控制器和倒计时显示器电路组成。计数控制器实现总共90秒的计数,90秒也是交通控制系统的一个大循环;控制器控制系统的状态转移和红黄绿灯的信号输出;倒计时显示器电路实现45秒倒计时和显示功能。整个系统的工作时序受控制器控制,它是系统的核心。 控制器的整个工作过程用状态机进行描述,其状态转移关系如下图所示。五种状态描述如下: s0:东西方向红灯亮,南北方向绿灯亮,此状态持续40秒的时间; s1:东西方向红灯亮,南北方向黄灯亮,此状态持续5秒的时间;

s2:东西方向绿灯亮,南北方向红灯亮,此状态持续40秒的时间; s3:东西方向黄灯亮,南北方向红灯亮,此状态持续5秒的时间; s4:紧急制动状态,东西方向红灯亮,南北方向红灯亮,当紧急制动信号有效(hold=’0’)时进入这种状态。 当紧急制动信号无效(hold=’1’)时,状态机按照s0→s1→s2→s3→s0循环;当紧急制动有效(hold=’0’)时,状态机立即进入s4,两个方向红灯全亮,计数器停止计数;当紧急制动信号再恢复无效时,状态机会回到原来的状态继续执行。 四.电路设计 交通控制器系统顶层原理图如下图所示,它由计数控制器(control),45秒倒计时计数器(M45)模块组成。下面主要介绍计数控制器和倒计时计数器M45的设计方法。

数字系统课程设计-交通灯控制器实验报告

交通灯控制器 ——数字系统设计报告 姓名: 学号:

一.实验目的 1.基本掌握自顶向下的电子系统设计方法 2.学会使用PLD和硬件描述语言设计数字电路,掌握 Quartus II等开发工具的使用方法 3.培养学生自主学习、正确分析和解决问题的能力 二.设计要求 我所选择的课题是用Verilog HDL实现交通灯控制器。该课题的具体内容及要求如下: 主干道与乡村公路十字交叉路口在现代化的农村星罗棋布,为确保车辆安全、迅速地通过,在交叉路口的每个入口处设置了红、绿、黄三色信号灯。红灯禁止通行;绿灯允许通行;黄灯亮则给行驶中的车辆有时间行驶到禁行线之外。主干道和乡村公路都安装了传感器,检测车辆通行情况,用于主干道的优先权控制。 (1)当乡村公路无车时,始终保持乡村公路红灯亮,主干道绿灯亮。 (2)当乡村公路有车时,而主干道通车时间已经超过它的最短通车时间时,禁止主干道通行,让乡村公路通行。主干道最短通车时间为25s 。 (3)当乡村公路和主干道都有车时,按主干道通车25s,乡村公路通车16s交替进行。 (4)不论主干道情况如何,乡村公路通车最长时间为16s。 (5)在每次由绿灯亮变成红灯亮的转换过程中间,要亮5s时

间的黄灯作为过渡。 (6)用开关代替传感器作为检测车辆是否到来的信号。用红、绿、黄三种颜色的发光二极管作交通灯。 (7)要求显示时间,倒计时。 (C表示乡村道路是否有车到来,1表示有,0表示无;SET用来控制系统的开始及停止;RST是复位信号,高电平有效,当RST=1时,恢复到初始设置;CLK是外加时钟信号;MR、MY、MG分别表示主干道的红灯、黄灯和绿灯;CR、CY、CG分别表示乡村道路的红灯、黄灯和绿灯,1表示亮,0表示灭) 系统流程图如下:(MGCR:主干道绿灯,乡村道路红灯;MYCR:主干道黄灯,乡村道路红灯;MRCG:主干道红灯,乡村道路绿灯;MRCY:主干道红灯,乡村道路黄灯;T0=1表示主干道最短通车时间到,T1=1表示5秒黄灯时间到,T2=1表示乡村道路最长通车时间到。)

plc交通灯实验报告

plc交通灯实验报告 篇一:PLC交通灯课程设计报告 信息与电子工程学院 课程设计报告 目录 一、课程设计概述 ................................................ .................. 3 1.1课程设计内容 ................................................ ........................... 3 1.2课程设计技术指标 ................................................ ................... 3 二、方案的选择及确定 ................................................ ........... 4 三、系统硬件设计 ................................................ .................. 5 四、系统软件设计 ................................................ .................. 6 五、触摸屏设计 ................................................ ...................... 8 六、系统调试 ................................................ ......................... 9 七、总结以体

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

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

数字电路课程设计报告书 题目:交通灯控制器 一实验目的 1.综合应用数字电路知识设计一个交通灯控制器。了解各种元器件 的原理及其应用。 2.深入了解交通灯的工作原理。 3.锻炼自己的动手能力和实际解决问题的能力。 二实验要求 1)在十字路口的两个方向上各设一组红黄绿灯,显示顺序为其中一个方向是绿灯,黄灯,红灯,另一方面是红灯,绿灯,黄灯。2)设置一组数码管,以计时的方式显示允许通行或禁止通行时间,其中一个方向上绿灯亮的时间为20秒,另一个方向上绿灯亮的时间是30秒,黄灯亮的时间都是5秒。 3)当任何一个方向出现特殊情况,按下手动开关,其中一个方向常通行,倒计时停止,当特殊情况结束后,按下自动控制开关,恢复正常状态。 4)选作:用两组数码管实现双向到计时显示。 三使用元件

四总体方案的设计 1.分析系统的逻辑功能,画出其框图 交通灯控制系统的原理框图如图所示。它主要由控制器、定时器和秒脉冲信号发生器等部分组成。秒脉冲发生器是该系统中定时器和控制器的标准时钟信号源,控制器是系统的主要部分,由它控制定时器,数码管和二极管的工作。

2.分析系统的状态变化,列出状态转换表:(1)主干道绿灯亮,支干道红灯亮。表示主干道上的车辆允许通行, 支干道禁止通行。(2)主干道黄灯亮,支干道红灯亮。表示主干道上未过停车线的车辆停止通行,已过停车线的车辆继续通行,支干道禁止通行。 (3)主干道红灯亮,支干道绿灯亮。表示主干道禁止通行,支干道上的车辆允许通行。(4)主干道红灯亮,支干道黄灯亮。表示主干道禁止通行,支干道上未过停车线的车辆停止通行,已过停车线的车辆继续通行。 交通灯以上4种工作状态的转换是由控制器器进行控制的。设控制器的四种状态编码为00、01、11、10,并分别用S0、S1、S3、S2表示,则控制器的工作状态及功能如下表所示: 五单元电路的设计 1)秒脉冲产生电路 经过555芯片按一定的线路接上不同的电阻和电容就可产生周期不

EDA实验报告实验五:交通灯控制器设计

实验五十字路口交通灯控制器设计一.实验目的 1.进一步加强经典状态机的设计 2.学会设计模可变倒计时计数器 二.实验要求 一条主干道,一条乡间公路。组成十字路口,要求优先保证主干道通行。有MR(主红)、MY(主黄)、MG(主绿)、CR(乡红)、CY(乡黄)、CG(乡绿)六盏交通灯需要控制;交通灯由绿→红有4秒黄灯亮的间隔时间,由红→绿没有间隔时间;系统有MRCY、MRCG、MYCR、MGCR四个状态; 乡间公路右侧各埋有一个传感器,当有车辆通过乡间公路时,发出请求信号S=1,其余时间S=0; 平时系统停留在MGCR(主干道通行)状态,一旦S信号有效,经MYCR(黄灯状态)转入MRCG(乡间公路通行)状态,但要保证MGCR的状态不得短于一分钟;一旦S信号无效,系统脱离MRCG状态。随即经MRCY(黄灯状态)进入MGCR 状态,即使S信号一直有效,MRCG状态也不得长于20秒钟。 三.实验设计: 1.一条主道,一条乡道,组成十字路口,要求优先保证主道通行。 2.当主道没有车通行,且乡道友车要通行时,并且此时主道通行时间大于1分钟,则主道变黄灯,乡道保持红灯,经过4秒倒计时时间进入主道为红灯乡道为绿灯的状态。再倒计时20秒钟。在倒计时过程中,若乡道突然没有车通行,马上进入主道红灯,乡道黄灯状态,倒计时4秒。 3.之后主道变为绿灯,乡道为红灯,这时无论乡道有无车通行都要倒计时60秒,然后若乡道有车通行则主道为黄灯,乡道为红灯,若乡道一直没有车要通行则保持主道通行,若乡道友车通行则按照上面的状态依次进行转换。 按照以上的思路,设计两个底层文件和一个顶层文件: 1.模块1是状态改变控制6盏灯的亮与灭。

交通信号灯控制器课程设计

燕山大学 课程设计说明书题目:交通信号灯控制器 学院(系):电气工程学院 年级专业: 11级检测一班 学号: 学生姓名: 指导教师: 教师职称:

燕山大学课程设计(论文)任务书 院(系):电气工程学院基层教学单位:仪器科学与工程系 说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。 年月日

摘要 日常交通对于人们的生活有极大的影响,因此对交通的控制也有很高的要求。交通信号灯已不仅仅被看成一种用来指挥交通的工具,在很多实际应用中它还需要能够实现更多其它功能。高精度、多功能、小体积、低功耗,是现代交通信号灯发展的趋势。本课题设计正是基于这个方向设计一个符合指标要求的模拟交通信号灯控制器。 单片机特别是51系列的单片机,由于其使用方便、价格低廉等优势,在电子产品中的应用越来越广泛,在市场上占有很大的份额。AT89C51就是51系列中的一个比较成熟的型号,它完全兼容51单片机的指令。 本课题设计是基于单片机技术原理,以单片机芯片AT89S51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计出的一个模拟交通信号灯控制系统。该控制系统包括了。设计以硬件和软件相结合为指导思想,通过软件编程实现系统大部分功能,电路简单明了,系统稳定性高。主要硬件有:AT89C51单片机、八段数码管、LED和按键等。软件采用C语言编写实现,并依据程序应用Keil、Protues进行了调试,对出现的问题进行分析和反复修改,最终得到正确并符合设计要求的结果。 设计完成的模拟交通信号灯控制器能够准确指挥交通,控制精确、体积小、功耗低,具有很强的实用性。

目录 第一章、课题简介 ..............................错误!未定义书签。 1.1引言 (1) 1.2课设内容 (1) 第二章、AT89C51单片机简介 (2) 2.1单片机引脚介绍 (2) 2.2定时器介绍 (3) 2.3定时器初值的计算 (4) 第三章、硬件总体结构设计 (5) 3.1单片机最小系统 (5) 3.2LED灯显示原理 ............................... 错误!未定义书签。 3.3数码管显示原理 (7) 3.4芯片介绍..................................... 错误!未定义书签。 第四章、软件设计 (10) 4.1单片机程序开发流程 (10) 4.2程序流程图 (11) 4.仿真电路 (12) 4.5电路仿真结果 (14) 总结 (15) 参考文献 (16) 附录源程序 (17)

交通灯实验报告

微机原理课程设计报告 新疆农业大学 计算机与信息工程学院 课程题目:微机原理与几口技术 班级:电科112 指导老师:张婧婧 姓名:刘建国 学号:114633222

基于8086的交通信号控制器的设计报告摘要: 这次课程设计,我们的任务是:基于8086的交通信号控制器的设计。8086系统是我们这个学期学习的主线方向,我们将在8086系统的基础上完成交通信号控制器的设计,其具体功能是:1.显示十字路口东西、南北2个方向的红、黄、绿的指示状态。2.实现正常的倒计时功能。用2组数码管作为东西和南北方向的倒计时显示,显示时间为红灯30s,绿灯50s,黄灯5s。3.按S1键能实现特殊的功能,显示倒计时的2组数码管闪烁,计数器停止计数并保持在原来的状态;东西、南北路口均显示红灯状态;特殊状态解除后能继续计数。4.按S2键实现总体清零功能。计数器由初始状态计数,对应的指示灯亮。 关键词:8086系统 74154 74HC373 8255A LED交通灯

(一) 1) 设计目的 交通信号控制灯是日常交通不可缺少的工具,涉及到人们的人生和财产安全,在道路行驶上起了相当关键的作用,因而设计交通信号控制灯是非常有意义的。同时我们这次设计的课题就是“基于8086交通信号控制器的设计”,基于以上目的,我利用一周时间精心设计出课题要求的交通灯。 2) 设计思想 在此次设计过程中,我们选择了数码管、发光二极管、74LS138、74LS373、8255A和8086来控制实现交通灯按设计要求工作。 3)硬件部分 1、LED设计说明: 用LED作为倒计时时间的显示器,LED在亮度、功耗、可视角度和刷新速率等方面,都更具优势。LED与LCD的功耗比大约为10:1,利用LED技术,可以制造出比LCD更薄、更亮、更清晰的显示器,LED是发光二极管属于二极管的一种,LCD是液晶显示器,两者相差太多.但是用LED的点阵也能组成显示器,适用于户外大屏幕显示,分辨率较低,LED与LCD具体比较如下图 表1-1:LCD与LED的比较 2、8255设计说明: 用8255A可编程并行接口芯片的A、B、C三口作为红、绿、黄交通灯的控制输入口。8255有三个并行输入输出口,可以方便的对三种颜色的交通灯进行很好的控制。解决方案是:PB0~PB7接模拟灯二极管,PA0~PA7接7段二极管的段选,PC0~PC3接7段二极管的位选,PC4~PC7与开关相连,处理器芯片集成芯片卡PCI卡连接,用于完成硬件方面的实验正常通信。其芯片比较说明:如下表: 表1-2:8255A与8251芯片的比较

EDA交通灯控制器课程设计报告

交通灯控制器课程设计 该交通信号控制器控制十字路甲、乙两条道路的红、黄和绿三色灯,指挥车辆和行人 安全通行。 功能要求如下: 1.只有在小路上发现汽车时,高速公路上的交通灯才可能变成红灯。 2.当汽车行驶在小路上时,小路的交通灯保持为绿灯,但不能超过给定的时间。(20s) 3.高速公路灯转为绿色后,即使小路上有汽车出现,而高速公路上并无汽车,也将在给定的时间内 保持绿灯。(60s)。 设计如下: ——1hz分频器 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; use ieee.std_logic_arith.all; entity fen_pin1 is port(clk100hz:in std_logic; clk1hz:out std_logic);

end fen_pin1; architecture bhv of fen_pin1 is signal qan:std_logic_vector(3 downto 0); signal qbn:std_logic_vector(3 downto 0); signal cin:std_logic; begin process(clk100hz) begin if(clk100hz'event and clk100hz='1')then if qan="1001"then qan<="0000";cin<='1'; else qan<=qan+1;cin<='0'; end if; end if; end process; process(clk100hz,cin) begin if(clk100hz'event and clk100hz='1')then if cin='1' then if qbn="1001" then qbn<="0000"; else qbn<=qbn+1; end if ; end if ; end if ; end process; process(qan,qbn) begin if (qan="1001"and qbn="1001")then clk1hz<='1'; else clk1hz<='0'; end if; end process; end bhv; ——2hz分频器 library ieee; use ieee.std_logic_1164.all; entity fen_pin2 is port (clk100hz:in std_logic; clk2hz:out std_logic); end fen_pin2; architecture bhv of fen_pin2 is begin process(clk100hz) variable cnt:integer range 0 to 24; variable tmp:std_logic; begin

交通灯控制器课程设计实验报告

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 课程设计原理分析及相关知识概述

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

编号: 毕业论文(设计) 题目智能交通信号灯控制系统设计 指导教师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 为现代生活中必不可少的一部分。

电子技术课程设计报告交通灯控制电路设计

电子技术课程设计报告——交通灯控制电路设计 上海大学机自学院自动化系

电气工程专业 : 学号: 指导老师:徐美华 目录 目录2 一、主要用途:3 二、设计任务及要求:3 三、设计思路步骤及仿真调试4 1.设计分析4 2.交通灯模块:5 3.脉冲信号模块5 4.减法计数器及数码显示管模块6

5.控制模块7 6.对所使用芯片进行介绍:8 7.交通灯工作图12 四、实习小结15 一、主要用途: 有效管制交通、疏导交通流量、提高道路通行能力、有利于减少交通事故。 二、设计任务及要求: 设计一个主干道和支干道十字路口的交通灯控制电路,其要求如下: 1.一般情况下,保持主干道畅通,主干道路灯亮、支干道红

灯亮,并且主干灯亮的时间不少于60 S; 2.当主干道绿灯亮超过60 S,且支干道有车时,主干道红灯 亮,支干道绿灯亮,但支干道绿灯亮的时间不得超过30S; 3.每次主干道或支干道绿灯亮变红灯时,黄灯先亮5S。 三、设计思路步骤及仿真调试 1.设计分析 计数器能进行60进制、30进制以及5进制的减数计数,在计数器与译码器及与非门的工作下实现交通灯信号灯的切换。有以下四个状态: a.主干道绿灯亮,支干道红灯亮,此时主干道允许车辆通行,支干道禁止车辆通行。当主干道绿灯亮够60秒后,控制器发出状态转换信号,系统进入下一个状态。 b.主干道黄灯亮,支干道红灯亮,此时主干道允许超过停车线的车辆继续通行,而未超过停车线的车辆禁止通行,支干道禁止车辆通行。当主干道黄灯亮够5秒后,控制器发出状态转换信号,系统进入下一个状态。 c.主干道红灯亮,支干道绿灯亮。此时主干道禁止车辆通行,支干道允许车辆通行,当支干道绿灯亮够30秒后,控制器发出状态转换信号,系统进入下一个状态。

交通灯控制逻辑电路设计实验报告

《数字设计》课程实验报告 实验名称:交通灯控制逻辑电路的设计与仿真实现 学员:学号: 培养类型:年级: 专业:所属学院: 指导教员:职称: 实验室:实验日期:

交通灯控制逻辑电路的设计与仿真实现 实验目的: 1. 熟悉Multisim仿真软件的主要功能和使用。 2. 熟悉各种常用的MSI时序逻辑电路的功能和使用。 3. 运用逻辑设计知识,学会设计简单实用的数字系统。 二、实验任务及要求: 1.设计一个甲干道和乙干道交叉十字路口的交通灯控制逻辑电路。每个干道各一组指示灯(红、绿、黄)。要求:当甲干道绿灯亮16秒时,乙干道的红灯亮;接着甲干道的黄灯亮5秒,乙干道红灯依然亮;紧接着乙干道的绿灯亮16秒,这时甲干道红灯亮;然后乙干道黄灯亮5秒,甲干道红灯依然亮;最后又是甲干道绿灯亮,乙干道变红灯,依照以上顺序循环,甲乙干道的绿红黄交通指示灯分别亮着。 2.要求: (1)分析交通灯状态变换,画出基于格雷码顺序的交通灯控制状态图。 (2)设计时序逻辑电路部分,写出完整的设计过程,画出逻辑电路图。在Multisim 仿真平台上,搭建设计好的该单元电路,测试验证,将电路调试正确。 (3)设计组合逻辑电路部分,写出完整的设计过程,画出逻辑电路图。在Multisim 仿真平台上,搭建设计好的该单元电路,测试验证,将电路调试正确。 (4)用74LS161计数器构造16秒定时和5秒定时的定时电路,画出连线图。在Multisim仿真平台上,选用74LS161芯片连线,测试验证,将电路调试正确。(5)在Multisim仿真平台上形成整个系统完整的电路,统调测试结果。 三、设计思路与基本原理: 依据功能要求,交通灯控制系统应主要有定时电路、时序逻辑电路及信号灯转换器组合逻辑电路组成,系统的结构框图如图1所示。其中定时电路控制时序逻辑电路状态的该表时间,时序逻辑电路根据定时电路的驱动信号而改变状态,进而通过组合逻辑电路控制交通灯系统正常运行。 在各单元电路的设计顺序上,最先设计基础格雷码顺序的交通灯控制状态图,由此确定时序逻辑电路的设计,并完成该部分电路的调试。接着在设计好时序路逻辑电路的基础上,根据状态输出设计组合逻辑电路,并完成该部分的调试。最后完成定时电路的设计与调试。整合电路,形成整个系统完整的电路,统调测试结果。

交通信号灯控制器设计方案

课程设计任务书

设计(论文)说明书用纸N O.1 沈阳大学

沈阳大学

沈阳大学

图1 基本工作原理图 2.2设计电路采用的软件介绍 Proteus软件是英国Labcenter electronics公司出版的EDA工具软件。它不仅具有其它EDA工具软件的仿真功能,还能仿真单片机及外围器件。它是目前最好的仿真单片机及外围器件的工具。虽然目前国内推广刚起步,但已受到单片机爱好者、从事单片机教学的教师、致力于单片机开发应用的科技工作者的青睐。 Proteus是世界上著名的EDA工具(仿真软件),从原理图布图、代码调试到单片机与外围电路协同仿真,一键切换到PCB设计,真正实现了从概念到产品的完整设计。是目前世界上唯一将电路仿真软件、PCB设计软件和虚拟模型仿真软件三合一的设计平台,其处理器模型支持8051、HC11、PIC10/12/16/18/24/30/DsPIC33、A VR、ARM、8086和MSP430等,2010年又增 沈阳大学

加了Cortex和DSP系列处理器,并持续增加其他系列处理器模型。在编译方面,它也支持IAR、Keil和MPLAB等多种编译器。 2.3设计电路采用的方案 近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。 十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的就是交通信号灯的自动指挥系统。交通信号灯控制方式很多。这次任务采用MSC-51系列单片机AT89C51来设计交通灯控制器,从而实现通过P2口设置红、绿灯亮时间的功能;红绿灯循环点亮,倒计时剩5秒时黄灯亮以警示作用。此设计方案实用性强、操作简单、扩展功能强。 2.4 AT89C51及部分端口介绍 如图2为AT89C51 。 图2 AT89C51 沈阳大学

交通灯实验报告——数字电路

一、用中规模器件设计交通灯控制器 一、任务要求 1)通过数字电路的设计,在面包板上模拟交通红绿灯。要求分主干道和支干道,每条道上安装红(主R,支r)绿(主G,支g)黄(主Y,支y)三种颜色的灯,由四种状态自动循环构成(G、r→Y、r→R、g→R、y); 2)在交通灯处在不同的状态时,设计一计时器以倒计时方式显示计时,并要求不同状态历时分别为:G、r:30秒;R、g:20秒;Y、r,R、y:5秒。 二、总体方案 三、单元电路设计 1)主控电路 在设计要求中要实现四种状态的自动转换,首先要把这四种状态以数字的形态表示出来。因2*2=4,所以可以两位二进制数表示所需状态(00—G、r, 01—Y、r, 10—R、g, 11—R、y),循环状态:(00—10—11—01—00) 数字电路课程中介绍的计数器就是通过有限几个不同状态之间的循环实现不同模值计数,由此可以尝试设计一模值为4的计数器,其输出(代表不同状态)既可以循环转换,而且能够控制其他部分电路。在课程设计中本人利用74LS74(双上升沿D触发器)设计模4计数器作为主控部分电路。 主控电路图如下:

红绿灯显示电路接线如下: 4)计时部分电路 a)计时器状态产生模块: 设计要求对不同的状态维持的时间不同,而且要以十进制倒计时显示出来。限于实验 室器材本人采用两个74LS161完成计时器状态产生模块设计。 设计思路: 要以十进制输出,而又有一些状态维持时间超过10秒,则必须用两个74LS161分别 产生个位和十位的数字信号。显然,计数器能够完成计时功能,我们可以用74LS161设计, 并把它的时钟cp接秒脉冲。74LS161计数器是采用加法计数,要想倒计时,则在74LS161 输出的信号必须经过非门处理后才能接入数码管的驱动74LS48,而在显示是最好以人们 习惯的数字0---9显示计时,故在设计不同模值计数器确定有效状态时,本人以0000,0001,0010-----1111这些状态中靠后的状态为有效状态。 例如:有效状态1011—1100—1101—1110—1111 取反0100—0011—0010—0001—0000即4------3------2-------1------0实现模5的倒计时。 在将74LS161改装成其他模值时既可以采用同步清零法,也可采用异步置数法,但 0000不可能为有效状态,所以采用异步置数法完成不同模值转化的实现。 首先对控制个位输出的74LS161设计: 按要求对系统的状态不同,即红绿灯的状态不同,个位的进制也就要求不同。本人利 用系统的状态量Q 2、Q 1 控制74LS161的置数端D 3 D 2 D 1 D 。当系统处在G、r或R、g状态时, 个位的进制是十(模10),即逢十进一,当系统处在Y、r或R、y状态时,个位的进制是 五(模5),即逢五进一,模10时,有效状态为0110-----1111,置D 3D 2 D 1 D 为0110,模5

交通灯控制器课程设计说明书

交通灯控制器课程设计说明书课程设计说明书 学生姓名:____________ 学号:________________ 学院:_______________________________________ 专业:_______________________________________ 题目:_____________ 交通灯控制器_____________ 指导教师:职称:

2010年1月15日 目录 1、实验任务 (3) 2、实验目的 (3) 3、设计方案 (3) 4、参考电路设计 (4) 5、实验仪器设备 (9) 6、实验心 得 (10)

一.实验任务 设计一个交通灯控制器,具体要求如下: 1、以红,黄,绿三种颜色的发光管作为交通灯。绿灯亮表示可以通行, 红灯 亮表示禁止通行.黄灯亮表示未通过的车辆禁止通行. 2、每次放行时间为30秒,红转绿或绿转红时,需黄灯亮5秒作为过度。 二.实验目的 1、掌握电子电路的一般设计方法和设计流程。 2、学习使用PROTEL软件绘制电路原理图和印刷版图。] 3、掌握应用EWB对设计的电路进行仿真,通过仿真结果验证设计的正确 性。 三.设计方案 交通灯控制器参考方案 图1 图1为交通灯控制器的一个参考设计方案。在这一方案中,系统主要由控制器.定时器?脉冲信号发生器.译码器?信号灯组成。 TL.TY为定时器的输出信号,ST为控制器的输出信号。 当车道绿灯亮时,定时器开始记时,当记时到30秒时,TL输出为1,否则,TL=0; 当车道黄灯亮后,定时器开始记时,当记时到5秒时,TY输出为1,否则,TY=0;

ST 为状态转换信号,当定时器数到规定的时间后,由控制器发出状态转 换信号,定时器开始下一个工作状态的定时计数。 控制状态为: 表1 ?状态转换 表 图2画出了控制器的状态转换图,图中TY 和TL 为控制器的输入信号, ST 为控制器的输出信号。 00 .01 . 11. 交通信 号灯 有四个状态, 用SO. 来表 SI. S2 ? S3 示,并且分别 分配 编码状态为

交通灯控制器的设计

EDA实验报告 一、课程设计题目及要求 题目: 十字路口交通灯 具体要求: 设计一个十字路口得交通灯控制器,能显示十字路口东西、南北两个方向红、黄、绿灯得指示状态。用两组红、黄、绿三种颜色得灯分别作为东西、南北两个方向红、黄、绿等。变化规律为:东西绿灯亮,南北红灯亮——东西黄灯亮,南北红灯亮——东西红灯亮,南北绿灯亮——东西红灯亮,南北黄灯亮——东西绿灯亮,南北红灯亮······,这样循环下去。南北方向每次通行时间为45秒,东西方向每次通行时间为45秒,要求两条交叉道路上得车辆交替运行,时间可设置修改。绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道。并要求所有交通灯得状态变化在时钟脉冲上升沿处。 二、实验编程环境 QuartusII 8、0 三、课程设计得详细设计方案 (一)、总体设计方案得描述 1、1、根据交通灯系统设计要求,可以用一个有限状态机来实现这个交通灯控制器。首先根据功能要求,明确两组交通灯得状态,这两组交通灯总共共有四种状态,我们用ST0,ST1,ST2,ST3 来表示: St0表示东西路绿灯亮,南北路红灯亮; St1表示东西路黄灯亮,南北路红灯亮; St2表示东西路红灯亮,南北路绿灯亮; St3表示东西路红灯亮,南北路黄灯亮; 1、2、根据上述四种状态描述列出得状态转换表 1、3、根据状态转换表得到交通灯控制器得状态转移图如图所示。

交通灯控制器得状态转移图 (二)各个模块设计 2、1、控制器模块 控制器模块示意图 其中,clk 为时钟信号,时钟上升沿有效。hold 为紧急制动信号,低电平有效。ared,agreen,ayellow 分别表示东西方向得红灯,黄灯,绿灯显示信号,高电平有效。 bred,bgreen,byellow 分别表示南北方向得红灯,黄灯,绿灯显示信号,高电平有效。 用于控制红绿黄灯得亮暗情况。 2、2、45秒倒计时计数器模块 45秒倒计时计数器模块示意图 其中,CLK 为时钟信号,时钟上升沿有效。EN 为使能端,高电平有效。CR 为紧急制动信号低电平有效。QL{3、、0}就是计数低位。QH{3、、0}就是计数高位。 用于45秒得倒计时计数。 2、3、7位译码器模块 7位译码器模块示意图 其中dat{3、、0}为要译码得信号。a,b,c,d,e,f,g 为译码后得信号。 用于将45秒倒计时计数得信号译码成数码管可以识别得信号。 2、4、50MHZ 分频器模块 50MHZ 分频器模块示意图 其中clk 为50MHZ 时钟信号,时钟上升沿有效。输出clk_out 为1HZ 时钟信号,时钟上升CLK EN CR QL[3、、0] QH[3、、0] OC m45 inst2

交通信号灯控制器设计报告

课程论文 (2012小学期) 论文题目:交通信号灯控制器设计报告课程名称:电子技术课程设计 任课教师:冯磊 班级:电子102 学号:1008140105 姓名:高华宇

交通信号灯控制器设计报告 第一章任务要求 (1)设计内容:在主道,支道的路口,设计交通信号等控制器; (2)基本要求:主道通行30秒,支道通行20秒,通行间隔5秒,主道优先为原则;显示通行时间; (3)附加要求:紧急情况处理:制动检测路口是否有等候车辆; (4 ) 设计时显示电路,计时方式尽量采用倒计时; 第二章原理框图 各模块间关系如下图所示: 第三章电路设计 3.1 方案原则 ◆满足题目的技术指导和设计要求 ◆简单明了,思路清晰 ◆设计新颖 ◆成本低,体积小,器件少 3.2 方案设计 总体思路如下图所示:

第四章体统实现 4.1 车辆检测电路 由两个单刀双掷开关代替车辆检测电路4.2 主控电路 (1)状态选择 电路中灯的四种状态如下: 状态(Q1Q2)主干道支干道 00 绿红 01 黄红 10 红绿 11 红黄(2)状态转换图

(3)芯片选择 使用双JK触发器CD4027 JK触发器特性方程:Q*=JO’+K’Q 且J1=Q2 K1=Q2 得J2=X2Q’2+(X1+X’2)Q2 K2=1 4.3 灯控电路 (1)真值表 (2)逻辑表达式 G=Q1’Q2’Y=Q1’Q2 R=Q1 g=Q1Q’2 y=Q1Q2 r=Q’1 4.4 置数电路 (1)原理 四种主状态与置入计数器的数呈一一对应关系。结合反馈控制部分,我们发现,由于芯片的延时效应,当主控时钟上升沿到来,主状态发生变化时,置数信号已经消失。所以要用前一时刻的主状态给后一时刻置数。 (2)逻辑表达式 2D=2C=1D=1B=0 2B=Qz 2A=Q1Q2 1C=2A=Q’zJz 4.5 时基电路 (1)原理 该部分由555定时器接成的多谐震荡器提供时钟信号CLK 周期公式:T=(R·+2R2)C1In2 选C1=100uF R1=1k 根据周期公式 可取R2=6.8k (2)电路图如图所示:

相关文档
最新文档