设计题目 交通灯控制器设计

合集下载

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

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

交通信号灯控制器课程设计报交通信号灯控制器课程报告一.设计要求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四.实物图。

(完整word版)数电——交通灯控制器设计

(完整word版)数电——交通灯控制器设计

(完整word版)数电——交通灯控制器设计大连交通大学电气信息学院综合设计报告设计名称:数字逻辑综合设计设计题目:交通灯控制器学生学号:专业班级:学生姓名:第一章课题背景1。

1 背景如今随着人们生活水平的提高,车辆越来越多,交通事故频繁发生。

交通信号灯的出现,使交通得以有效管制,对于疏通交通流量,提高道路通行能力,减少交通事故有明显效果。

交通灯在城市交通中起着重要的作用,它与人们日常生活密切相关,是人们出行的安全保障。

因此提供一个问题、安全、便捷的多功能交通灯控制系统有着现实的必要性.为了解决这些问题,我们更应该提高交通控制和管理水平,合理使用现有交通设施,充分发挥其能力,提高交通效率,促进和谐交通的建立.目前交通灯控制系统的设计软件也种类繁多,有基于EDA设计的,基于单片机设计的,基于DSP设计的,基于ARM嵌入式的等。

还有用标准逻辑器件、可编程控制器PLC等方案来实现.但是这些控制方法的功能修改及调试都需要硬件电路的支持,在一定程度上增加了功能修改及调试的困难。

所以现在国内外广泛采用EDA技术设计交通灯控制系统。

在国外,英国,澳大利亚,日本和美国等国家均在交通控制系统上日益完善。

如以澳大利亚悉尼为背景开发的交通自适应协调系统SCATS(Sydney Coordinated Adaptive Traffic System),英国的运输和道路研究所(TRRL)研制的SCOOT(Split Cycle Offset Optimization Technique)系统,日本的京三(Kyosan)系统等。

这些系统,大都是在各路口附近安装磁性环路监控器,由各路口的控制设备、人员将交通控制参数通过通讯网络输入微处理器,用小型计算机进行集中处理。

目前国内已有一些自主开发的城市交通控制系统,如公安部交通科学研究所开发的HT-UTCS系统,但它在整体性能上比国外同类系统仍有较大差距,只在一些中小城市得到一些应用。

EDA实验课程大作业报告:设计制作一个用于十字路口的交通灯控制器

EDA实验课程大作业报告:设计制作一个用于十字路口的交通灯控制器

交通灯控制器设计一.系统功能设计要求设计制作一个用于十字路口的交通灯控制器,要求如下:(1)南北和东西方向各有一组红、绿、黄灯来指挥交通,持续时间分别为25S,20S,和5S。

(2)当有特殊情况(如消防车、救护车等)时,两个方向均为红灯亮,计时停止。

(3)当特殊情况结束后,控制器恢复原来状态,继续正常运行。

(4)用两组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间。

二.设计原理1.交通灯控制器的状态转换根据题目要求将将红绿灯的状态转换列成如下表:2.设计方案1)由于交通灯需要使用2位7段LED数码管指示通行剩余时间,故采用LED动态扫描方式显示当前时间。

频率设定CLK1k对应的频率为50MHZ。

2)控制模块是交通灯的核心,主要控制交通灯按工作顺序自动变换,同时控制倒计时模块工作,每当倒计时回零时,控制模块接收到一个计时信号,从而控制交通灯进入下一个工作状态。

3)每个方向有一组2位倒计时器模块,用以显示该方向交通灯剩余的点亮时间。

4)显示模块由两部分组成,一是由七段数码管组成的倒计时显示器,每个方向两个七段数码管;二是由发光二极管代替的交通灯,每个方向3个发光二极管。

三.变量符号说明其中,CLK1K为系统时钟信号输入端,SN为禁止通行信号输入通行信号输入端,light0为东西红灯信号输出端,light1为东西黄灯信号输出端,light2为东西绿灯信号输出端,light3为南北红灯信号输出端,light4为南北黄灯信号输出端,light5为南北绿灯信号输出端,led1、led2、led3、led4为数码管地址选择信号输出端。

四.代码说明library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity Hongld ISport (clk1k,SN:in std_logic; --SN紧急情况led1, led2, led3, led4 :out std_logic_vector (6 downto 0);--显示管显示时间用light:out std_logic_vector (5 downto 0)); --红绿黄灯end Hongld;architecture traffic1 of Hongld ISsignal S:std_logic_vector (1 downto 0); --状态signal DXT:std_logic_vector(7 downto 0):=X"01"; --东西方向时间signal NBX:std_logic_vector(7 downto 0):=X"01"; --南北方向时间signal ART,AGT,AYT,BRT,BGT,BYT: std_logic_vector(7 downto 0); --红绿黄灯信号signal temp: integer range 0 to 49999999; --产生1s计数器时计数signal clk: std_logic;beginART<="00100101";AGT<="00100000";AYT<="00000100";BRT<="00100101";BGT<="00100000";BYT<="00000100";process(clk1k) -- 选频率为50MHZ beginif (clk1k'event and clk1k='1') thenif temp=49999999 thentemp<=0;clk<='1';elsetemp<=temp+1;clk<='0';end if;end if;end process;process(clk,DXT,NBX) --状态转换进程beginif clk'event and clk ='1' thenif(DXT ="00000001")OR (NBX = "00000001") then S<=S+1;else S<=S;end if; --状态转换结束end if;end process;process (clk,SN,S) --倒计时模块beginif SN = '1' then DXT<=DXT; NBX<=NBX;elseif clk'event and clk='1' thenif (DXT="0000000") OR (NBX="00000000") thencase S ISwhen "00"=>DXT<=ART; NBX<=BGT; --南北红灯、东西绿灯when "01"=>NBX<=BYT; --南北红灯、东西黄灯when "10"=>DXT<=AGT; NBX<=BRT; --南北绿灯、东西红灯when "11"=>DXT<=AYT; --南北黄灯、东西红灯when others=>NULL;end case;end if;if DXT/="00000000" thenif DXT(3 downto 0)= "0000" thenDXT(3 downto 0)<="1001";DXT(7 downto 4)<=DXT(7 downto 4)-1;else DXT(3 downto 0)<=DXT(3 downto 0)-1;DXT(7 downto 4)<=DXT(7 downto 4);end if;end if;if NBX/="00000000" thenif NBX(3 downto 0)="0000" thenNBX(3 downto 0)<="1001";NBX(7 downto 4)<=NBX(7 downto 4)-1;else NBX(3 downto 0)<=NBX(3 downto 0)-1;NBX(7 downto 4)<=NBX(7 downto 4);end if;end if;end if;end if;end process; --倒计时模块结束process(DXT,NBX,S,SN) --显示模块begincase NBX(3 downto 0) iswhen "0000"=>led1<="1000000";when "0010"=>led1<="0100100"; when "0011"=>led1<="0110000"; when "0100"=>led1<="0011001"; when "0101"=>led1<="0010010"; when "0110"=>led1<="0000010"; when "0111"=>led1<="1111000"; when "1000"=>led1<="0000000"; when "1001"=>led1<="0010000"; when others=>led1<="1111111"; end case;case NBX(7 downto 4) iswhen "0000"=>led2<="1000000"; when "0001"=>led2<="1111001"; when "0010"=>led2<="0100100"; when "0011"=>led2<="0110000"; when "0100"=>led2<="0011001"; when "0101"=>led2<="0010010"; when "0110"=>led2<="0000010"; when "0111"=>led2<="1111000"; when "1000"=>led2<="0000000"; when "1001"=>led2<="0010000"; when others=>led2<="1111111"; end case;case DXT(3 downto 0) iswhen "0000"=>led3<="1000000"; when "0001"=>led3<="1111001"; when "0010"=>led3<="0100100"; when "0011"=>led3<="0110000"; when "0100"=>led3<="0011001"; when "0101"=>led3<="0010010"; when "0110"=>led3<="0000010"; when "0111"=>led3<="1111000"; when "1000"=>led3<="0000000"; when "1001"=>led3<="0010000"; when others=>led3<="1111111"; end case;case DXT(7 downto 4) iswhen "0000"=>led4<="1000000"; when "0001"=>led4<="1111001"; when "0010"=>led4<="0100100";when "0100"=>led4<="0011001";when "0101"=>led4<="0010010";when "0110"=>led4<="0000010";when "0111"=>led4<="1111000";when "1000"=>led4<="0000000";when "1001"=>led4<="0010000";when others=>led4<="1111111";end case;if SN ='1' then light<="001001";elsecase S ISwhen "00"=>light<="010001";when "01"=> light <="100001";when "10"=> light <="001010";when "11"=> light <="001100";when others=>NULL;end case;end if;end process;end traffic1;五.仿真波形图仿真时序波形图。

毕业设计-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软件工具。

毕业设计题目:十字路口交通灯的控制

毕业设计题目:十字路口交通灯的控制

黔南民族职业技术学院机电工程系毕业设计毕业设计题目:十字路口交通灯的控制姓名:专业:机电设备维修与管理班级:指导教师:任务书颁发日期 2013 年 7月 2 日教研室主任签名:第一章前言 11.1课题背景 11.2研究目的和意义 11.3本文的主要工作 2第二章 PLC的简介 32.1 PLC的概述 32.2PLC的发展历程 32.3PLC的发展趋势 42.3PLC的发展趋势 42.4PLC的应用 5 第三章 PLC的结构及原理 73.1PLC的分类 73.2PLC的工作原理 73.3PLC汇编语言 9 第四章西门子S7-200系列PLC的基本指令 104.1 逻辑取及输出线圈指令(LD、LDI、OUT) 104.2单个触点串联指令(AND、ANI) 104.3S7-200系列PLC的定时器指令 11 第五章西门子PLC的几种编程语言介绍 125.1设计步骤和简介 125.2可编程控制器的维护和故障诊断 12 第六章十字路口交通灯的设计 146.1 十字路口交通灯的设计目的 146.2 PLC的选型 186.3十字路口交通灯的梯形图 19 结论24 致谢25参考文献第1章前言1.1课题背景1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。

这是世界上最早的交通信号灯。

1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。

它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。

1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。

1914年,电气启动的红绿灯出现在美国。

这种红绿灯由红绿黄三色圆形的投光器组成,安装在纽约市5号大街的一座高塔上。

红灯亮表示“停止”,绿灯亮表示“通行”。

1918年,又出现了带控制的红绿灯和红外线红绿灯。

带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。

交通灯控制器课程设计

交通灯控制器课程设计
二号 楷体
目录
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表示亮,则交通灯有如下四种输出 状态:
状态

数电实验设计题—交通信号灯控制器

数电实验设计题—交通信号灯控制器

[键入公司名称][键入文档标题] [键入文档副标题][键入作者姓名]2011/1/2目录一、设计要求: (2)二、题目分析与总体构思: (2)三、电路设计过程: (3)1.宏模块法设计计数器:(模比预计大1,后面给出解释) (3)2.初步进行电路设计如图: (4)3.第一次调试检查功能: (4)4.设计控制电路: (5)5.第二次调试: (5)6.从电路抽取信号来控制六个灯的状态: (7)7.第三次调试: (8)8.最终功能检查: (8)四、最终结果测试: (9)五、心得体会: (14)一、设计要求:1.设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯。

红灯亮禁止通行,绿灯亮允许通行,黄灯亮则停止行驶(给行驶中的车辆有时间停在禁行线以外)。

2.用红、绿、黄发光二极管作信号灯,用逻辑开关作检测车辆是否到来的的信号。

3.主干道处于常允许通行的状态,支干道有车来时才允许通行。

主干道亮绿灯时,干道亮红灯;支干道亮绿灯时,主干道亮红灯;4.主、支干道均有车时,两者交替允许通行。

主干道每次放行45秒,支干道每次放行2 5秒,设立45秒、25秒计时、显示电路。

5.在每次由绿灯亮转换到红灯亮的过程中,要亮5秒钟的黄灯作为过度,使行驶中的车辆有时间停到禁行线以外,设立5秒钟的计时及显示电路。

二、题目分析与总体构思:1. 先设计好定时电路:即在主副路上均无车或有车时,可以主干道每次放行45秒,支干道每次放行25秒,换灯有5s过度的电路。

2. 对不完善之处进行修改,以使达到预期。

3. 设计控制电路部分,输出控制定时电路转换状态或者保持状态的信号。

4. 对不完善之处进行修改,以使达到预期。

5. 从电路中抽取信号作为各灯点亮的标准。

6. 对不完善之处进行修改,以使达到预期。

三、电路设计过程:1.宏模块法设计计数器:(模比预计大1,后面给出解释)2.初步进行电路设计如图:以中心JK触发器不停翻转代表两路轮流路灯的情形,右边JK触发器则是以翻转的形式调配是绿灯亮还是黄灯亮。

交通灯控制器的设计(综合设计实验)

交通灯控制器的设计(综合设计实验)

实验11 交通灯控制器的设计(综合设计实验)一、目的、任务……1.巩固和加深学生对电子电路基本知识的理解,提高他们综合运用本课程所学知识的能力。

2.培养学生根据实验需要选学参考书籍,查阅手册、图表和文献资料的自学能力。

通过独立思考,深入钻研有关问题,学会自己分析并解决问题的方法。

3.通过电路方案的分析、论证和比较,设计计算和选取元器件初步掌握复杂实用电路的分析方法和工程设计方法。

4.培养严肃、认真的工作作风和科学态度。

通过综合设计实验,帮助学生逐步建立正确的生产观点、经济观点和全局观点。

二、设计内容设计一个十字路口交通灯定时控制系统:①主、支干道交替通行,主道每次放行30秒,支道每次放行20秒。

②绿灯亮表示可以通行,红灯亮表示禁止通行。

③当绿灯变红灯时,黄灯先亮5秒,此时另一干道上的红灯不变。

④主、支路口要有数字显示,作为时间提示,以便人们更直观地把握时间。

具体要求主、支干道通行时间及黄灯亮的时间均以秒为单位作减计数。

⑤黄灯亮时,红灯按1HZ的频率闪烁。

⑥要求主、支干通道通行时间及黄灯亮的时间均可在0~99S内任意设定。

三、设计方案该交通灯定时控制系统的组成框图如图1所示。

由状态控制器、状态译码器、减法计数器、秒脉冲发生等组成。

状态控制器主要用于记录十字路口交通灯的工作状态,通过状态译码器分别点亮相应状态的信号灯。

秒信号发生器产生整个定时系统的时基脉冲,通过减法计数器实现减计数,控制每一种工作状态的持续时间。

减法计数器的回零脉冲使状态控制器完成状态转换,同时状态译码器根据系统下一个工作状态决定计数器下一次减计数的初始值。

减法计数器的状态由BCD译码器译码、数码管显示。

在黄灯亮期间,状态译码器将秒脉冲引入红灯控制电路,使红灯闪烁。

图1 交通灯控制系统原理框图四、单元电路设计1.状态控制器设计(1)交通灯顺序工作流程图如图2所示。

30秒末到5秒末到20秒末到5秒末到图2 交通灯顺序工作流程图(2)状态控制器信号灯四种不同的状态分别用(主绿灯亮,支红灯亮)、S 1(主黄灯亮,支红灯闪烁)、S 2(主红灯亮,支绿灯亮)、S 3(主红灯闪烁,支黄灯亮)表示,其状态编码及状态转换图3所示。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

广西科技大学单片机技术课程设计报告课程:单片机技术题目:学院:专业:姓名:学号:指导老师:完成时间:成绩评定摘要随着各种交通工具的发展和交通指挥的需要,第一盏名副其实的三色灯(红、黄、绿三种标志)于1918年诞生。

它是三色圆形四面投影器,被安装在纽约市五号街的一座高塔上,由于它的诞生,使城市交通大为改善。

黄色信号灯的发明者是我国的胡汝鼎,他怀着“科学救国”的抱负到美国深造,在大发明家爱迪生为董事长的美国通用电器公司任职员。

一天,他站在繁华的十字路口等待绿灯信号,当他看到红灯而正要过去时,一辆转弯的汽车呼地一声擦身而过,吓了他一身冷汗。

回到宿舍,他反复琢磨,终于想到在红、绿灯中间再加上一个黄色信号灯,提醒人们注意危险。

他的建议立即得到有关方面的肯定。

于是红、黄、绿三色信号灯即以一个完整的指挥信号家族,遍及全世界陆、海、空交通领域了。

交通灯控制器设计主要功能是用单片机控制LED灯模拟指示。

模拟东西南北方向的十字路口交通灯信号控制情况。

以89C52单片机为核心芯片,采用中断方式实现控制。

本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统。

和复位电路控制电路等组成,较好的模拟了交通路面的控制。

关键词:交通灯单片机数码管目录1.概述 (1)2系统总体方案及硬件设计 (2)2.1设计内容 (2)2.2 设计要求 (2)2.3 总体设计思想 (2)2.4 设计参考 (2)2.5 知识点准备 (2)3各模块设计 (3)3.1设计项目简介 (3)3.2总体设计 (3)3.3硬件设计 (3)3.4软件设计 (9)4软件仿真 (12)5课程设计体会 (13)参考文献 (14)附录一程序清单 (15)附录二系统原理图 (21)1概述自从1858年英国人,发明了原始的机械扳手交通灯之后,随后的一百多年里,交通灯改变了交通路况,也在人们日常生活中占据了重要地位,随着人们社会活动日益增加,经济发展,汽车数量急剧增加,城市道路日渐拥挤,交通灯更加显示出了它的功能,使得交通得到有效管制,对于交通疏导,提高道路导通能力,减少交通事故有显著的效果。

近年来,随着科技的飞速发展,电子器件也随之广泛应用,其中单片机也不断深入人民的生活当中。

本模拟交通灯系统利用单片机AT89C52作为核心元件,实现了通过信号灯对路面状况的智能控制。

从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。

系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。

本模拟系统由单片机硬/软件系统,两位8段数码管和LED灯显示系统。

和复位电路控制电路等组成,较好的模拟了交通路面的控制。

2 系统总体方案及硬件设计2.1设计内容交通灯控制器设计主要功能是用单片机控制LED灯模拟指示。

模拟东西南北方向的十字路口交通灯信号控制情况。

以89C52单片机为核心芯片,采用中断方式实现控制。

(1)数码管选用2位共阴极显示的数码管,共4个;(2)东西通行时间为80s,南北通行时间为60s,缓冲时间为3s;2.2 设计要求•设计单片机最小系统(包括复位按钮、晶振电路等);•绘制实现本设计内容的硬件电路(原理图),系统的组成框图。

•相应的控制状态表;•编写本课程设计内容的软件设计(包含程序流程图和对程序注释)。

•硬件实验部分可用Proteus仿真软件实现。

2.3 总体设计思想(供参考)•利用定时器T0产生每10ms一次的中断,每100次中断为1s;•对两个方向分别显示红、绿、黄灯的剩余时间即可;•用MAX7219芯片实现共阴极显示驱动;•A方向的红灯时间=方向的绿灯时间+黄灯缓冲时间。

2.4 设计参考交通灯控制器设计有电源电路、单片机主控电路、显示电路、信号灯电路等组成,如图1所示:2.5 知识点准备:•+5V电源原理及设计;•M AX7219工作原理;•单片机复位电路工作原理及设计(元件选择的依据);•单片机晶振电路工作原理及设计(元件选择的依据);•数码管显示特性、驱动设计及应用;•L M1602液晶显示屏特性、驱动设计及应用;•89C51单片机引脚资源、引脚分配等;•单片机汇编语言及程序设计(中断、延时子程序的设计)。

3各模块设计3.1设计项目简介功能:交通灯控制器,通过单片机控制交通灯和数码管,实现4路口交通灯的正确亮灭,并能显示发亮交通灯发亮状态的剩余时间。

东西通行时间为80s,南北通行时间为60s,缓冲时间为3s。

类似产品简介:基于数字电子技术设计的交通灯控制器:元器件多而复杂,连线复杂易出错,设计困难,且功耗较大,不经济,不利于节约环保。

基于PLC技术设计的交通灯控制器:设计程序简单易懂,但价格较贵,不经济。

项目特色:通过单片机控制,进行模块化处理,体积小,功耗低,元器件少且简单,价格实惠,功能齐全,能够实现正常显示,而不会出现4路口交通灯混乱的情况,时间显示正常。

3.2总体设计总体设计模式图:用一片AT89C52单片机控制4路口交通灯的亮灭。

单片机发送地址、数据信息给MAX7219,通过MAX7219控制数码管的时间显示。

3.3硬件设计硬件原理图:电路图:硬件选型及相关依据:AT89C52:4组8位I/O 输入/输出端口,可满足控制所需I/O 口数目要求。

可外接时钟电路,有复位管脚,接复位电路可实现复位功能。

接5V 高电平,功耗小,价格低。

MAX7219:串行输入,16位并行输出,可控制8位八段数码管显示。

满足设计中的四位控制要求。

4组2位共阴数码管:4路口两位数显示,满足所需,易实现控制。

4个LED-GREEN :10mA 额定电流,2.2V 额定电压,用于模拟十字路口绿灯亮灭显示。

4个LED-YELLOW :10mA 额定电流,2.0V 额定电压,用于模拟十字路口黄灯亮灭显示。

4个LED-RED :10mA 额定电流,2.0V 额定电压,用于模拟十字路口红灯亮灭显示。

4个280Ω电阻、8个300Ω电阻:由VCC=V+IR ,(VCC :5V ;I :LED 灯晶振模块复位模块块数字显示模块交通灯模块MAX7219模块 单片机中心模块额定电流;V:LED灯额定电压)计算出电阻大小。

9KΩ电阻1个:MAX7219的18管脚接高电平时串联电阻。

12MHZ晶振1个、30pf电容2个:根据经验,12M晶振与2个30p电容并联构成外部时钟振荡电路。

10KΩ电阻1个、1KΩ电阻1个、10uf电解电容1个、1个按键:构成单片机复位电路。

电容放电时间τ=RC=10K10uf=0.1s>21/12M=s(2个时钟周期),即电容放电时间大于2倍的时钟周期,即可实现复位。

AT89C52简介:AT89C52是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。

该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。

由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C52是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

主要特性:与MCS-51 兼容;4K字节可编程闪烁存储器;寿命:1000写/擦循环;数据保留时间:10年;全静态工作:0Hz-24Hz;;三级程序存储器锁定;128*8位内部RAM;32可编程I/O线;两个16位定时器/计数器;5个中断源;可编程串行通道;低功耗的闲置和掉电模式;片内振荡器和时钟电路。

MAX7219芯片简介:MAX7219 是MAXIM 公司生产的串行输入/输出共阴极数码管显示驱动芯片,一片MAX7219 可驱动8 个7 段(包括小数点共8 段)数字LED、LED 条线图形显示器、或64 个分立的LED 发光二级管。

该芯片具有10MHz 传输率的三线串行接口可与任何微处理器相连,只需一个外接电阻即可设置所有LED 的段电流。

它的操作很简单,MCU 只需通过模拟SPI 三线接口就可以将相关的指令写入MAX7219 的内部指令和数据寄存器,同时它还允许用户选择多种译码方式和译码位。

此外它还支持多片7219 串联方式,这样MCU 就可以通过3根线(即串行数据线、串行时钟线和芯片选通线)控制更多的数码管显示。

MAX7219的外部引脚分配如图1 所示及内部结构如上图所示。

各引脚的功能为:DIN:串行数据输入端DOUT:串行数据输出端,用于级连扩展LOAD:装载数据输入CLK:串行时钟输入DIG0~DIG7:8 位LED 位选线,从共阴极LED 中吸入电流SEG A~SEG G DP 7 段驱动和小数点驱动ISET:通过一个10k 电阻和Vcc 相连,设置段电流MAX7219 有下列几组寄存器:译码控制寄存器、亮度控制寄存器、扫描界限寄存器、关断模式寄存器、测试控制寄存器。

编程时只有正确操作这些寄存器,MAX7219 才可工作。

MAX7219读写时序说明:MAX7129 是SPI 总线驱动方式。

它不仅要向寄存器写入控制字,还需要读取相应寄存器的数据。

要想与MAX7129 通信,首先要先了解MAX7129 的控制字。

MAX7129 的控制字格式如下图。

如图,工作时,MAX7219 规定一次接收16 位数据,在接收的16 位数据中:D15~D12 可以与操作无关,可以任意写入,D11~D8 决定所选通的内部寄存器地址,D7~D0 为待显示数据或是初始化控制字。

在CLK 脉冲作用下,DIN 的数据以串行方式依次移入内部16 位寄存器,然后在一个LOAD 上升沿作用下,锁存到内部的寄存器中。

注意在接收时,先接收最高位D16,最后是D0,因此,在程序发送时必须先送高位数据,在循环移位。

工作时序图见下图。

由于52 是8 位单片机故需要分两次来送数据。

数据读写时序图单片机复位电路:上电自动复位原理:在电路图中,电容的的大小是10uF,电阻的大小是10k。

所以根据公式,可以算出电容充电到电源电压的0.7倍(单片机的电源是5V,所以充电到0.7倍即为3.5V),需要的时间是10K*10UF=0.1S。

也就是说在启动的0.1S内,电容两端的电压时在0~3.5V增加。

这个时候10K 电阻两端的电压为从5~1.5V减少(串联电路各处电压之和为总电压)。

所以在0.1S内,RST引脚所接收到的电压是5V~1.5V。

在5V正常工作的51单片机中小于1.5V的电压信号为低电平信号,而大于1.5V的电压信号为高电平信号。

所以在开机0.1S内,单片机系统自动复位(RST引脚接收到的高电平信号时间为0.1S左右)。

按键按下的时候复位原理:在单片机启动0.1S后,电容C两端的电压持续充电为5V,这是时候10K 电阻两端的电压接近于0V,RST处于低电平所以系统正常工作。

相关文档
最新文档