课程设计实验报告 交通灯控制功能设计
交通灯控制实验报告
交通灯控制实验报告交通灯控制实验报告引言:交通灯是城市交通管理的重要组成部分,通过对交通流量的控制,有效地维护交通秩序和安全。
本次实验旨在通过搭建一个简单的交通灯控制系统,探究不同交通流量下的信号灯变化规律,并分析其对交通流畅度和效率的影响。
实验装置:实验装置由红、黄、绿三种颜色的LED灯组成,分别代表红灯、黄灯和绿灯。
通过按键控制,可以切换不同灯光的显示状态。
在实验过程中,我们将模拟不同交通流量情况下的信号灯变化。
实验过程:1. 低交通流量情况下:首先,我们模拟低交通流量情况。
设置红灯时间为20秒,绿灯时间为30秒,黄灯时间为5秒。
在这种情况下,红灯的时间较长,确保道路上的车辆能够安全通过。
绿灯时间相对较短,以充分利用交通资源,提高交通效率。
黄灯时间较短,用于过渡信号灯变化。
2. 中等交通流量情况下:接下来,我们模拟中等交通流量情况。
设置红灯时间为30秒,绿灯时间为40秒,黄灯时间为5秒。
在这种情况下,红灯时间相对较长,确保道路上的车辆能够顺利通过。
绿灯时间适中,以保持交通的流畅性。
黄灯时间依然较短,用于过渡信号灯变化。
3. 高交通流量情况下:最后,我们模拟高交通流量情况。
设置红灯时间为40秒,绿灯时间为50秒,黄灯时间为5秒。
在这种情况下,红灯时间最长,确保道路上的车辆能够完全通过。
绿灯时间相对较长,以缓解交通压力,提高交通效率。
黄灯时间仍然较短,用于过渡信号灯变化。
实验结果:通过实验观察,我们发现不同交通流量下的信号灯变化对交通流畅度和效率有着明显的影响。
在低交通流量情况下,红灯时间较长,确保车辆安全通过,但可能导致交通效率稍有降低。
在中等交通流量情况下,信号灯的设置更加平衡,保证了交通的流畅性和效率。
而在高交通流量情况下,红灯时间最长,确保车辆完全通过,但也导致交通效率相对较低。
结论:通过本次实验,我们得出了以下结论:交通灯的设置应根据不同交通流量情况进行合理调整,以保证交通的流畅性和效率。
交通灯实训实验报告
一、实验目的1. 理解交通灯控制系统的工作原理。
2. 掌握使用单片机进行交通灯控制系统的设计与实现。
3. 提高动手实践能力和问题解决能力。
二、实验原理交通灯控制系统通常采用单片机作为核心控制单元,通过编程实现对交通灯的红、黄、绿三种灯光状态的切换。
本实验采用单片机(如STC89C52)作为核心控制单元,利用定时器实现灯光的定时切换,并通过LED灯模拟交通灯的灯光状态。
三、实验器材1. 单片机开发板(如STC89C52开发板)2. LED灯(红、黄、绿各一个)3. 电阻(根据LED灯的规格选择)4. 跳线5. 编程器6. 计算机四、实验步骤1. 硬件连接:- 将红、黄、绿LED灯分别连接到单片机的P1.0、P1.1、P1.2端口。
- 将电阻串联在每个LED灯的两端,防止LED灯过载。
- 将跳线连接到单片机的相关引脚,用于编程和调试。
2. 软件编程:- 使用Keil软件编写单片机程序,实现交通灯的控制逻辑。
- 设置定时器,实现灯光的定时切换。
- 编写主循环程序,根据定时器的值切换LED灯的状态。
3. 程序调试:- 将程序烧录到单片机中。
- 使用示波器或逻辑分析仪观察LED灯的状态,确保程序运行正常。
4. 实验验证:- 将LED灯连接到实际交通灯的位置。
- 启动单片机,观察LED灯的状态是否符合交通灯的控制逻辑。
五、实验结果与分析1. 实验结果:- 红灯亮时,表示禁止通行。
- 绿灯亮时,表示允许通行。
- 黄灯亮时,表示准备切换到红灯。
2. 实验分析:- 通过本次实验,掌握了使用单片机进行交通灯控制系统的设计与实现。
- 了解了定时器在实现灯光切换中的作用。
- 提高了动手实践能力和问题解决能力。
六、实验总结1. 优点:- 实验操作简单,易于上手。
- 理论与实践相结合,提高了学生的动手能力。
2. 不足:- 实验内容较为简单,未能涉及到复杂交通灯控制系统的设计。
- 实验器材较为有限,限制了实验的拓展性。
七、实验拓展1. 研究复杂交通灯控制系统的设计,如多路口交通灯协同控制。
交通灯课程设计实训报告
一、引言随着城市化进程的加快,交通拥堵问题日益严重,交通信号灯作为城市交通管理的重要手段,对于提高道路通行效率、保障交通安全具有重要作用。
为了让学生更好地了解交通信号灯的工作原理和设计方法,我们开展了交通灯课程设计实训。
本文将对实训过程进行总结,并对设计成果进行分析。
二、实训目的1. 熟悉交通信号灯的工作原理和设计方法;2. 学会使用单片机进行交通信号灯控制;3. 提高学生的实践能力和创新能力;4. 培养学生的团队协作精神。
三、实训内容1. 交通信号灯基本原理交通信号灯主要包括红灯、黄灯和绿灯三种颜色,分别代表禁止通行、注意和允许通行。
交通信号灯的基本工作原理是:通过单片机控制信号灯的亮灭,实现交通信号的变换。
2. 单片机交通信号灯控制系统设计本实训采用AT89C52单片机作为核心控制单元,设计了一个十字路口交通信号灯控制系统。
系统主要包括以下部分:(1)硬件电路设计:包括单片机、信号灯模块、按键模块、数码管显示模块等。
(2)软件设计:主要包括初始化程序、主程序和中断服务程序。
3. 交通信号灯控制策略(1)基本控制策略:南北方向绿灯亮时,东西方向红灯亮;南北方向黄灯亮时,东西方向红灯亮;南北方向红灯亮时,东西方向绿灯亮;南北方向红灯亮时,东西方向黄灯亮。
(2)时间控制策略:绿灯亮20秒,黄灯亮4秒,红灯亮24秒。
(3)手动/自动控制策略:通过按键切换手动/自动模式,实现交通信号灯的手动控制。
四、实训过程1. 硬件电路搭建:按照设计要求,将单片机、信号灯模块、按键模块、数码管显示模块等硬件电路连接起来。
2. 软件编程:使用C语言编写单片机程序,实现交通信号灯的控制。
3. 系统调试:对系统进行调试,确保交通信号灯工作正常。
4. 优化设计:根据实际情况,对系统进行优化设计,提高系统性能。
五、实训成果1. 成功设计并实现了十字路口交通信号灯控制系统。
2. 系统具有手动/自动控制功能,可满足实际交通需求。
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课程设计实验报告
目录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。
交通信号灯控制系统设计实验报告
交通信号灯控制系统设计实验报告设计目的:本设计旨在创建一个交通信号灯控制系统,该系统可以掌控红、绿、黄三种交通信号灯的工作,使其形成一种规律的交替、循环、节奏,使车辆和行人得以安全通行。
设计原理:在实际的交通灯系统中,通过交通灯控制器控制交通灯的工作。
一般采用计时器或微电脑控制器来完成,其中微电脑控制器可以方便地集成多种控制模式,并且灵活易于升级。
在本设计中,我们采用了基于Atmega16微控制器的交通信号灯控制系统。
该系统通过定时器中断、串口通信等技术来实现。
由于控制的是三个信号灯的交替,流程如下:绿灯亮:红灯和黄灯熄灭绿灯由亮到灭的时间为10秒黄灯亮:红灯和绿灯熄灭黄灯由亮到灭的时间为3秒红灯亮:绿灯和黄灯熄灭红灯由亮到灭的时间为7秒重复以上过程硬件设计:整个系统硬件设计包含ATmega16控制器、射频芯片、电源模块和4个灯组件。
ATmega16控制器采用DIP封装,作为主要的控制模块。
由于需要串口通信和遥控器控制,因此添加了RF24L01射频芯片。
该射频芯片可以很方便地实现无线通信和小型无线网络。
4个灯组件采用红、绿、黄三色LED灯与对应300Ω电阻并连。
电源模块采用5V稳压电源芯片和电容滤波,确保整个系统稳定可靠。
软件设计:通过ATmega16控制器来实现交通信号灯控制系统的功能。
控制器开始执行时进行初始化,然后进入主循环。
在主循环中,首先进行红灯亮的操作,接着在计时时间到达后执行黄灯亮的过程,然后执行绿灯亮的过程,再到计时时间到的时候执行红灯亮的过程。
每个灯持续时间的计时采用了定时器的方式实现,在亮灯过程中,每秒钟进行一次计数,到达相应的计数值后,切换到下一步灯的操作。
在RF24L01射频芯片的支持下,可以使用无线遥控器来对交通信号灯的控制进行远程控制。
在系统初始化完成后,通过串口通信对RF24L01进行初始化,然后进入控制循环。
在这个控制循环中,接收到遥控器的指令后,进行相应的控制操作,如开、关灯等。
交通灯课程设计报告
交通灯课程设计报告交通灯课程设计报告一、引言交通灯在现代城市交通系统中起着至关重要的作用。
它们是交通管理的重要组成部分,通过引导交通流量和控制道路上的车辆行驶,确保交通安全和秩序。
本课程设计报告将围绕交通灯的设计和实现展开,旨在培养学生的创新思维和实践操作能力。
二、课程目标1. 理解交通灯的原理和作用;2. 掌握交通灯的设计方法和步骤;3. 熟悉交通灯的控制电路和编程逻辑;4. 能够设计和制作一个功能完善的交通灯模型。
三、课程内容1. 交通灯原理介绍交通灯的基本原理,包括红绿灯的颜色及其代表的意义,交通灯的信号控制原则等。
2. 交通灯设计方法详细介绍交通灯设计的步骤,包括灯色、信号序列、倒计时等方面的考虑。
引导学生思考如何根据实际交通情况设计合理的交通灯方案。
3. 交通灯控制电路设计学习交通灯控制电路的基本原理和组成部分,包括电源、信号控制器、灯组等。
通过实践操作,让学生掌握交通灯控制电路的搭建方法。
4. 交通灯程序编写介绍交通灯程序编写的基本原理和逻辑,培养学生的编程思维。
通过使用合适的编程语言,让学生实现交通灯的自动循环控制,以及可调节的时间间隔。
5. 交通灯模型制作指导学生使用合适的材料和工具制作一个真实可行的交通灯模型,模型应包括外壳、灯组、控制电路等。
学生需要根据自己的设计方案进行制作,并确保模型的正常运行。
四、教学方法1. 理论讲解:通过课堂讲解的方式,向学生介绍交通灯的原理、设计方法和控制电路等相关知识。
2. 实践操作:组织学生进行交通灯控制电路的搭建和程序编写,并指导学生进行交通灯模型的制作。
3. 小组讨论:鼓励学生在小组内就交通灯设计方案进行讨论和交流,培养团队合作能力和创新思维。
五、评价方式1. 实践操作成绩:根据学生完成的交通灯模型的外观、功能和稳定性进行评价。
2. 报告撰写:要求学生撰写交通灯课程设计报告,其中包括设计思路、实施过程和结果分析。
六、结语通过本课程设计,学生将深入了解交通灯的原理和作用,掌握交通灯的设计和控制方法。
交通灯设计实验报告(硬件原理图+程序)
交通灯信号灯自动控制系统交通灯原理图一、系统的基本功能要求(1)以秒为计时单位,两位数码管以十进制递减计数形式作定时显示,在递减计数回零瞬间完成换灯操作。
(2)通过键盘红黄绿三色信号灯所亮时间在0~99秒内任意设定。
(3)十字路口的通行起始状态可人工设定,运行中可通过人工干预使十字路口通行状态固定于任何一种工作模式。
硬件设计1.系统总体框图2.电路设计(1)显示模块倒计时与时钟说明:⑴共阴极两位数码管用于倒计时;段选端由锁存器控制,位选端用P3_0与P3_1控制⑵两个四位共阴极数码组成八位数码管用于时钟显示段位选分别由两个锁存器控制(2)红绿灯模块说明:⑴图为两方向的红绿黄灯,分别接在P0口上,由P0口控制⑵51系列单片机的P0口内部没有集成上拉电阻,加上拉就是提高驱动能力,必须要通过上拉电阻接VCC。
上拉电阻一般接1K的。
(3)键盘模块说明⑴P2键控制功能说明:P2^6 key0绿灯位选择P2^5 key1黄灯位选择P2^4 key2 加1操作P2^3 key3 减1操作P2^2 key4 信号灯状态固定P2^1 key5 信号灯状态切换P2^0 key6时钟时分秒设置键⑵键盘加上拉电阻为了提高驱动能力3.复位电路:4.时钟电路:说明:用12M晶振时电容要选择30p软件部分1、主程序流程图2、时钟初值控制子程序3、绿灯,黄灯初值设置子程序4、时钟控制与倒计时控制时钟,倒计时初值通过键盘输入。
倒计时使用52单片机内部定时器1实现计数,时钟控制部分是使用定时、计数器2实现计时,以秒为基本单位在数码管中显示。
时钟部分:当秒的个位计时到了10,则秒个位清0,同时十位进一,以此类推;倒计时部分显示是则递减显示。
此过程通过判断语句实现。
5、.灯状态控制灯的状态通过键盘扫描控制。
状态固定键按下时,关闭定时器1;再次按下此键时,打开定时器。
状态选择键按下时,程序跳至下一个状态的程序控制部分,从而实现状态改变。
交通灯课程设计报告
5、教学内容
《交通灯课程设计报告》
5.1创意交通灯模型制作
-指导学生运用各种材料制作创意交通灯模型,提高动手操作能力。
-鼓励学生尝试使用环保材料,培养环保意识。
5.2交通灯智能控制技术
-介绍智能交通灯系统的基本原理,如传感器技术、自动控制技术等。
-探讨现有交通灯系统的不足,提出优化方案。
-鼓励学生思考如何通过技术创新来提升交通灯系统的智能性和效率。
2.5课后延伸活动
-安排课后研究任务,让学生调查不同地区的交通灯特点和功能。
-布置创意作业,鼓励学生设计未来智能交通灯系统的蓝图。
3、教学内容
《交通灯课程设计报告》
3.1交通灯电路模拟
-引导学生了解交通灯的基本电路原理,使用简单的电子元件进行电路搭建。
交通灯课程设计报告
一、教学内容
《交通灯课程设计报告》
本节课选自小学四年级信息技术课程中“计算机与生活”章节,教学内容主要包括:
1.认识交通灯:介绍交通灯的组成部分、功能及其在生活中的应用。
2.交通灯编程设计:利用Scratch编程软件,设计一个简单的交通灯控制系统。
3.交通灯控制系统原理:了解交通灯控制系统的基本原理,如红绿灯变换规律、行人过马路提示等。
5.5课后拓展研究
-鼓励学生利用网络、图书馆等资源,进行交通灯相关领域的拓展研究。
-布置研究性学习任务,让学生深入探讨交通灯技术的发展历程及其对未来交通的影响。
4.3交叉学科融合
-探索交通灯设计中的跨学科知识,如物理学、工程学、计算机科学等。
-鼓励学生将不同学科的知识综合运用到交通灯设计项目中。
4.4交通流量分析
交通灯设计实验报告
一、实验目的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中利用扭环循环控制信号灯的亮灭,不容易实现特殊功能状态;利用存储器需要对芯片编码,有时会出现编码混乱的情况,这样会造成电路检测的不便。
(2023)交通灯设计实验报告(一)
(2023)交通灯设计实验报告(一)交通灯设计实验报告实验目的该实验旨在设计一种新型交通灯,以提高路口交通的安全性、高效性和可靠性。
实验背景当前的交通灯系统虽然在一定程度上起到了规范和控制车辆流量的作用,但也存在一些问题,如:•路口拥堵现象普遍,尤其在高峰时间段更加明显;•一些交通灯时间过长,造成车辆等待时间过长,浪费时间和资源;•部分路口交通灯信号错乱、不同步等问题,导致道路交通的混乱和车祸事故频发。
针对以上问题,需要设计一种更为智能化的交通灯系统。
设计理念本设计基于物联网、人工智能等技术,旨在实现以下目标:•基于现有路况和历史流量数据,动态调整交通灯信号时间,避免过长等待和拥堵;•设计交通灯与车辆无线连接,实现智能标识和导航功能,提高车辆通过路口的效率;•通过网络连接交通灯系统,实现自适应和自主控制,避免信号错乱和路况混乱。
实验流程1.确定设计方案并绘制原始草图;2.设计系统图以及各子系统功能模块图,并对其进行优化;3.利用物联网和人工智能技术实现交通灯与车辆的联动;4.设计并实现相关硬件电路、软件程序、以及移动端APP等;5.进行系统整体测试,实现效果评估。
实验成果经过多次实验和测试,本设计方案成功实现了自适应、自主控制、智能导航、智能标识等功能,基本满足设计理念所要求的目标。
总结与展望本设计方案采用了一些前沿的技术和方法,旨在提高交通灯的安全性、高效性和可靠性。
虽然目前我们的系统表现出了良好的效果,但是我们仍然需要不断优化和完善,以达到更为完美的状态。
未来,我们将继续深入探索物联网和人工智能等新技术的应用,进一步优化交通灯的设计和性能,提高其功能和可靠性。
同时,我们也将进一步研究和推广交通智能化技术,为城市交通管理和交通安全事业做出更大的贡献。
参考文献•王锐等. 基于物联网技术的智能交通灯设计[J]. 电子设计工程, 2018, 26(2): 78-80.•李超等. 基于人工智能的交通灯控制算法设计[J]. 江苏电力技术, 2017, 41(9): 129-133.•彭小敏. 基于人工智能与物联网的交通安全管理[J]. 信息通信, 2019, 18(1): 47-50.。
交通灯课程设计报告
交通灯课程设计报告交通灯课程设计报告一、引言交通灯作为道路上重要的交通控制设施之一,对于保障道路交通的安全和顺畅起着重要的作用。
本课程设计旨在通过设计一个交通灯控制系统,深入理解交通灯的原理和设计思路,提高交通灯控制系统的效能和稳定性。
二、设计目的交通灯的主要目的是控制道路上的交通流量,确保各方交通的有序进行,避免交通事故的发生。
传统的交通灯系统采用固定时间的定时控制,而随着道路交通的不断变化,这种控制方式已经越来越难以适应实际需求。
因此,本设计旨在实现一个智能化的交通灯控制系统,通过分析交通流量、优化信号灯时长,并结合实时数据对交通灯进行调整,从而提高道路交通的效率和安全性。
三、设计原理本交通灯控制系统采用基于传感器和控制器的设计原理。
通过在道路上布置传感器,能够实时感应到车辆和人流量的变化,将这些数据传输给控制器进行处理。
控制器根据实时的交通流量情况,结合预设的交通灯时长和优先级设置,通过控制信号灯的亮灭来实现交通的有序进行。
四、设计步骤1. 环境搭建:搭建交通灯控制系统所需的硬件和软件环境,包括传感器、控制器和相关的编程和算法。
2. 传感器布置:在道路上合理布置传感器,确保能够准确感应到车辆和人流量的变化。
3. 数据采集:传感器感应到的数据通过传输线路传输给控制器,控制器进行实时的数据采集和处理。
4. 数据分析:控制器对传感器采集到的数据进行分析和处理,根据实时的交通流量情况进行交通灯时长和优先级的调整。
5. 信号灯控制:控制器通过控制信号灯的亮灭来实现交通的有序进行,确保交通流量的安全和高效。
五、设计效果通过本交通灯控制系统的设计实现,能够有效地优化交通流量,提高道路的通行效率和安全性。
相比传统的固定时间控制系统,本设计能够根据实时的交通状况进行智能化调控,避免道路拥堵和交通事故的发生。
并且通过合理的交通灯时长和优先级设置,可以更好地满足不同道路和路口的交通需求。
六、总结本课程设计通过对交通灯控制系统的智能化升级和优化,能够提高交通流量的效率和安全性。
交通灯控制系统设计-实验报告
交通灯控制系统设计-实验报告
实验目的:设计一个交通灯控制系统,实现对交通灯的自动控制。
实验材料:
1. Arduino UNO开发板
2. 红绿黄LED灯各1个
3. 杜邦线若干
实验原理:
交通灯系统的控制主要是通过控制LED灯的亮灭来实现。
红
色LED灯表示停止,绿色LED灯表示通行,黄色LED灯表
示警示。
通过控制不同LED灯的亮灭状态,可以模拟交通灯
的不同信号。
实验步骤:
1. 将红色LED灯连接到Arduino开发板的数字输出引脚13,
绿色LED灯连接到数字输出引脚12,黄色LED灯连接到数
字输出引脚11。
2. 在Arduino开发环境中编写控制交通灯的程序。
3. 将Arduino开发板与计算机连接,将程序上传到Arduino开
发板中。
4. 接通Arduino开发板的电源,观察交通灯的亮灭状态。
实验结果:
根据程序编写的逻辑,交通灯会按照规定的时间间隔进行变换,实现红绿灯的循环。
实验总结:
通过本次实验,我们设计并实现了一个简单的交通灯控制系统。
掌握了Arduino编程和控制LED灯的方法,加深了对控制系
统的理解。
通过实验,我们发现了交通灯控制系统的重要性和意义,为今后的交通控制提供了一种可行的解决方案。
交通灯控制实验报告
一、实验目的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. 交通灯控制系统的硬件连接和电路设计。
本次实验提高了我们的实际应用能力,为以后从事相关领域工作奠定了基础。
交通灯课程设计报告 (2)
交通灯课程设计报告交通灯课程设计报告1. 课程背景介绍:交通灯是城市交通管理中非常重要的一部分,对交通流量的控制起着至关重要的作用。
交通灯课程设计旨在向学生介绍交通灯的原理、功能和使用,培养学生对交通灯的正确使用和遵守交通规则的意识和能力。
2. 课程目标:- 了解交通灯的原理和功能- 学习交通灯的各种信号表示及其含义- 掌握如何正确使用交通灯- 培养学生在道路交通中的安全意识和行为规范3. 课程内容:- 交通灯的原理和功能介绍:通过讲解交通灯的工作原理和使用目的,让学生了解交通灯在交通管理中的重要性。
- 交通灯的信号表示及含义:介绍不同颜色、形状和图案的交通灯信号的含义,让学生能够正确理解和识别交通灯信号。
- 交通灯的使用方法:培养学生正确使用交通灯的能力,包括在行人过街、车辆通行等情况下的行为规范。
- 交通灯的故障处理:介绍交通灯故障的处理方法,包括暂时无信号时的交通行为规范和如何向相关部门报修。
4. 教学方法:- 讲授:通过课堂讲解交通灯的原理、功能和使用方法。
- 观摩:带领学生观摩交通灯的工作状态和信号表示。
- 案例分析:通过分析不同交通情况下的交通灯使用方法,让学生理解并应用知识。
- 模拟训练:设置交通灯模拟器,并让学生在模拟的道路情境中正确使用交通灯。
5. 评估方式:- 知识测试:考察学生对交通灯的原理、信号表示和使用方法的理解。
- 情景模拟:设置不同交通情况的模拟场景,并要求学生根据交通灯信号进行正确的行为表演。
6. 课程资源:- 交通灯模拟器:用于模拟不同交通情境的交通灯信号。
- 视频资料:用于展示不同交通灯信号的含义和正确使用方法。
- 案例资料:用于分析不同情况下的交通灯使用方法的案例材料。
通过交通灯课程设计,学生能够更加深入地了解交通灯的原理和功能,掌握正确使用交通灯的方法,并且在道路交通中能够遵守交通规则,提高道路交通安全意识,减少交通事故的发生率。
课程设计交通灯实验
课程设计交通灯实验一、教学目标本课程的学习目标主要包括知识目标、技能目标和情感态度价值观目标。
知识目标要求学生掌握交通灯实验的基本原理和操作方法;技能目标要求学生能够运用所学知识进行交通灯实验的设计和实施,提高实验操作技能;情感态度价值观目标要求学生在实验过程中培养团队合作意识,增强对科学实验的兴趣和探究精神。
通过本课程的学习,学生将能够:1.描述交通灯实验的基本原理和操作方法。
2.设计并实施一个简单的交通灯实验。
3.能够与他人合作,共同完成实验任务。
4.表现出对科学实验的兴趣和探究精神。
二、教学内容本课程的教学内容主要包括交通灯实验的基本原理、实验操作步骤、实验结果分析等。
教学内容将按照以下大纲进行安排:1.交通灯实验的基本原理:介绍交通灯实验的工作原理和相关概念。
2.实验操作步骤:讲解并演示交通灯实验的操作步骤,包括实验设备的连接、实验过程的调控等。
3.实验结果分析:分析实验结果,引导学生运用所学知识解释实验现象。
三、教学方法本课程将采用多种教学方法,以激发学生的学习兴趣和主动性。
主要教学方法包括:1.讲授法:讲解交通灯实验的基本原理和操作方法。
2.实验法:引导学生亲自动手进行交通灯实验,提高实验操作技能。
3.讨论法:学生进行小组讨论,分享实验心得和感受。
4.案例分析法:分析实际案例,引导学生运用所学知识解决实际问题。
四、教学资源本课程的教学资源包括教材、实验设备、多媒体资料等。
教材将为学生提供交通灯实验的相关理论知识;实验设备将为学生提供实践操作的机会;多媒体资料将为学生提供实验操作的演示和实验结果的分析。
教学资源的选择和准备将根据教学内容和教学方法的需要进行,以确保教学的顺利进行,并丰富学生的学习体验。
五、教学评估本课程的评估方式将包括平时表现、作业、考试等多种形式,以全面、客观、公正地评价学生的学习成果。
平时表现将主要评估学生在课堂上的参与程度、提问回答等情况;作业将主要评估学生的理论知识和实验操作能力;考试将全面考察学生对交通灯实验的理论知识和实验技能的掌握。
交通灯课程设计报告(必备5篇)
交通灯课程设计报告篇1正常红绿灯运行分有四个模式1.南北方向绿灯通行,东西方向红灯2.南北方向黄灯通行,东西方向红灯3.东西方向绿灯通行,南北方向红灯4.东西方向黄灯通行,南北方向红灯5.执行第一步交通灯课程设计报告篇2本设计主要是介绍了单片机控制下的交通灯控制系统,详细介绍了其硬件和软件设计,并对其各功能模块做了详细介绍,其主要功能和指标如下:东西、南北两干道交于十字路口,各干道有一组红、绿、黄三个指示灯,指挥车辆和行人安全通行。
南北方向为主干道,通行时间为12秒;东西方向为支干道,通行时间为9秒。
通行时间最后3秒,绿灯灭,黄灯闪烁,黄灯闪烁完毕变更通行车道。
通行时间由数字显示器显示。
交通灯课程设计报告篇3状态1:南北方向绿灯通行12秒,东西红灯禁止通行15秒,分别倒计时;状态2:南北方向黄灯提醒3秒,东西继续红灯倒计时;状态3:东西方向绿灯通行9秒,南北方向禁止通行12秒;状态4:东西方向黄灯提醒3秒,南北继续红灯倒计时;状态5:执行状态1,反复循环交通灯课程设计报告篇4记住这个点就可以设计软件了。
首先要有时间基础,倒计时从哪来呢?1,延时通过死循环卡主软件的运行来达到延时效果,程序执行效率极低,不可取。
2,定时通过定时器产生时基。
软件设置50ms产生一次定时中断,在中断执行函数中做计数。
50ms执行一次中断函数,通过one_sec_flag累加到20判断时间过去了一秒。
设置一秒标志位scan_flag置一。
在主函数while循环里判断标志位,如果是1,则倒计时计数值减一,即完成了倒计时的软件设计思路交通灯课程设计报告篇5随着时代的进步和发展,单片机技术已经普及到我们生活、工作、科研、各个领域,已经成为一种比较成熟的技术。
本交通灯控制系统利用单片机AT89C51作为核心元件,实现了通过信号灯对路面状况的智能控制。
从一定程度上解决了交通路口堵塞、车辆停车等待时间不合理、急车强通等问题。
系统具有结构简单、可靠性高、成本低、实时性好、安装维护方便等优点,有广泛的应用前景。
课程设计实验报告-交通灯控制功能设计
《微机原理与接口技术》课程设计实验报告题目:交通灯控制功能设计指导老师:专业:信息科学与工程学院班级:自动化0807班日期:2011-1-5目录一、设计思想和实施方案论述,硬件原理图及分析1.1、课程设计名称1.2、课程设计要求1.3、课程设计目的二、设计思想和实施方案论述,硬件原理图及分析2.1、设计思想和实施方案2.2、硬件原理图三、典型模块以及典型编程技巧分析3.1、8086典型模块分析3.2、编程技巧分析四、设计中遇到的问题及解决方法五、程序清单和程序注释,相关流程图5.1程序清单和注释5.2、实验室及流程图六、收获与体会七、参考文献一、设计课程名称及要求1.1、课程设计名称:交通灯控制功能设计。
1.2、课程设计要求:(1)、分别用C语言和汇编语言编程完成硬件接口功能设计;(2)、硬件电路基于80x86微机接口;(3)、程序功能要求:小键盘给定、数码管(屏幕)显示;(4)、同时具备急救车应急响应功能和时间倒计时显示功能。
1.3、课程设计目的:《微机应用系统设计与综合实验(实践)》课程设计是自动化专业本科生必修的一门技术基础课。
通过本课程设计,让学生对微机系统有一个较全面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。
要求同学独立完成课题,写出课程设计说明书,画出电路原理图,说明工作原理,画出电路印制板图,编写设计程序及程序流程图。
二、设计思想和实施方案论述,硬件原理图及分析2.1、设计思想和实施方案:本设计使用了两种方案,一种是采用8086和8255A可编程并行接口实现了交通灯的设计,分别对主干道和支干道显示红灯和绿灯并且计时,采用8254定时器/计数器产生1HZ的脉冲,来控制8259产生中断,从而实现整个电路的设计。
交通灯采用红绿两种发光二极管,主干道亮45s,支干道亮30s,计数的最后5s中绿灯闪烁,用数码管倒计时显示时间,在发生紧急情况时,可以认为用开关控制主干道和支干道红灯均亮,禁止任何车通行。
课程设计交通灯实验
课程设计交通灯实验一、课程目标知识目标:1. 学生能理解交通灯的工作原理,掌握红、黄、绿三灯的控制逻辑。
2. 学生能够运用所学知识设计简单的交通灯控制电路。
3. 学生了解交通灯在生活中的作用,认识到科技与社会生活的紧密联系。
技能目标:1. 学生通过实验操作,提高动手实践能力和问题解决能力。
2. 学生能够运用电路设计软件或工具进行简单电路的设计与搭建。
3. 学生能够在小组合作中,学会沟通与协作,提高团队协作能力。
情感态度价值观目标:1. 学生对科学实验产生兴趣,培养探索精神和创新意识。
2. 学生在实验过程中,学会尊重事实,养成严谨的科学态度。
3. 学生通过实验,认识到交通规则的重要性,增强社会责任感和法制意识。
课程性质:本课程为科学实验课,旨在通过交通灯实验,让学生在实践中学习科学知识,提高动手操作能力和问题解决能力。
学生特点:学生处于五年级阶段,具有一定的科学知识基础,好奇心强,喜欢动手操作,但需要引导和培养团队协作能力。
教学要求:教师应注重理论与实践相结合,关注学生的个体差异,引导学生在实验中发现问题、解决问题,培养学生的创新意识和实践能力。
教学过程中,注重学生知识、技能、情感态度价值观的全面发展。
通过分解课程目标为具体学习成果,便于后续教学设计和评估。
二、教学内容1. 交通灯基础知识:介绍交通灯的起源、发展及其在现代社会中的作用,结合课本相关章节,让学生了解交通灯的基本构成和工作原理。
- 红黄绿三灯的控制逻辑- 交通灯的定时控制原理2. 实验器材与工具:学习并掌握实验所需器材的使用方法,如电子元件(电阻、电容、二极管等)、电路板、电线等。
- 电子元件的认识与使用- 电路板的焊接与搭建3. 交通灯控制电路设计:运用所学知识,设计简单的交通灯控制电路,学会电路调试与故障排查。
- 电路图的绘制- 电路设计与搭建- 故障排查与调试4. 实践操作与小组合作:分组进行实验操作,培养学生的动手实践能力和团队协作能力。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《微机原理与接口技术》课程设计实验报告题目:交通灯控制功能设计指导老师:专业:信息科学与工程学院班级:自动化0807班日期:2011-1-5微机课程设计——交通灯控制系统目录一、设计思想和实施方案论述,硬件原理图及分析1.1、课程设计名称1.2、课程设计要求1.3、课程设计目的二、设计思想和实施方案论述,硬件原理图及分析2.1、设计思想和实施方案2.2、硬件原理图三、典型模块以及典型编程技巧分析3.1、8086典型模块分析3.2、编程技巧分析四、设计中遇到的问题及解决方法五、程序清单和程序注释,相关流程图5.1程序清单和注释5.2、实验室及流程图六、收获与体会七、参考文献2微机课程设计——交通灯控制系统一、设计课程名称及要求1.1、课程设计名称:交通灯控制功能设计。
1.2、课程设计要求:(1)、分别用C语言和汇编语言编程完成硬件接口功能设计;(2)、硬件电路基于80x86微机接口;(3)、程序功能要求:小键盘给定、数码管(屏幕)显示;(4)、同时具备急救车应急响应功能和时间倒计时显示功能。
、课程设计目的: 1.3《微机应用系统设计与综合实验(实践)》课程设计是自动化专业本科生必修的一门技术基础课。
通过本课程设计,让学生对微机系统有一个较全面的理解,对典型数字接口电路的应用技术有一个较深入的掌握,并对应用系统进行硬件原理和软件编程进行分析、设计和调试,达到基本掌握简单微型计算机应用系统软硬件的设计方法,提高项目开发能力的目的。
要求同学独立完成课题,写出课程设计说明书,画出电路原理图,说明工作原理,画出电路印制板图,编写设计程序及程序流程图。
二、设计思想和实施方案论述,硬件原理图及分析2.1、设计思想和实施方案:本设计使用了两种方案,一种是采用8086和8255A可编程并行接口实现了交通灯的设计,分别对主干道和支干道显示红灯和绿灯并且计时,采用8254定时器/计数器产生1HZ的脉冲,来控制8259产生中断,从而实现整个电路的设计。
交通灯采用红绿两种发光二极管,主干道亮45s,支干道亮30s,计数的最后5s 中绿灯闪烁,用数码管倒计时显示时间,在发生紧急情况时,可以认为用开关控制主干道和支干道红灯均亮,禁止任何车通行。
另一种方案是采用单片机来实现的,达到的效果和上述方案相同。
单片机采用定时器T0和T1来触发中断,根据中断优先级的不同,从而可以处理不同的情况,交通灯也是采用红绿两种发光二极管,主干道亮45s,支干道亮30s,计数的最后5s中绿灯闪烁,用数码管倒计时显示时间,在发生紧急情况时,可以认为用开关控制主干道和支干道红灯均亮,禁止任何车通行,在故障清除后,断开开关可以使红绿灯和数码管回到原来的状态继续正常工作。
2.2、硬件原理图:(a)图是基于8086的设计,(b)图是基于单片机的设计。
在(a)图中,可编程并行接口芯片8255A用作输出口,控制红绿灯的亮暗和数码管的计时,定时器/计数器8254采用级联的方式产生1HZ的脉冲,并将此方波接到中断器8259的IR1上,即每秒钟让中断控制器产生依次中断,从而可以执行中断子程序。
在(b)图中,P0口用于接数码管,P1口用于控制红绿灯的亮暗,P2口用于选通数码管,P32为定时器T0的控制端,当P32口为高电平时,定时器T0才会工作,并且T0的中断优先级高于T1,所以可以用于控制紧急情况。
P37口接扬声器,3微机课程设计——交通灯控制系统在计数器T0工作时扬声器就会响。
4微机课程设计——交通灯控制系统5微机课程设计——交通灯控制系统三、典型模块以及典型编程技巧分析3.1、8086典型模块分析:基于8086的设计主要由3个模块构成,其中8255是作为与外部显示电路的接口单元,8254和8259协同工作产生中断作为控制电路。
可编程并行接口芯片8255A通过方式控制字设置成方式0工作模式,A、B、C口均为输出,可编程计数器/定时器8254通过控制字寄存器设置OU0和OU1均为方式3工作模式,通过级联产生1HZ的方波,中断控制器通过初始化命令字设置成边缘触发,8254的OU1口接到8259的IR1端,每秒钟就可以产生一次中断,每次执行中断子程序时使计数减1,从而可以实现倒计时功能,当计数到0时,重新给计数初值赋给,改变灯的状态。
外部开关接8259的IR0端,它的中断优先级别高,设置成边缘触发,当按下开关,产生一个高电平的脉冲,就可以停止原来的状态来执行更高级别的中断子程序,这就可以处理紧急情况,让主干道和支干道都变成红灯。
单片机典型模块分析:基于单片机的设计主要是以51单片机为核心,通过变成开放T0和T1的中断,但T0要在INT0为高电平时计数器T0才会工作。
计数器T1每50ms产生一次中断,每产生20次中断就令数码管的计数减1,当计数减到0时,重新设置数码管的计数初值,这样就可以依次循环工作了。
当P32接高电平时,计数器T0开始工作,此时红灯都亮,扬声器发音,中断结束后还原原来的状态。
3.2、编程技巧分析:基于8086的设计编程语言是汇编语言,这里的几个编程模块就是方波产生模块,数码管显示模块和中断子程序模块。
方波是通过8254级联产生的,设置8254的计时器0和计数器1工作在方式3,设置适当计数初值n 即可,这个模块的程序如下所示:LOOP2: MOV DX,MY8254_MODEMOV AL,0OUT DX,AL ;计数器0,读写16位低高字节,工作方式3,BCD 计数MOV AL,00HMOV DX,MY8254_0OUT DX,ALMOV AL,50OUT DX,ALMOV DX,MY8254_MODEMOV AL,77HOUT DX,AL ;计数器1,读写16位低高字节,工作方式3,BCD 计数MOV AL,8MOV DX,MY8254_1OUT DX,AL6微机课程设计——交通灯控制系统MOV AL,2OUT DX,AL ;1.041667MHZ/2000/1000=1HZ,即计数器输出1HZ的方波数码管的显示是通过调用显示函数实现的,通过设置8255的工作模式,选择数码管的高位工作,然后将计数的高位送到数码管,再选择数码管的低位工作,然后将计数的低位送到数码管,在1s钟内多次扫描就可以消除闪烁,从而达到理想的计数效果,它的程序如下所示:disp PROC NEARC1:MOV DX,MY8255_CMOV AL,0FEH;选通高位数码管OUT DX,ALSUB AH,AHMOV AL,COUNTMOV BL,0AHDIV BL;商寄存在AL中,余数在AH中MOV BX,OFFSET TABXLAT;通过查表找到对应的7段显示字符MOV DX,MY8255_BOUT DX,ALCALL DELAY1msMOV AL,0OUT DX,ALMOV AL,0FDH;选通低位数码管MOV DX,MY8255_COUT DX,ALMOV AL,AHMOV BX,OFFSET TABXLAT;通过查表找到对应的7段显示字符MOV DX,MY8255_BOUT DX,ALCALL DELAY1msMOV AL,0OUT DX,ALMOV AH,1INT 16H;有键按下则跳出JNZ QUITdisp ENDP7微机课程设计——交通灯控制系统中断子程序模块是通过扩充中断源实现的,主要是通过设置8259的工作模式,开放TR1和TR0的中断,按上开关K后,TR0就发生中断,在TR0中断没有触发的情况下,从OU1口输出一个上升沿脉冲,TR1就中断一次,程序如下所示:QUERY: MOV DX,MY8259_OCW3 ;向8259的OCW3发送查询命令MOV AL,0CHOUT DX,ALIN AL,DX ;读出查询字TEST AL,80H ;判断中断是否已响应JZ QUERY ;没有响应则继续查询AND AL,03HCMP AL,00HJE IR0ISR ;若为IR0请求,跳到IR0处理程序JNE IR1ISR ;若为IR1请求,跳到IR1处理程序JMP EOI基于单片机的编程语言是C语言,它主要有数码管显示程序和中断服务子程序。
数码管的显示和上面汇编语言的原理一样,它的程序如下:void display(unsigned char t)//显示数码管函数{P2=0xf5;选通两个高位数码管P0=tab[t/10];取t的十位送到P0口显示delay();P2=0xF0;开通所有的数码管,避免闪烁P2=0xfa;选通低位两个数码管P0=tab[t_x0010_];取t的个位送到P0口显示delay();P2=0xF0;}中断服务子程序有计数器T0和计数器T1的子程序。
T1的优先级低,它主要用于控制正常工作状态的红绿灯和数码管计数,而T0的优先级高,可以处理紧急情况,并且在处理紧急情况以后能返回原正常运行状态,这在汇编里面用的是栈保护,而在C语言中可以设置一个变量也存储原来的数据,可以达到同样保护数据的效果,这一点的实现代码如下:void Time0(void) interrupt 1 using 0{t=0;count1=count;//寄存中断前count的值,以便中断结束后恢复8微机课程设计——交通灯控制系统while(t!=125){t++;sound=~sound;P10=0;//紧急情况绿灯全熄P12=0;P11=1;//紧急情况红灯全亮P13=1;P2=0xF0;//点亮两个数码管count=88;display(count);TH0=(65535-921)/256;TL0=(65535-921)%6;}count=count1;//恢复原来count的值if(a%2==0){P10=1;P11=0;P12=0;P13=1;//返回主干道通行}else{P10=0;P11=1;P12=1;P13=0;//返回主干道通行}}四、设计中遇到的问题及解决方法9微机课程设计——交通灯控制系统1.数码管的计数每秒钟减1,当时不熟练8254的应用,就想用软件延时来实现这个功能,最后查资料的时候知道了计时器的级联应用,很容易的就解决了这个问题。
2.对于数码管的显示,最开始感觉很模糊,查阅资料的时候找到了XLAT表转换指令的应用,首先定义十进制的七段显示码,将表格首地址送入BX,数字的七段码在表格中的偏移量送入AL,然后执行XLAT就可以实现这个功能了。
3.对于要求中的紧急响应功能,开始时只想利用8254来实现,结果失败了,所以我就想到了用两级中断,产生高级中断时就开启紧急响应功能,触发蜂鸣器,点亮红灯。
4.在执行中断程序的过程中,寄存器中的变量好多都改变了,开始时束手无策,最后查资料时想到了栈的运用,利用入栈和出栈来保护寄存器中的初值。