交通灯控制器课程设计报告
交通信号灯控制器课程设计报告
交通信号灯控制器课程设计报交通信号灯控制器课程报告一.设计要求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四.实物图。
电子课程设计交通灯报告
电子课程设计交通灯报告一、教学目标本课程旨在通过学习电子课程设计交通灯报告,让学生掌握电子电路的基本知识,学会使用电子元件设计并制作一个简单的交通灯控制系统。
通过本课程的学习,学生应达到以下目标:1.了解电子电路的基本概念和原理;2.熟悉常用电子元件的功能和用法;3.掌握交通灯控制系统的工作原理。
4.能够运用电子元件设计并制作简单的电子电路;5.能够进行电路调试,解决电路中出现的问题;6.能够撰写实验报告,对实验结果进行分析。
情感态度价值观目标:1.培养学生的动手能力和创新意识,提高他们解决实际问题的能力;2.培养学生团队合作精神,提高他们的沟通与协作能力;3.培养学生对电子科技的兴趣,激发他们继续探索科学奥秘的热情。
二、教学内容本课程的教学内容主要包括以下几个部分:1.电子电路基本概念和原理:电路元件、电路图、电路分析方法等;2.常用电子元件的功能和用法:电阻、电容、二极管、三极管等;3.交通灯控制系统的工作原理:信号灯控制逻辑、电路设计、控制系统实现等;4.电路设计软件的使用:学习并掌握一种电路设计软件,如Multisim、Proteus等;5.实验操作与报告撰写:进行交通灯控制系统的制作和调试,撰写实验报告。
三、教学方法为了提高教学效果,本课程将采用多种教学方法相结合的方式进行教学:1.讲授法:讲解电子电路的基本概念、原理和常用电子元件的功能及用法;2.案例分析法:分析实际的交通灯控制系统案例,让学生了解并掌握系统的工作原理;3.实验法:让学生动手制作并调试交通灯控制系统,提高他们的实践操作能力;4.讨论法:分组讨论实验过程中遇到的问题,培养学生的团队合作精神和沟通能力。
四、教学资源为了支持本课程的教学,我们将准备以下教学资源:1.教材:电子电路基础及其应用;2.参考书:电子电路设计手册、交通灯控制系统设计实例等;3.多媒体资料:教学PPT、实验操作视频等;4.实验设备:电路实验板、电阻、电容、二极管、三极管等电子元件。
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;五.仿真波形图仿真时序波形图。
课程设计报告——交通信号灯控制器
目录一、设计背景 (2)二、任务和要求 (2)三、总体设计方案 (3)1.状态设置 (3)2.系统框图 (3)a.系统总框图 (3)b.系统状态转换框图 (4)四、单元电路设计 (4)1.倒计时电路(定时电路) (4)2.状态控制器(主控电路) (5)3.交通灯显示电路、 (5)4.数码管显示 (6)5.置数变换电路 (6)6.流量控制电路 (7)五、总电路原理图 (8)六、总电路图 (9)七、原件清单 (10)八、电路连接与调试 (10)九、设计总结 (10)十、参考文献 (11)一、 设计背景在现代城市中,人口和汽车日益增长,市区交通也日益拥挤,人们的安全问题也日益重要。
因此,红绿交通信号灯成为交管部门管理交通的重要工具之一。
交通信号灯常用与交叉路口,用来控制车的流量,提高交叉口车辆的通行能力,减少交通事故。
有了交通灯人们的安全出行有了很大的保障。
二、任务和要求红绿灯交通信号系统外观示意图如图1所示。
1.在十字路口的两个方向上各设一组红黄绿灯,显示顺序为其中一方向是绿灯、黄灯、红灯;另一方向是红灯、绿灯、黄灯。
2.设置一组数码管,以倒计时的方式显示允许通行或禁止通行时间,其中一个方向上(主干道)绿灯亮的时间是45s ,另一个方向上(支干到)绿灯亮的时间是25s ,黄灯亮的的时间都是5s 。
3.要求加装一流量控制电路,使电路拥有流量控制功能,既:当一条路上无车,另一条路上有车时,这条路上的绿灯长亮,另一条路上红灯长亮。
三、总体设计方案1.状态设置状态1(00):主车道的绿灯亮,车道,人行道通行;南北方向车道的红灯亮,车道,人行道禁止通行。
状态2(01):主车道的黄灯亮,车道,人行道缓行;南北方向车道的红灯亮,车道,人行道禁止通行;状态3(10):支车道的红灯亮,车道,人行道禁止通行;南北方向车道的绿灯亮,车道,人行道通行;状态4(11):支车道的红灯亮,车道,人行道禁止通行;南北方向车的黄灯亮,车道,人行道缓行;2.系统框图a.系统总框图流量控制电路b.系统状态转换框图图2 工作流程图四、单元电路设计1.倒计时电路(定时电路)倒计时器由两位4位十进制可逆同步计数器(双时钟)74LS192、一个非门和一或门构成。
交通灯控制器课程设计报告
河南科技大学课程设计报告课程名称 __单片机原理课程设计_题目名称 _ 交通灯控制器设计学生学院 ___ 信息工程学院_____专业班级 ___ 自动化114 __学号学生姓名 __ _ ___ ___指导教师 __ _ _______2014 年 6 月 5 日课程设计任务书(指导教师填写)课程设计名称单片机原理学生姓名专业班级自动化114 设计题目交通灯控制器设计一、课程设计目的1.培养学生文献检索的能力,如何利用Internet检索需要的文献资料。
2.培养学生综合分析问题、发现问题和解决问题的能力。
3.培养学生综合运用知识的能力和工程设计的能力。
4.培养学生理论联系实际的能力。
5.提高学生课程设计报告撰写水平。
二、设计内容、技术条件和要求1设计内容交通灯控制器设计主要功能是用单片机控制LED灯模拟指示。
模拟东西南北方向的十字路口交通灯信号控制情况。
以89C51单片机为核心芯片,采用中断方式实现控制。
(1)数码管选用2位共阴极显示的数码管,共4个;(2)东西通行时间为80s,南北通行时间为60s,缓冲时间为3s;2 设计要求•设计单片机最小系统(包括复位按钮、晶振电路等);•绘制实现本设计内容的硬件电路(原理图),系统的组成框图。
•相应的控制状态表;•编写本课程设计内容的软件设计(包含程序流程图和对程序注释)。
•硬件实验部分可选用实验箱测试或Proteus仿真软件实现。
3 总体设计思想(供参考)•利用定时器T0产生每10ms一次的中断,每100次中断为1s;•对两个方向分别显示红、绿、黄灯的剩余时间即可;•用MAX7219芯片实现共阴极显示驱动;•A方向的红灯时间=方向的绿灯时间+黄灯缓冲时间。
4 设计参考交通灯控制器设计有电源电路、单片机主控电路、显示电路、信号灯电路等组成,如图1所示:5 知识点准备:•+5V电源原理及设计;•MAX7219工作原理;•单片机复位电路工作原理及设计(元件选择的依据);•单片机晶振电路工作原理及设计(元件选择的依据);•数码管显示特性、驱动设计及应用;•LM1602液晶显示屏特性、驱动设计及应用;•89C51单片机引脚资源、引脚分配等;单片机汇编语言及程序设计(中断、延时子程序的设计)。
交通灯控制器 EDA课程设计实验报告
目录1课程设计要求 (3)2 电路功能描述 (3)3 设计方案 (3)4设计原理图 (4)5 VHDL语言 (4)6仿真截图 (6)7心得体会 (11)8参考文献 (11)1. 课程设计要求1.1.红、黄、绿灯分别控制显示;1.2.每一个状态分别分配一个时间显示(两位十进制,倒计时);1.3.符合实际交通规律。
2.电路功能描述本设计是实现交通灯的控制,模拟实现了红、绿、黄灯指挥交通的功能。
本设计适用东西和南北方向的车流量大致相同的路口,红灯显示时间30S,绿灯显示时间25S,黄灯显示时间5S,同时用数码管指示当前的状态(红、绿、黄灯)的剩余时间。
当有紧急状况发生时,两个方向都禁止通行,并且显示红灯,当紧急状况解除后,重新计时并且指示时间。
3.设计方案根据设计要求,需要控制显示红、黄、绿三个灯的亮灭状态及显示的时间。
这个设计主要由两部分组成,红黄绿灯的显示模块,显示时间模块。
由实际的交通情况可知,东西方向的显示情况是一致的,南北方向的显示情况也是一致,故在设计的时候就只考虑两种状态,将东西方向合成一种,南北方向合成一种。
红黄绿灯的显示模块用两组共6个灯显示,时间显示模块用LED数码管显示。
此外,本交通灯控制器设置的红黄绿显示方式是参照一些城市的显示规律,红灯30S,绿灯25S,黄灯5S,同时用数码管指示当前状(红、绿、黄灯)的剩余时间。
另外还设有一个紧急状态,当特殊情况发生时,两个方向都禁止通行,指示红灯,紧急状态解除后,重新计时并指示时间。
时间采用倒计时的方式显示。
本设计采用VHDL语言编程,描述各个硬件模块实现的功能,使红、黄、绿灯的转换有一个准确的转换顺序和时间间隔,并进行仿真,通过仿真的结果,得出实验的结果。
在正常情况下的一个完整周期内,交通灯控制器系统一共有四种状态,分别是东西红、南北绿,东西红、南北黄,东西绿、南北红,东西黄、南北红。
其运行方式为东西红、南北绿→东西红、南北黄→东西绿、南北红→东西黄、南北绿,东西黄、南北绿结束后再回到东西红、南北绿的状态,整个周期持续60s。
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表示亮,则交通灯有如下四种输出 状态:
状态
倒计时交通灯课程设计报告书
电子线路与设计课程设计说明书题目交通灯控制器专业班级电信2班姓名学号目录一、课程设计目的和要求 (1)二、设计方案和基本原理 (1)2.1课程设计方案 (2)2.2课程设计原理 (3)三、电路设计 (4)3.1单元电路设计 (4)3.2输出指示灯状态设计 (5)3.3显示电路的改进 (5)3.4主电路设计 (6)3.5整体电路图及工作原理 (7)3.6元件清单 (9)四、电路调试 (10)五、设计小结 (10)5.1心得体会 (10)5.2作品展示 (12)六、参考文献 (13)一、课程设计目的和要求要求实现逻辑功能,在1-3状态循环。
1、东西方向绿灯亮,南北方向红灯亮,时间20s。
2、南北方向绿灯亮,东西方向红灯亮,时间20s。
3、红绿灯变换3秒前,黄灯处于闪烁状态,红绿灯变换后黄灯熄灭。
4、采用两位数码管显示时间倒计时,倒计时结束红绿灯自动变换。
二、设计方案和基本原理2.1课程设计方案方案一①、S1-S3使用2个SR锁存器,设置00,01,10三个状态,这三种状态恰恰对应电路中S1、S2、S3三种状态。
②、采用74LS74与外围元件构成脉冲发生器,用于产生脉冲信号。
③、使用4个JK触发器,实现4位计数,作为倒计时显示电路用。
④、采用2个CD4511和2个七段数码管作为倒计时显示电路。
方案二①、由D触发器74LS74与外围元件构成单稳态电路,用于S1、S2状态切换(S1、S2正好是相反的状态)。
D触发器是边沿触发器,能够实现5、6管脚同时转换,即东西路和南北路的同时变换。
②、黄灯闪烁电路可以采用NE555振荡电路实现,接收到控制端的信号,NE555的第4管脚得电开始工作,第三脚可输出脉冲信号,并且调整C6或R23可以改变闪烁频率。
③采用74LS192作为倒计时控制器件,其输出端可直接作为信号灯变化信号。
方案对比综合考虑,为使电路简化、运行稳定,选用方案二。
2.2课程设计原理任务要求实际上就是3个状态,不妨设:S1、东西方向绿灯亮,南北方向红灯亮,时间20s ; S2、南北方向绿灯亮,东西方向红灯亮,时间20s ; S3、黄灯闪烁,时间3s 。
交通灯设计实验报告
一、实验目的1. 理解交通灯控制系统的基本原理和设计方法。
2. 掌握使用单片机进行交通灯控制系统的设计与实现。
3. 培养动手实践能力和团队协作精神。
二、实验原理交通灯控制系统是城市交通管理的重要组成部分,其主要目的是通过红、黄、绿三种信号灯的变换,实现对车辆和行人的有序通行。
本实验采用单片机作为控制核心,通过编写程序实现对交通灯的控制。
三、实验设备1. 单片机开发板(如51单片机开发板)2. 交通灯模块(红、黄、绿三色LED灯)3. 按键模块4. 数码管模块5. 电阻、电容等电子元器件6. 调试工具(如万用表、示波器等)四、实验步骤1. 系统设计(1)确定交通灯控制系统的功能需求:实现红、黄、绿三色LED灯的交替闪烁,满足交通信号灯的基本要求。
(2)设计系统框图:单片机作为核心控制单元,通过编写程序实现对交通灯的控制。
系统框图如下:```+------------------+ +------------------+ +------------------+| | | | | || 单片机 |-------| 交通灯模块 |-------| 按键模块|| | | | | |+------------------+ +------------------+ +------------------+```(3)编写程序:根据系统需求,编写单片机控制程序,实现红、黄、绿三色LED灯的交替闪烁。
2. 硬件搭建(1)将单片机开发板与交通灯模块、按键模块、数码管模块等连接。
(2)根据电路原理图,连接电阻、电容等电子元器件。
(3)使用万用表测试电路连接是否正确。
3. 软件编程(1)使用C语言编写单片机控制程序。
(2)编译程序,生成可执行文件。
(3)将可执行文件烧录到单片机中。
4. 系统调试(1)使用示波器观察单片机引脚输出波形。
(2)检查交通灯模块是否正常工作。
(3)使用万用表测试按键模块是否正常工作。
(4)根据实际情况调整程序参数,确保系统稳定运行。
电子技术课程设计报告--交通灯控制系统
交通信号灯控制系统设计报告一.实验目的1.掌握综合应用数电理论知识和中规模集成电路设计方法2.掌握调试及电路主要技术指标的测试方法。
3 了解交通灯管理的基本工作原理。
二、交通灯控制器任务及要求1、能显示十字路口东西、南北两个方向的红、黄、绿的指示状态用两组红、黄、绿三色灯作为两个方向的红、黄、绿灯。
2、能实现正常的到计时功能用两组数码管作为东西和南北方向的到计时显示,主干道每次放行(绿灯)60秒,支干道每次放行(绿灯)45秒,在每次由绿灯变成红灯的转换过程中,要亮黄灯5秒作为过渡。
3、能实现特殊状态的功能(选做)(1〉按sl键后,能实现特殊状态功能:(2)显示到计时的两组数码管闪烁;(3)计数器停止计数并保持在原来的状态:(4)东西、南北、路口均显示红灯状态:(5)特殊状态解除后能继续计数。
4、能实现总体清零功能:按下该键后,系统实现总清零,计数器由初始状态计数,对应状态的指示灯亮。
5、完成电路全部设计后,通过实验箱验证设计课题的正确性。
三.比较和优选设计方案1.方案1:利用单片机来设计1)显示界面该系统要求完成倒计时、状态灯等功能。
完全采用数码管显示。
这种方案虽只显示有限的符号和数码字苻,但是完全胜任题目要求。
2)输入:题目要求系统能手动设灯亮时间、紧急情况处理。
直接在IO口线上接上按键开关。
因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用四个按键,分别是K1、K2、K3、K4。
由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用。
3)输出:控制发光二极管,来表示红绿灯的亮灭,及山烁。
系统由单片机系统、键盘、LED 显示、交通灯演示系统组成。
方案2:利用中规模集成芯片来实现。
其中信号灯的亮灭有三种可选方案:1)利用74LS161:2)利用存储器:3)利用扭环循环控制。
方案选择:由于这次实验是电工电子实验。
利用方案1不太满足要求。
方案2中利用扭环循环控制信号灯的亮灭,不容易实现特殊功能状态;利用存储器需要对芯片编码,有时会出现编码混乱的情况,这样会造成电路检测的不便。
交通灯控制器+数字电路课程设计报告
交通灯控制器+数字电路课程设计报告交通灯控制器是交通管理系统中的重要组成部分,其主要作用是控制道路上的交通信号灯。
随着数字电路技术的发展,交通灯控制器也逐渐向数字化、智能化方向发展。
本文将详细介绍一种基于数字电路的交通灯控制器设计,以及该设计方案的实现和效果。
一、设计方案1.硬件设计硬件设计方案主要包括数字电路的选择、交通灯的控制模块、传感器等。
本方案选用FPGA芯片作为控制芯片,该芯片具有先进的数字信号处理能力和可编程性,便于开发和定制。
交通灯的控制模块包括红灯、黄灯、绿灯三个信号灯的控制器,以及车辆、行人传感器等。
其中车辆传感器主要用来检测车流量,行人传感器主要用来检测行人通行情况。
2.软件设计软件设计方案主要包括程序的设计和调试,以及人机界面的设计和开发。
程序设计方案采用Verilog HDL语言进行实现,采用时序逻辑设计的思路来编写程序,实现红绿灯的控制和状态转移。
人机界面采用C语言进行编写,通过串口通信与控制芯片进行数据传输和控制。
二、实现过程在设计方案确定后,我们进一步开始实现。
首先是电路的焊接和测试,在确定电路正常无误后,再完成程序的编写和调试。
最后是人机接口的开发和完善。
具体实现流程如下:1.电路焊接首先进行电路布线和焊接,将FPGA芯片、光耦隔离器、电位器等元器件焊接到电路板上,以及信号灯、传感器等元器件的接入。
2.程序编写利用Verilog HDL语言编写程序,主要包括红绿灯状态的转移逻辑和相应的信号输出控制。
程序设计过程中,需要注意时序和状态的转移。
3.调试测试完成程序编写后,需要进行相应的调试测试。
通过仿真测试,检查程序逻辑是否正确,排除潜在问题。
在硬件实验平台上进行测试,确定系统能够正常工作。
4.人机界面开发利用C语言编写人机界面,实现与交通灯控制器的交互控制。
实现车辆、行人传感器的数据采集和显示,以及人手动控制交通灯的功能。
三、实现效果通过测试和实验验证,本文的交通灯控制器设计方案具有以下优势:1.使用FPGA芯片作为控制芯片,具有较强的可编程性和数字信号处理能力。
交通灯控制器设计报告
设计报告题目:交通灯控制器设计报告姓名杨平学号20133304024班级13级电子信息工程技术班指导教师李可长完成时间一、设计的目的与要求1-1目的为解决交通堵塞问题,采用AT89C51单片机为核心,与74LS47组成特殊情况控制电路、7段数码管及LED组成显示电路,设计出以人性化智能化为目的的交通灯控制系统,如遇特殊情况可人为控制交通从而解决交通堵塞的实际问题,整个电路简单,易于实现。
1-2要求1、设计课题:以单片机为核心器件设计一个具有倒计时功能的交通灯2、设计任务:1.设计的交通灯要符合符合现行的交通法规。
2.倒计时时间显示显示用两个数码管组成。
3.可通过按键修改倒计时时间。
4.课通过按键控制将交通灯,在紧急情况下让特殊车辆优先经过。
3、设计要求:1.画出仿真电路图说明电路的工作原理。
2.画出程序设计流程图。
3.编写和调试个模块源程序。
4.完成整个项目源程序的综合调试。
二、硬件系统方框图2-1交通灯控制系统的原理AT89C51单片机的交通系统是由单片机、键盘、LED、倒计时交通灯显示模块组成,系统除基本交通功能外,还具有通行时间手动设置、倒计时显示、急车强行通行、交通特殊情况处理等功能,实验采用AT89C51为控制芯片,采用“Proteus+keiluVision2”对交通灯系统进行了仿真,仿真结果表明:该系统能够简单、经济、有效的解决了交通堵塞问题,提高了交通路口的通行能力。
2-2交通灯控制器硬件系统方框图2-2仿真电路设计三、硬件电路设计 3-1 最小系统设置电路系统中,复位电路、振荡电路与51单片机组成最小系统,使交通控制系统可以正常工作,其中复位电路采用上电复位电路。
四、软件系统程序设计4-1 软件系统流程图4-2源程序设计代码五、调试方法和步骤1.对上述源程序进行汇编和纠错,产生代码并装入仿真电路以便调试程序。
2.观察正常情况下信号灯的状态,体会定时器的作用。
方法:开关S1、S2、S3,S4均不按下,首先可以使用全速运行的方法调试程序,观察南北、东西道信号灯是否按照项目设计的要求进行轮流放行。
交通灯控制器课程设计
交通灯控制器 课程设计一、课程目标知识目标:1. 理解交通灯控制器的基本原理,掌握其电路组成及功能。
2. 学习并掌握交通灯控制器中的基础电子元件及其工作原理。
3. 了解交通灯控制器的实际应用,理解其在交通安全中的作用。
技能目标:1. 能够运用所学知识设计简单的交通灯控制器电路。
2. 学会使用相关工具和仪器进行电路搭建和调试。
3. 提高分析问题和解决问题的能力,通过实践操作培养动手能力。
情感态度价值观目标:1. 培养学生对电子技术的兴趣,激发他们探索科学的精神。
2. 增强学生的团队合作意识,培养沟通与协作能力。
3. 培养学生的安全意识,让他们明白遵守交通规则的重要性。
课程性质:本课程为电子技术实践课程,结合理论教学,注重培养学生的动手实践能力和创新思维。
学生特点:考虑到学生所在年级,已有一定的基础知识,具备初步的分析和解决问题的能力,对电子技术有一定的好奇心。
教学要求:在教学过程中,注重理论与实践相结合,鼓励学生积极参与讨论和实践活动,培养他们的自主学习能力和创新意识。
通过课程学习,使学生能够达到上述设定的具体学习成果。
二、教学内容1. 交通灯控制器原理- 红绿灯工作原理及切换逻辑- 时序控制器的基本概念- 电路图解读及元件功能分析2. 基础电子元件- 电阻、电容、二极管、三极管等元件的特性与应用- 传感器及其在交通灯控制器中的作用3. 交通灯控制器电路设计- 电路图的绘制与解读- 元件的选型与连接- 电路搭建及调试方法4. 实践操作- 搭建简单交通灯控制器电路- 编写控制程序,实现交通灯自动切换- 故障排查与电路优化5. 交通灯控制器应用案例- 实际交通场景中的交通灯控制器应用- 交通安全与节能减排的意义教学内容安排与进度:第一课时:交通灯控制器原理,红绿灯工作原理及切换逻辑第二课时:基础电子元件,电路图解读及元件功能分析第三课时:交通灯控制器电路设计,电路图的绘制与解读第四课时:实践操作,搭建简单交通灯控制器电路第五课时:编写控制程序,实现交通灯自动切换,故障排查与电路优化第六课时:交通灯控制器应用案例,讨论交通安全与节能减排的意义教材章节关联:本教学内容与教材中关于数字电路、电子元件、电路设计等相关章节紧密关联,通过本课程的学习,使学生能够将理论知识与实践相结合,提高综合运用能力。
交通控制灯实验报告(3篇)
第1篇一、实验目的1. 理解交通控制灯的基本原理和设计方法。
2. 掌握交通控制灯系统的硬件设计和软件编程。
3. 培养实际应用中交通控制灯系统的调试和优化能力。
二、实验背景随着城市化进程的加快,交通流量不断增加,交通拥堵问题日益严重。
交通控制灯作为城市交通管理的重要组成部分,对提高交通效率、保障交通安全具有重要作用。
本实验旨在设计一个简单的交通控制灯系统,模拟实际交通信号灯的控制过程。
三、实验内容1. 硬件设计本实验采用AT89S52单片机作为控制核心,利用LED灯模拟交通信号灯,通过按键实现交通灯的启动和停止控制。
2. 软件设计采用C语言编程,实现交通信号灯的时序控制,包括红灯、绿灯、黄灯的切换以及车辆通过时间的计时。
3. 系统调试通过调试程序,使交通控制灯系统稳定运行,实现交通信号灯的正常切换。
四、实验步骤1. 硬件电路连接(1)将AT89S52单片机的P1.0-P1.5引脚连接到LED灯的正极,P2.0-P2.5引脚连接到LED灯的负极。
(2)将AT89S52单片机的P3.0引脚连接到启动按键的正极,P3.1引脚连接到停止按键的正极。
(3)将AT89S52单片机的VCC和GND引脚分别连接到电源的正极和负极。
2. 软件编程(1)编写主函数,初始化单片机I/O口,设置延时函数。
(2)编写交通灯控制函数,实现红灯、绿灯、黄灯的切换以及车辆通过时间的计时。
(3)编写按键控制函数,实现交通灯的启动和停止控制。
3. 系统调试(1)通过观察LED灯的变化,检查交通灯控制函数的正确性。
(2)通过按键操作,检查启动和停止控制函数的正确性。
(3)调整延时函数,使交通灯时序符合实际需求。
五、实验结果与分析1. 实验结果经过调试,交通控制灯系统能够稳定运行,实现红灯、绿灯、黄灯的切换以及车辆通过时间的计时。
2. 实验分析(1)在硬件设计方面,电路连接简单,元器件选择合理。
(2)在软件设计方面,编程思路清晰,代码结构良好。
交通灯控制实验报告
一、实验目的1. 理解交通灯控制系统的工作原理和基本组成。
2. 掌握PLC(可编程逻辑控制器)编程和调试方法。
3. 学习交通灯控制系统的硬件连接和电路设计。
4. 提高实际应用中解决复杂问题的能力。
二、实验原理交通灯控制系统是城市交通管理的重要组成部分,其基本原理是通过对交通信号灯进行控制,实现交通流量的有序疏导。
本实验采用PLC作为控制核心,通过编写程序实现对交通灯的定时控制。
三、实验器材1. PLC主机2. 交通灯控制模块3. 电源模块4. 交通灯模型5. 连接线四、实验步骤1. 硬件连接:- 将PLC主机与交通灯控制模块、电源模块和交通灯模型连接。
- 将PLC主机与计算机连接,以便进行程序编写和调试。
2. 程序编写:- 根据交通灯控制要求,编写PLC程序。
- 程序主要包括以下部分:- 启动信号处理:检测启动开关状态,控制交通灯开始工作。
- 定时控制:根据设定的时间,控制交通灯的红、黄、绿灯亮灭。
- 紧急处理:检测紧急处理开关状态,实现交通灯的紧急控制。
3. 程序调试:- 在计算机上运行PLC程序,观察程序运行效果。
- 根据实际情况,对程序进行调试和优化。
4. 实验验证:- 在实际硬件环境中运行程序,观察交通灯控制效果。
- 验证程序是否满足实验要求。
五、实验结果与分析1. 实验结果:- 在实验过程中,成功实现了交通灯的控制,实现了红、黄、绿灯的定时切换。
- 在紧急情况下,能够实现交通灯的紧急控制。
2. 结果分析:- 通过实验,掌握了PLC编程和调试方法,提高了实际应用中解决复杂问题的能力。
- 实验结果表明,所设计的交通灯控制系统具有良好的稳定性和可靠性。
六、实验总结本次实验成功实现了交通灯控制系统的设计与实现,达到了预期目标。
通过实验,我们掌握了以下知识点:1. 交通灯控制系统的工作原理和基本组成。
2. PLC编程和调试方法。
3. 交通灯控制系统的硬件连接和电路设计。
本次实验提高了我们的实际应用能力,为以后从事相关领域工作奠定了基础。
交通灯控制器设计报告
交通灯控制器设计报告一.设计目的.(1)初步学习,运用VHDL(Verilog)语言编写模块程序。
(2)巩固课堂所学的组合逻辑电路,时序逻辑电路及其有关的应用,如计数器,分频器等。
(3)提高实践及运用意识。
二.设计任务及要求.利用EDA/SOPC实验开发平台提供的八位七段管码显示模块以及EP2C35核心板,实现交通灯信号控制器。
设交通灯信号控制器用于主干道公路的交叉路口,要求是优先保证主干道的畅通,因此,平时处于“主干道绿灯,支道红灯”状态。
(1)当处于“主干道绿灯,支道红灯”状态:①主干道有车要求通行,支道也有车要求通行时,若主干道通行时间大于等于30秒则切换到“主黄,支红”,4秒后自动切换到“主红,支绿”。
②主干道无车要求通行,支道有车要求通行时,立即切换到“主黄,支红”,4秒后自动切换到“主红,支绿”。
其它情况保持“主绿,支红”状态。
(2)当处于“主干道红灯,支道绿灯”状态:①支道有车要求通行时,保持“主红,支绿”状态,但最多保持30秒然后自动切换到“主红,支黄”状态,4秒后自动切换到“主绿,支红”状态。
②支道无车要求通行时,立即切换到“主红,支黄”状态,4秒后自动切换到“主绿,支红”状态。
(3)利用八位七段管码显示模块其中的2位实现时间显示。
(4)扩展要求:自主设计(如改变时间显示方式,丰富控制逻辑等)三.设计原理及方案.1.总体设计框图2.原理概述:(1)由于主干道,支干道的交通灯均在绿,黄,红三种状态之间有顺序的转换,组合共有四种。
所以,利用状态机按照设定的条件实现“主绿,支红” 、“主黄,支红” 、“主红,支绿”、“主红,支黄”4种状态之间的切换。
(2)因为红黄绿灯之间转换有时间限制,所以要有计数器,可用七段数码管显示模块,由于时间是两位数,所以只需要八位七段管码显示模块其中的2位实现时间显示。
(3)由于实验室提供的基准频率为50MHZ,所以得用分频器得到所需要的频率。
四.电路设计及实现.(1)各模块设计程序及模块图:1定时器定时器由系统秒脉冲和同步计数器构成。
交通信号灯控制器课程设计报告
交通信号灯控制器课程设计报告交通信号灯控制器课程报告一.设计要求1、设计一个交通信号灯控制器,由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。
2、主、支干道交替允许通行,主干道每次放行45秒,支干道每次放行25秒,设立45秒、25秒计时、显示电路。
3、在每次由绿灯亮到红灯亮的转换过程中,要亮5秒黄灯作为过渡。
提示:1、选择1HZ时钟脉冲作为系统时钟。
2、45秒、25秒、5秒定时信号用倒计时,计时起始信号由主控电路给出,每当计满所需时间,计数器清零,由主控电路启、闭三色信号灯或启动另一计时电路。
二.设计思路本设计针对一条主干道和一条支干道汇合成的十字路口,进行南北和东西直行情况下交通灯控制。
根据交通灯的亮的规则,在初始状态下四个方向的都为红灯亮启,进入正常工作状态后,当主干道上绿灯亮时,支干道上红灯亮,持续45S后,主干道和支干道上的黄灯都亮启,持续5S后,主干道上红灯亮启,支干道上绿灯亮启持续25S,之后主干道和支干道上的黄灯都亮启5s,一个循环完成。
循环往复的执行这个过程。
设计中用两组红黄绿LED模拟两个方向上的交通灯,用4个7段数码管分别显示两个方向上的交通灯剩余时间,控制时钟由试验箱上频率信号提供。
根据状态机的设计规范,本次设计了四个状态之间的循环转化,其真值表及状态转化图如下所示目前状态下一状态输出Light1 Light2S0=00 S1=01 001 100 S1=01 S2=10 010 010 S2=10 S3=11 100 001 S3=11 S0=00 010 010S0S3 S1S2三.程序说明1.各输入输出变量说明:clk:计数时钟qclk:扫描显示时钟rst:复位信号,当rst为1时,控制器和计数器回到初始状态en:使能信号,当en为1时控制器开始工作,en为0时hold:特殊情况控制信号,hold为1时,主、支干道方向无条件显示为红灯seg:用于数码管的译码输出dig:用于选择显示的数码管(片选)num1:用于主干道方向灯的时间显示num2:用于支干道方向灯的时间显示light1:控制主干道方向四盏灯的亮灭,其中,light1[0]~light1[2]分别控制主干道方向的绿灯、黄灯和红灯light2:控制支干道方向四盏灯的亮灭,其中,light2[0]~light2[2]分别控制支干道方向的绿灯、黄灯和红灯2.输入输出及中间变量设置:moduletraffic(en,clk,qclk,rst,hold,num1,num2,light1,lig ht2,seg,dig;input en,clk,qclk,rst,hold;output [5:0]dig;output[7:0] num1,num2;output[6:0]seg;output[2:0]light1,light2;reg tim1,tim2;reg[3:0]disp_dat;reg[6:0]seg;reg[7:0]num1,num2;reg[7:0]red1,red2,green1,green2,yellow1,yellow2 ;reg[5:0]dig;reg [1:0]count;reg[1:0]state1,state2;reg[2:0]light1,light2;3.初始状态设置:always @(en)if(!en)begingreen1<=8'b01000101;red1<=8'b00100101;yellow1<=8'b00000101; green2<=8'b00100101;red2<=8'b01000101;yellow2<=8'b00000101;end4.主干道方向点亮顺序:always@(posedge clk) //主干道beginif(rst)beginlight1<=3'b001;num1<=green1;endelse if(hold)beginlight1<=3'b100;num1<=green1;endelse if(en)beginif(!tim1)begintim1<=1;case(state1)2'b00:begin num1<=green1; light1<=3'b001; state1<=2'b01; end2'b01:begin num1<=yellow1; light1<=3'b010; state1<=2'b11; end2'b11:begin num1<=red1; light1<=3'b100; state1<=2'b10; end2'b10:begin num1<=yellow1; light1<=3'b010; state1<=2'b00; enddefault:light1<=3'b100;endcaseendelse //主干道倒数计时beginif(num1>0)if(num1[3:0]==0)beginnum1[3:0]<=4'b1001;num1[7:4]<=num1[7:4]-1;endelse num1[3:0]<=num1[3:0]-1;if(num1==1)tim1<=0;endendelsebeginlight1<=3'b010;num1=2'b00;tim1<=0;endend5.支干道方向点亮顺序:always@(posedge clk) //支干道beginif(rst)beginlight2<=3'b100;num2<=red2;endelse if(hold)beginlight2<=3'b100;num2<=red2;endelse if(en)beginif(!tim2)begintim2<=1;case(state1)2'b00:begin num2<=red2; light2<=3'b100; state2<=2'b01; end2'b01:begin num2<=yellow2; light2<=3'b010; state2<=2'b11; end2'b11:begin num2<=green2; light2<=3'b001; state2<=2'b10;end2'b10:begin num2<=yellow2; light2<=3'b010; state2<=2'b00;enddefault:light2<=3'b100;endcaseendelse //支干道倒数计时beginif(num2>0)if(num2[3:0]==0)beginnum2[3:0]<=4'b1001;num2[7:4]<=num2[7:4]-1;endelse num2[3:0]<=num2[3:0]-1;if(num2==1)tim2<=0;endendelsebeginlight2<=3'b010;state2<=2'b00;tim2<=0;endend6.数码管译码及显示:always @(posedge qclk) //定义上升沿触发进程begincount <= count +1'b1;endalways @( count)begincase(count) //选择扫描显示数据2'd0 : disp_dat <= num1[3:0]; //第一个数码管2'd1 : disp_dat <= num1[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) //选择数码管显示位2'd0 : dig<= 6'b011111;//选择第一个数码管显示2'd1 : dig<= 6'b101111;//选择第二个数码管显示2'd2 : dig <= 6'b110111;//选择第三个数码管显示2'd3 : dig<= 6'b111011;//选择第四个数码管显示default : dig<= 6'b111111;endcaseendalways @(disp_dat)begincase (disp_dat) //七段译码4'b0000 : seg<= 7'b0111111; //显示"0"4'b0001 : seg <= 7'b0000110; //显示"1"4'b0010 : seg<= 7'b1011011; //显示"2"4'b0011 : seg<= 7'b1001111; //显示"3"4'b0100 : seg <= 7'b1100110; //显示"4"4'b0101 : seg<= 7'b1101101; //显示"5"4'b0110 : seg<= 7'b1111101; //显示"6"4'b0111 : seg<= 7'b0000111; //显示"7"4'b1000 : seg <= 7'b1111111; //显示"8"4'b1001 : seg <=7'b1101111; //显示"9"default: seg<= 7'b0111111;//不显示endcaseendendmodule三.仿真波形图四.实物图。
数字系统课程设计-交通灯控制器实验报告
numb=5;
s2=0;
\
end
else
begin
if(numb[3:0] == 0 && numb[7:4]) //逢十时
begin
numb[3:0] = 9;
numb[7:4] = numb[7:4] - 1;
end
…
else
if(numb && numb[3:0])
begin
numb[3:0] = numb[3:0] - 1;
LAMPA=1;//保持在主干道绿灯
end
else if(numa==1&&c==1&&s1)//主干道最短通车时间没到,并且乡村道路有车
begin //主干道变黄灯倒计时变成5秒
s1=0;
[
LAMPA =2;
numa = 8'b00000110;//为了配合时钟设置为6秒
end
else
begin
if(numa[3:0] == 0 && numa[7:4]) //逢十时
主干道与乡村公路十字交叉路口在现代化的农村星罗棋布,为确保车辆安全、迅速地通过,在交叉路口的每个入口处设置了红、绿、黄三色信号灯。红灯禁止通行;绿灯允许通行;黄灯亮则给行驶中的车辆有时间行驶到禁行线之外。主干道和乡村公路都安装了传感器,检测车辆通行情况,用于主干道的优先权控制。
(1)当乡村公路无车时,始终保持乡村公路红灯亮,主干道绿灯亮。
reg[3:0] TAH,TAL,TBH,TBL;
reg[2:0] LAMPA,LAMPB;
always @(posedge CLK or posedge rst ) //该进程控制主道方向的四种灯
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
交通灯控制器课程设计报告Company number:【0089WT-8898YT-W8CCB-BUUT-202108】河南科技大学课程设计报告课程名称__单片机原理课程设计_题目名称_ 交通灯控制器设计学生学院 ___ 信息工程学院_____专业班级 ___ 自动化114 __学号学生姓名 __ _ ___ ___指导教师 __ _ _______2014年 6 月 5 日课程设计任务书(指导教师填写)课程设计名称单片机原理学生姓名专业班级自动化114 设计题目交通灯控制器设计一、课程设计目的1.培养学生文献检索的能力,如何利用Internet检索需要的文献资料。
2.培养学生综合分析问题、发现问题和解决问题的能力。
3.培养学生综合运用知识的能力和工程设计的能力。
4.培养学生理论联系实际的能力。
5.提高学生课程设计报告撰写水平。
二、设计内容、技术条件和要求1设计内容交通灯控制器设计主要功能是用单片机控制LED灯模拟指示。
模拟东西南北方向的十字路口交通灯信号控制情况。
以89C51单片机为核心芯片,采用中断方式实现控制。
(1)数码管选用2位共阴极显示的数码管,共4个;(2)东西通行时间为80s,南北通行时间为60s,缓冲时间为3s;2 设计要求•设计单片机最小系统(包括复位按钮、晶振电路等);•绘制实现本设计内容的硬件电路(原理图),系统的组成框图。
•相应的控制状态表;•编写本课程设计内容的软件设计(包含程序流程图和对程序注释)。
•硬件实验部分可选用实验箱测试或Proteus仿真软件实现。
3 总体设计思想(供参考)•利用定时器T0产生每10ms一次的中断,每100次中断为1s;•对两个方向分别显示红、绿、黄灯的剩余时间即可;•用MAX7219芯片实现共阴极显示驱动;•A方向的红灯时间=方向的绿灯时间+黄灯缓冲时间。
4 设计参考交通灯控制器设计有电源电路、单片机主控电路、显示电路、信号灯电路等组成,如图1所示:5 知识点准备:•+5V电源原理及设计;•MAX7219工作原理;•单片机复位电路工作原理及设计(元件选择的依据);•单片机晶振电路工作原理及设计(元件选择的依据);•数码管显示特性、驱动设计及应用;•LM1602液晶显示屏特性、驱动设计及应用;•89C51单片机引脚资源、引脚分配等;•单片机汇编语言及程序设计(中断、延时子程序的设计)。
图1 交通灯控制器设计框图三时间进度安排按教学计划规定,单片机原理课程设计总学时为1周,其进度安排和时间大致分配如下:1.十五周周一至周二查阅资料、进行软、硬件初步设计;2.十五周周三至周四上机调试,发现问题,解决问题,完善课程设计;3.十五周周五总结设计过程,编写课程设计报告书。
四主要参考文献1、何立民. 单片机高级教程.第1版.北京:北京航空航天大学出版社,20012、徐爱钧 KEIL Cx 单片机高级语言编程与uVision2应用实践,北京,电子工业出版社,20043、李全利、仲伟峰、徐军,单片机原理及应用,北京:清华大学出版社,2006五、设计分组及选题安排自动化114班所有学生。
指导教师签字:2014年05月30日单片机课程设计报告一、设计项目简介随着人类科技文明的发展,人们对于日常交通便利的要求在不断地提高。
交通信号灯被看成一种用来指挥交通的工具,当前高精度、多功能、小体积、低功耗,是现代交通信号灯发展的趋势。
本课题设计正是基于这个方向设计一个符合指标要求的模拟交通信号灯控制器。
单片机在电子产品中的应用越来越广泛,特别是51系列的单片机,由于其使用方便、价格低廉等优势,在市场上占有很大的份额。
AT89C51就是51系列中的一个比较成熟的型号,它完全兼容51单片机的指令。
本课题设计是基于单片机技术原理,以单片机芯片AT89C51作为核心控制器,通过硬件电路的制作以及软件程序的编制,设计出的一个模拟交通信号灯控制系统。
该控制系统包括了按键复位电路、定时控制电路、显示电路等几部分的组成。
设计以硬件和软件相结合为指导思想,通过软件编程实现系统大部分功能,电路简单明了,系统稳定性高。
本次课程设计所设计的交通灯控制器实现了以下几点功能:一、显示电路实现显示各方向上红、绿、黄三种交通信号灯的剩余时间。
二、信号灯电路实现显示各路口的红黄绿交通信号灯。
三、按键复位电路实现对信号灯控制器的复位功能。
二、总体设计利用AT89C51单片机,LED灯,共阴极数码管和MAX7219芯片来设计并实现交通灯控制系统,用单片机控制LED灯模拟指示。
模拟东西南北方向的十字路口交通灯信号控制情况,并用MAX7219控制共阴极数码管来倒计时显示红灯、绿灯、黄灯的时间。
利用中断方式实现以上功能,设置定时器T0为工作方式1并装初值来实现数码管中的时间的倒计时。
定时器T0产生每10ms一次的中断,每100次中断为1s;本次交通灯控制器电路有以下几个电路模块组成,电源电路、单片机主控电路、显示电路、信号灯电路,各个电路之间相互联系,并用编程的方式对单片机各个引脚进行定义,从而实现交通灯的功能。
电路的各个模块之间的总体框图如下:◆东西方向红灯灭,同时绿灯亮,南北方向黄灯灭,同时红灯亮,倒计时80秒。
此状态下,东西向禁止通行,南北向允许通行。
◆东西方向绿灯灭,同时黄灯亮,南北方向红灯亮,倒计时3秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
◆南北方向红灯灭,同时绿灯亮,东西方向黄灯灭,同时红灯亮,倒计时60秒。
此状态下,东西向允许通行,南北向禁止通行。
◆南北方向绿灯灭,同时黄灯亮,东西方向红灯亮,倒计时3秒。
此状态下,除了已经正在通行中的其他所以车辆都需等待状态转换。
三、硬件设计AT89C51单片机简介AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。
AT89C2051是一种带2K字节闪烁可编程可擦除只读存储器的单片机。
单片机的可擦除只读存储器可以反复擦除100次。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C2051是它的一种精简版本。
AT89C单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
AT89C51单片机的主要特性与MCS-51 兼容,4K字节可编程闪烁存储器,寿命:1000写/擦循环,数据保留时间:10年,全静态工作:0Hz-24Hz,三级程序存储器锁定,128*8位内部RAM,32可编程I/O线,两个16位定时器/计数器,5个中断源(两个外部中断源和3个内部中断源),可编程串行通道,低功耗的闲置和掉电模式,片内振荡器和时钟电路。
时钟电路:时钟电路的作用是产生单片机工作所需要的时钟脉冲序列。
中断系统:中断系统的作用主要是对外部或内部的终端请求进行管理与处理。
AT89C51共有5个中断源,其中又2个外部中断源和3个内部中断源。
AT89C51系列单片机的内部结构示意图如下:AT89C51主要引脚功能:VCC:电源电压GND:接地P0口:P0口是一组8位双向I/0口。
P0口即可作地址/数据总线使用,又可以作为通用的I/O口使用。
当CPU访问片外存储器时,P0口分时先作低8位地址总线,后作双向数据总线,此时,P0口就不能再作I/O口使用了。
在访问期间激活要使用上拉电阻。
P1口:Pl 是一个带内部上拉电阻的8准位双向I/O口,P1作为通用的I/O口使用。
P2 口:P2 是一个带有内部上拉电阻的8 位准双向I/O 口,P2即可作为通用的I/O口使用,也可以作为片外存储器的高8位地址总线,与P0口配合,组成16位片外存储器单元地址。
P3 口:P3 口是一组带有内部上拉电阻的8 位准双向I/0 口。
P3 口除了作为通用的I/O口使用之外,每个引脚还具有第二功能。
具体如下表所示:RST:复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。
WDT 溢出将使该引脚输出高电平,设置SFR AUXR的DISRT0 位(地址8EH)可打开或关闭该功能。
DISRT0位缺省为RESET输出高电平打开状态。
单片机最小系统设计如下图,其包含晶振电路与复位电路:单片机最小系统MAX7219——共阴极数码管驱动芯片简介:MAX7219是MAXIM公司生产的串行输入/输出共阴极数码管显示驱动芯片,一片MAX7219可驱动8个7段(包括小数点共8段)数字LED、LED条线图形显示器、或64个分立的LED发光二级管。
该芯片具有10MHz传输率的三线串行接口可与任何微处理器相连,只需一个外接电阻即可设置所有LED的段电流。
它的操作很简单,MCU只需通过模拟SPI三线接口就可以将相关的指令写入MAX7219的内部指令和数据寄存器,同时它还允许用户选择多种译码方式和译码位。
此外它还支持多片7219串联方式,这样MCU就可以通过3根线(即串行数据线、串行时钟线和芯片选通线)控制更多的数码管显示。
MAX7129芯片外部引脚分配图各引脚的功能为:DIN:串行数据输入端DOUT:串行数据输出端,用于级连扩展LOAD:装载数据输入CLK:串行时钟输入DIG0~DIG7:8位LED位选线,从共阴极LED中吸入电流SEG A~SEG G DP 7 段驱动和小数点驱动ISET:通过一个10k电阻和Vcc相连,设置段电流MAX7219芯片电路连接图:显示电路:1、八段共阴极数码管:LED显示屏作为大型显示设备的一种,具有亮度高、价格低、寿命长、维护简便等优点。
LED数码管的结构简单,分为七段和八段两种形式,也有共阳和共阴之分。
八段共阴管它有8个发光二极管(比七段多一个发光二极管,用来显示dP,即点),每个发光二极管的阴极连在一起,,一个LED数码管就有I根位选线和8根段选线,要想显示一个数值,就要分别对它们的高低电平来加以控制。
2、发光二极管:根据本设计的特点,红绿灯的显示不可少,红绿灯的显示采用普通的发光二极管。
每个方向上设置红绿黄灯,总共4组。
如果东西红灯亮,那南北方向就是绿灯亮,反之亦然。
总电路设计图:显示效果图:南北通行:东西通行:黄灯显示:四、软件设计中断结束,退出中断,返回五、程序清单# include <># define uchar unsigned char# define uint unsigned int# include ""uchar code tab[] = {0x06, 0x05, 0x03}; 进一步加深了对PROTEUS软件的学习。