单片机实现红绿灯控制
单片机交通灯控制设计演示

单片机交通灯控制设计演示交通灯控制是单片机在交通管理中应用的重要内容之一、在城市交通中,为了确保交通流畅和交通事故的发生率降低,交通灯控制系统的设计和实现必不可少。
本文将介绍一个基于单片机的交通灯控制设计演示。
一、系统设计目标:本交通灯控制系统旨在模拟城市交通灯的工作过程,并能够根据交通流量和道路情况自动调整信号灯的状态,实现交通的有序进行。
二、系统硬件设计:本系统的硬件设计主要包括单片机、红绿灯模块、人车检测模块和显示屏等。
1.单片机:采用常用的微控制器STC89C52作为主控制器,具有较强的计算和控制能力。
2.红绿灯模块:使用LED灯作为红绿灯的信号灯,分别用红色、黄色和绿色的LED灯表示红灯、黄灯和绿灯的状态。
3.人车检测模块:通过红外传感器检测车辆和行人的存在,从而实现交通流量的感知和控制。
4.显示屏:用于显示交通灯的状态和交通流量等信息。
三、系统软件设计:本系统的软件设计主要包括单片机程序和相应的数据处理算法。
1.单片机程序:通过单片机程序控制红绿灯模块的状态和显示屏的显示内容。
程序根据不同的交通流量和道路情况,自动调整交通灯的周期和相位。
2.数据处理算法:通过红外传感器获取的车辆和行人信息,根据一定的算法进行处理并判断交通流量的大小。
根据判断结果,调整交通灯的状态和相位。
四、系统工作流程:1.初始化:启动系统时,进行硬件设备的初始化和相应的参数设置。
2.感知交通流量:红外传感器周期性地检测车辆和行人的存在,并将感测到的信息传输到单片机。
3.交通流量处理:通过数据处理算法,对传感器获取的信息进行处理和判断,得出当前的交通流量情况。
4.灯光控制:根据交通流量情况,单片机程序控制红绿灯模块的状态和显示屏的显示内容。
5.循环运行:以上步骤循环运行,实现交通灯的自动调整和交通流量的感知。
五、系统演示:在演示过程中,模拟车辆和行人的存在,通过手动模拟红外传感器获取相应的信息,然后系统根据模拟的信息进行交通灯的控制。
用单片机控制交通灯源程序代码及流程图

用单片机控制交通灯传统的交通灯控制电路一般由数字电路构成,电路复杂、体积大、成本高。
采用单片机控制交通灯不但可以解决上述问题,而且还具有时间显示功能,非常方便。
下面介绍一种用单片机控制交通灯的方法。
一、硬件硬件电路如附图。
AT89C2051的P1.7~P1.5和P1.3~P1.1直接驱动红、黄、绿灯,利用单片机的串口和二片74LS164串/并转换移位寄存器实现时间显示,七段数码管为共阴管,硬件电路极为简单。
二、软件交通灯有红、黄、绿三种。
红灯亮,停止通行;绿灯亮,允许通行;黄灯亮,作过渡。
红灯亮60秒,绿灯亮55秒,黄灯亮5秒。
每组灯的亮暗状态以2分钟为周期循环,故程序采用主、子程序方式,循环结构。
另外,为了简化电路,红、黄、绿灯采用低电平点亮。
源程序清单如下:ORG0000HSTART:MOVDRTR,#TABMOVSCON,#00HMOVP1,#6CH;点亮红、绿灯MOVR0,#0;R0清零LEFT:INCR0CJNER0,#55,LP0;R0<55,转LP0MOVP1,#6AH;R0=55,点亮红、黄灯LJMPLP1LP0:CJNER0,#60,LP1;R0<60,转LP1MOVP1,#0C6H;R0=60,点亮绿、红灯LJMPRIGHTLP1:LCALLDBDBLCALLDISPLJMPLEFT;20H为1,转LEFTRIGHT:DECR0CJNER0,#5,LP2;R0>0,转LP2MOVP1,#0A6H;R0=5,点亮黄、红灯LJMPLP3LP2:CJNER0,#0,LP3MOVP1,#6CH;R0=0,点亮红、绿灯LJMPLEFTLP3:LCALLDBDBLCALLDISPLJMPRIGHTDBDB:MOVA,R0MOVB,#10DIVABMOVR1,AMOVR2,BRETDISP:MOVA,R2MOVCA,@A+DPTRMOVSBUF,AJNBTI,$;查TI位CLRTIMOVA,R1MOVCA,@A+DPTRMOVSBUF,AJNBT1,$CLRTILCALLDEALYRETDELAY:MOVR3,#09HK1:MOVR4,#100K2:MOVR5,#250K3:DJNZR5,K3DJNZR4,K2KJNZR3,K1RETTAB:DB3FH,06H,5BHDB4FH,66HDB6DH,7DH,07HDB7FH,6FH三.实验电路及连线四.实验说明1.因为本实验是交通灯控制实验,所以要先了解实际交通灯的变化规律。
基于单片机的交通信号灯的控制系统设计

基于单片机的交通信号灯的控制系统设计交通信号灯是城市交通管理中非常重要的一部分,它通过灯光信号来指示道路上车辆和行人的行动。
基于单片机的交通信号灯控制系统可以实现对交通信号的自动控制,并能根据实际交通情况和时间变化进行灵活调整,提高道路交通的效率和安全性。
1.系统设计需求分析:
-实现红、黄、绿三种信号灯的循环显示,时间可设定;
-根据实际交通情况和时间变化,动态调整红、黄、绿三种信号灯的显示时间;
-配备感应器,检测行人和车辆的存在,根据情况自动调整信号灯时间。
2.系统硬件设计:
-选择合适的单片机,如AT89C52;
-使用LED灯作为信号灯显示器件;
-选择适当的传感器,如红外传感器用于检测行人,光敏电阻用于检测车辆;
-选择适当的电路板进行连接。
3.系统软件设计:
-编写单片机的控制程序,实现红、黄、绿三种信号灯的循环显示;
-设定初始的信号灯显示时间;
-利用定时器和中断控制程序,实现对信号灯显示时间的控制,可以根据设定的时间进行调整;
-设定感应器的检测程序,当检测到行人或车辆时,调整信号灯显示时间。
4.系统工作流程:
(1)初始化系统,设定初始的信号灯显示时间;
(2)通过定时器和中断控制程序实现循环显示红绿黄信号灯;
(3)检测行人和车辆的存在,根据情况调整信号灯显示时间;
(4)循环执行步骤2和步骤3,实现自动控制交通信号灯。
5.系统优化方案:
-根据实际交通数据和研究结果,优化信号灯显示时间;
-利用流量监测技术,实时监测道路交通情况,进一步优化信号灯的控制策略;
-可以加入数据通信模块,将采集到的交通数据上传到中央交通管理系统,实现更智能化的交通信号灯控制。
51单片机红绿灯设计报告

51单片机红绿灯设计报告一、设计目的在交通管理中,红绿灯是一种重要的交通设施,能够有效地控制交通流量,保证道路交通的安全和顺畅。
本设计旨在使用51单片机实现一个红绿灯控制系统,通过控制红绿灯的状态来实现交通信号控制。
二、系统设计1.设计原理红绿灯控制系统分为两种模式:定时模式和交通流量感应模式。
在定时模式下,红绿灯会按照预设的时间间隔循环切换;在交通流量感应模式下,通过传感器检测车辆的流量来实现智能控制。
2.硬件设计本设计采用51单片机作为控制核心,配合电路部件包括红绿灯LED 灯、传感器等。
51单片机通过IO口控制LED灯的状态,同时接收传感器信号用于交通流量感应模式。
3.软件设计软件设计主要包含控制程序和交通流量感应算法。
控制程序通过定时器产生中断来实现定时模式下红绿灯的切换;交通流量感应算法通过读取传感器信号来判断是否有车辆通过,进而控制红绿灯的切换。
三、系统实现1.控制程序控制程序主要实现红绿灯状态的切换,包括定时模式和交通流量感应模式的切换逻辑。
在定时模式下,通过定时器中断来实现红绿灯的周期性切换;在交通流量感应模式下,通过传感器信号来判断车辆的流量,并根据流量大小来调整红绿灯的状态。
2.传感器接口传感器接口用于检测车辆的流量,根据传感器的信号来实现对红绿灯状态的控制。
在系统中,传感器可以是红外传感器、光电传感器等,通过检测车辆通过时的信号变化来判断车辆的流量。
3.LED灯控制LED灯控制通过51单片机的IO口来实现,控制红绿灯的状态。
根据控制程序的逻辑,51单片机可以实现红绿灯的亮灭控制,从而实现交通信号的控制。
四、系统优化1.系统稳定性优化为了提高系统的稳定性,在设计中可以加入硬件看门狗等机制来监测系统的运行状态,确保系统正常运行。
2.智能交通流量控制在交通流量感应模式下,可以通过进一步算法优化,实现更加智能的交通流量控制,提高红绿灯的切换效率。
3.软硬件结合优化软硬件结合优化可以进一步提高系统的性能和稳定性,减少系统的延迟,提高交通信号的控制效率。
单片机实现红绿灯控制

单片机实现红绿灯控制概述:红绿灯是城市交通管理中非常重要的设备之一,它通过不同颜色的信号指示交通参与者何时停车和何时通行。
在传统的红绿灯控制中,通常使用机械定时器来控制交通信号的转换。
而现代交通系统中,单片机已经成为了控制红绿灯的主要方法之一,它可以通过程序灵活地控制交通信号的转换,实现更加精确、方便和智能的交通管理。
基本原理:单片机实现红绿灯控制的基本原理是通过控制红绿灯的电源开关来实现信号的转换。
该电源开关可以由单片机的输出引脚触发,从而通过控制电路来控制红绿灯的亮灭状态。
在控制红绿灯的周期中,单片机首先将红灯点亮一段时间,然后再将黄灯点亮一段时间,最后再将绿灯点亮一段时间。
这个周期会不断地循环,以实现红绿灯信号的不断转换。
具体实现:1.硬件连接:首先要将单片机与红绿灯的控制电路连接起来。
可以使用继电器或者晶体管等组件来控制红绿灯的电源开关。
通过控制这些电器元件的通断状态,可以实现红绿灯信号的转换。
2.程序设计:编写程序来实现红绿灯的控制逻辑。
需要设置好红绿灯的亮灭时间和切换周期。
程序中通过控制单片机的输出引脚的高低电位来控制电器元件的通断状态,从而实现红绿灯信号的转换。
案例分析:以8051单片机为例,实现一个红绿灯交替闪烁的控制系统。
以下是一个基本的程序框架:```#include <reg52.h>#define RED_LED P1#define GREEN_LED P2void delay(int ms)int i, j;for (i = 0; i < ms; i ++)for (j = 0; j < 123; j ++); void mainwhile (1)RED_LED=0;//红灯亮GREEN_LED=1;//绿灯灭delay(1000); // 延时1秒RED_LED=1;//红灯灭GREEN_LED=0;//绿灯亮delay(1000); // 延时1秒}```以上是一个简单的红绿灯控制程序,通过循环不断地点亮和熄灭红、绿灯,以实现红绿灯的闪烁效果。
单片机控制交通灯

单片机控制交通灯要实现单片机控制交通灯,首先需要了解交通灯的工作原理和控制方式。
一般的交通灯控制有三种状态:红灯、黄灯和绿灯。
红灯表示停车,黄灯表示准备停车或准备起步,绿灯表示行驶。
下面是一个基本的单片机控制交通灯的程序示例:```c#include<reg52.h>//定义LED端口sbit redLight = P1^0;sbit yellowLight = P1^1; sbit greenLight = P1^2;//定义延时时间#define delayTime 1000void delay(unsigned int ms){ unsigned int i,j;for(i=ms;i>0;i--)for(j=110;j>0;j--);}void init(){//清零redLight = 0;yellowLight = 0;greenLight = 0;}void mn(){init(); //初始化while(1){//红灯redLight = 1;yellowLight = 0; greenLight = 0; delay(delayTime);//黄灯redLight = 0;yellowLight = 1; greenLight = 0; delay(delayTime);//绿灯redLight = 0;yellowLight = 0; greenLight = 1; delay(delayTime); }}```上面的代码使用了8051单片机的开发环境,通过定义三个LED端口,分别控制红、黄、绿三种交通灯的状态。
通过设置不同的IO口状态来控制交通灯的亮灭。
在`init()`函数中,先将所有LED端口设置为低电平,即熄灭状态。
在`mn()`函数中,使用循环控制交通灯额亮灭状态。
先点亮红灯,延时一段时间后熄灭。
然后点亮黄灯,延时一段时间后熄灭。
最后点亮绿灯,延时一段时间后停止。
单片机控制交通灯

单片机控制交通灯标题:单片机控制交通灯交通信号灯作为城市交通管理的重要组成部分,通过控制红绿灯的变化来引导车辆和行人的通行,起到维护交通秩序、提高交通效率的作用。
在现代城市中,越来越多的交通信号灯采用了单片机技术来进行控制,本文将介绍单片机控制交通灯的原理和实现方法。
一、交通灯控制原理交通信号灯一般采用红、黄、绿三种颜色,分别表示停止、警告和通行。
在单片机控制下,交通信号灯的控制可以通过三个IO口实现。
其中,一个IO口控制红灯,一个IO口控制黄灯,一个IO口控制绿灯。
通过控制这三个IO口的高低电平状态,可以实现交通灯的变化。
二、单片机控制交通灯的实现方法为了实现交通灯的自动切换,可以使用定时器中断和状态机两种方法。
1. 定时器中断方法定时器中断方法是通过设置一个定时器,在规定的时间间隔内触发中断,从而实现交通灯的切换。
具体实现步骤如下:(1)初始化定时器:设置定时器的工作模式和计数值,使其在固定时间内触发一次中断。
(2)设置中断优先级:为了确保定时器中断能够正常执行,需要设置中断优先级。
(3)编写中断服务函数:中断服务函数中通过改变IO口的电平状态,来控制交通灯的切换。
2. 状态机方法状态机方法是通过一个状态机来记录当前交通灯的状态,并根据一定的规则不断切换状态,实现交通灯的自动切换。
具体实现步骤如下:(1)定义状态枚举:定义一个枚举类型,用于表示交通灯的不同状态,例如红灯、黄灯、绿灯。
(2)初始化状态机:将状态机的初始状态设置为红灯。
(3)编写状态切换规则:根据交通灯的切换规则,编写代码来实现状态的切换。
(4)控制交通灯:根据状态机的当前状态,通过改变IO口的电平状态,来控制交通灯的切换。
三、单片机控制交通灯的优势相比传统的交通灯控制方法,单片机控制交通灯具有以下几个优势:1. 精确控制:单片机具有较高的计算精度和处理能力,可以精确控制交通灯的时间和变化方式。
2. 灵活性:通过编程修改程序和参数,可以很容易地调整交通灯的控制策略,适应不同的交通状况。
单片机交通信号灯控制技术应用

单片机交通信号灯控制技术应用随着城市交通的日益繁忙,交通信号灯在维护交通秩序和保障行车安全方面起到了至关重要的作用。
在传统的交通信号灯控制中,电路复杂、成本高、操作维护困难等问题使得传统交通信号灯的使用受到了一定的限制。
而单片机作为一种应用广泛的集成电路,具有结构简单、体积小、功耗低等优点,成为了交通信号灯控制技术中不可或缺的一环。
本文将介绍单片机交通信号灯控制技术的应用。
一、单片机交通信号灯控制的原理单片机交通信号灯控制技术基于单片机的程序控制和时间控制。
通过对单片机的编程,可以使交通信号灯按照一定的时间间隔、信号灯顺序进行切换,以实现交通流量的有效控制。
二、单片机交通信号灯控制的电路设计在单片机交通信号灯控制技术中,需要设计一个包含红、黄、绿三个信号灯的电路。
电路的设计需要考虑到交通信号灯的亮灭控制、时间控制等因素。
通过单片机的控制,可以实现各个信号灯的控制逻辑,使其按照规定的顺序和时间进行切换。
三、单片机交通信号灯控制的程序编写在编写单片机交通信号灯控制程序时,需要根据实际需要编写相应的逻辑代码。
通过编写适当的程序,可以使单片机按照规定的时间和顺序控制各个信号灯的亮灭状态,从而实现交通信号灯的正常工作。
四、单片机交通信号灯控制的应用案例单片机交通信号灯控制技术在城市交通中得到了广泛应用。
利用单片机的高效控制能力,可以实现交通信号灯的精确控制,提高交通效率和安全性。
这种技术的应用不仅可以提高交通的通行能力,还可以减少交通事故的发生,有效缓解交通拥堵问题。
五、单片机交通信号灯控制的未来发展随着科技的不断进步,单片机交通信号灯控制技术也在不断发展。
未来,随着智能交通系统的兴起,单片机交通信号灯控制技术将更加智能化和自动化。
通过与其他智能设备的连接和数据交互,交通信号灯的控制将更加精确和高效。
六、结语单片机交通信号灯控制技术的应用为城市交通管理带来了革命性的改变。
通过采用单片机控制,交通信号灯可以实现精确的控制和高效的运行,提高了交通的通行能力和安全性。
单片机控制红绿灯系统方案

单片机控制红绿灯系统方案1.系统硬件设计:-单片机:选用常见的51系列单片机,如AT89C51、STC89C52等,具有较好的性能和稳定性。
-红绿灯模块:选用集成了LED灯和数码管的模块,方便实现红绿灯的亮灭控制,并可通过数码管显示倒计时时间。
-电源模块:为单片机和红绿灯模块提供稳定的电源。
-按钮:设置用于手动切换信号灯状态的按钮。
-电路连接:通过电路连接单片机、红绿灯模块、按钮等硬件模块,并进行相应的引脚连接。
2.系统软件设计:-输入检测:使用单片机的输入引脚,检测按钮按下的信号,并对按钮事件进行中断处理。
-红绿灯控制程序:根据交通信号灯的状态进行控制,如绿灯亮时,红灯、黄灯灭;红灯亮时,绿灯、黄灯灭;黄灯亮时,其他灯均灭。
-倒计时程序:通过单片机的计时器功能实现倒计时功能,控制红绿灯的时间。
-灯光变化显示:根据交通信号灯的状态控制相应的LED灯点亮或熄灭,并通过数码管显示倒计时时间。
-数据保存:通过EEPROM等非易失存储器保存交通灯的灯色状态,以防断电后重启时灯色状态恢复初始值。
3.系统流程设计:-初始化系统:包括初始化单片机、红绿灯模块、按钮等硬件模块,以及设置倒计时时间和初始灯色状态。
-按钮事件处理:当检测到按钮按下时,中断触发相应的按钮事件处理函数,如切换信号灯状态或修改倒计时时间。
-倒计时处理:通过设置计时器的时间间隔来控制倒计时功能,当倒计时时间到达0时,自动切换信号灯状态。
-灯光控制:根据交通灯的状态,通过单片机的输出引脚控制相应的LED灯点亮或熄灭,并通过数码管显示倒计时时间。
-数据保存和恢复:通过EEPROM等非易失存储器保存交通灯的灯色状态,以便断电后系统重启能够恢复到上次的状态。
4.系统功能扩展:-增加红绿灯时间调整功能:通过按钮事件处理函数,实现手动调整红绿灯的时间间隔,以适应交通流量的变化。
-添加外部信号检测功能:通过输入引脚检测外部交通信号灯状态,并根据外部信号优化本系统的红绿灯控制策略。
单片机红绿灯程序完整版2篇

单片机红绿灯程序完整版2篇第一篇:单片机红绿灯程序完整版(上)单片机红绿灯是一个经典的实验案例,它展示了单片机在控制和管理车辆行驶过程中的应用。
通过编写程序,我们可以模拟交通信号灯的运行,实现流畅和安全的交通流。
在这篇文章中,我将详细介绍单片机红绿灯程序的完整版,并向读者提供逐步实现该程序的指南。
我将从前期准备开始,包括所需材料和工具的概述,然后进入程序编写和单片机烧录的具体步骤。
最后,我将展示运行红绿灯程序的效果。
首先,让我们看一下所需的材料和工具。
为了完成这个项目,你将需要一块单片机开发板(如Arduino Uno),几个LED灯(红色、黄色和绿色),杜邦线,以及一台电脑。
需要特别注意的是,开发板和电脑之间需要通过USB线连接,以便将程序烧录到开发板中。
在准备好所有材料后,我们可以开始编写红绿灯程序。
我们将使用C语言来编写程序,并使用Arduino IDE作为代码编辑器。
首先,打开IDE并创建一个新的工程。
然后在代码编辑窗口中输入相关代码。
程序的主要逻辑是模拟交通信号灯的运行。
我们将交替点亮红、黄、绿三个LED灯,并设置不同的时间间隔来模拟红绿灯的变化。
例如,可以将红灯亮5秒钟,黄灯亮2秒钟,绿灯亮5秒钟。
然后,程序将循环执行这个过程,以实现连续的红绿灯变化。
在编写完程序后,我们需要将其烧录到单片机开发板中。
首先,通过USB线将开发板与电脑连接。
然后,在IDE中选择正确的开发板和端口,并点击“上传”按钮。
IDE将自动编译和烧录程序到开发板中。
一旦程序烧录完成,我们可以断开USB线,将开发板连接到电源,然后观察红绿灯的变化。
通过实验,我们可以看到红绿灯不断地在变化。
这个程序模拟了真实的交通信号灯,给我们提供了一个清晰的视觉指示,用于控制和管理车辆的行驶过程。
这个实验不仅展示了单片机的应用能力,还培养了我们对交通规则和安全的意识。
在红色、黄色和绿色的灯光交替运行中,我们可以思考如何实现更多的功能和效果。
单片机实现红绿灯控制

单片机红绿灯设计目录第一章主题背景11.1 总结11.2 设计任务的目的1第 2 章项目论证2第三章原理图及设备说明43.1 组件清单43.2 主要器件管脚图及功能表4第 4 章设计过程84.1秒脉冲器88第一章主题背景1.1 总结红绿灯系统是一个非常重要的环节。
一个科学的红绿灯管理系统,不仅可以尽可能保证交通的畅通,充分利用交通基础设施,方便人们出行,还可以保障人们的出行安全。
随着交通工具的增多和人们出行量的增加,传统的交通管理系统显然不能满足实际需要。
我国正处于高速发展、大变革的时代。
随着城市的不断扩大,农村的空前发展,道路交通将会更加快速的发展,红绿灯是道路的必需品,所以必须有大量的市场来服务社会的发展。
通过对数字电子技术的学习,我做出了这套红绿灯产品,不能保证是最好的或者是最先进的,但符合社会的需要,也是对自己学习的一种考验。
关键词:红绿灯数字电子技术1.2 设计任务的目的(1)一般情况下,马路上的绿灯亮,步道上的红灯亮。
(2)如果小道上有车,6秒后大道由绿变黄,4秒后大道由黄变红,同时小道由红变为绿色。
(3)步道变绿后,如果主干道上的车辆少于3辆,25秒后红灯自动变为黄灯,4秒后道路同时由红灯变为绿灯时间。
(4)如果步道绿灯亮,且步道绿灯25秒未亮,只要高速公路检测到3辆以上车辆等待,步道应立即变黄,然后在 4 秒后变红。
与此同时,道路由红色变为绿色。
第 2 章项目论证红绿灯控制系统原理框图如图1所示,主要由控制器、定时器、倒计时数显、解码器和秒脉冲信号发生器组成。
第二脉冲发生器是系统中定时器的标准时钟信号源,控制正常工作时的黄灯和特殊情况下数码管的闪烁。
解码器输出两组信号灯的控制信号。
驱动电路驱动信号灯工作后,控制器是系统的主要部分,控制解码器的工作。
T R :表示A车道或B车道红灯亮的时间间隔为25秒,即车辆正常通行的时间间隔。
当时间到时,T R =1,否则,T R =0。
TY:表示倒计时到 4秒。
用单片机实现交通灯的控制

用单片机实现交通灯的控制1 系统设计1.1系统设计要求(1)正常情况下,A、B道(A、B道交叉组成十字路口,A是主道,B 是支道)轮流放行,A 道放行60s(其中5s 用于警告),B 道放行30s(其中5s 用于警告)。
(2)一道有车而另一道无车(用按键开关s1、s2 模拟)时,使有车车道放行。
(3)有紧急车辆通过(用按键开关so模拟)时,A、B均为红灯。
1.2系统硬件电路实现(见图1)1.3软件设计(1)软件设计任务:主程序采用查询方式定时,由R2寄存器确定调用0.5s 延时子程序的次数,从而获得交通灯的各种时间。
子程序采用定时器1 方式1 ,查询式定时,定时器定时50ms,R3 寄存器确定50ms循环10次,从而获取0.5s的延时时间。
一道有车另一道无车的中断服务程序首先要保护现场,因需用到延时子程序和P1 口,帮需保护的寄存器有R3、P1、THI 和TL1,保护现场时还需关中断,以防止高优先级中断(紧急车辆通过所产生的中断)出现时导致程序混乱。
然后,开中断,由软件查询P3.0 和P3.1 口.判别哪一道有车,再根据查询情况执行相应的服务。
待交通灯信号出现后,保持5s 的延时,然后关中断,恢复现场,再开中断,返回主程序。
紧急车辆出现时的中断服务程序也需要保护现场,但无需关中断(因其为高优先级中断) ,然后执行相应的服务,待交通灯信号出现后延时20s,确保紧急车辆通过,然后恢复现场,返回主程序。
(2) 源程序设计ORG 0000HAJMP MAINORG 0003HAJMP AAOORG 0013HAJMP AA1ORG0100HMAIN:SETB PXOMOV TCO,N#00HMOV TMO,D#10HMOV IE,#85HDISP:MOV P1,#0F3HMOV R,2 #6EHDISPl :ACALL DELAYDJNZ R2,DISP1 MOV R,2 #06H WARN:l CPL P1.2 ACALLDELAY DJNZ R2,WARN1 MOV Pl,#0F5H MOV R,2 #04HYEL1:ACALL DELAY DJNZ R2,YEL1 MOV P1,#0DEH MOV R,2 #32H DISP2:ACALL DELAY DJNZ R2,DlSP2 MOV R,2#06H WARN:2 CPL P1.5 ACALL DELAY DJNZ R2,WARN2 MOV P1,#0EEH MOV R,2 #04H YEL2:ACALL DELAY DJNZ R2,YEL2 AJMP DISPAA0:PUSH P1PUSH 03HPUSH TH1PUSH TL1MOV P1,#0F6HMOV R,5 #28HDELAY:O ACALL DELAYDJNZ R5,DELAYOPOP TL1POP TH1POP 03HPOP P1RETIAA1:CLR EAPUSH P1PUSH 03HPUSH TH1PUSH TL1SETB EAJNB P3.0 ,BPMOV P1,#0F3HSJMP DELAY1BP:JNB P3.1 ,EXIT MOV P1,#ODEH DELAY:1 MOV R,6 #OAH NEXT:ACALL DELAY DJNZ R6,NEXT EXIT:CLR EAPOP TL1POP TH1POP 03HPOP P1 SETB EARETIDELAY:MOV R3,#0AH MOV TH,1 #3CHMOV TL1,#0BOHSETB TR1LP1:JBC TF1,LP2SJMP LP1LP2:MOV TH,1 #3CH MOV TL1.#OBOH DJNZ R3,LP1RETEND2 结束语用单片机控制的交通灯控制系统比模拟电路有明显优势,即不用对电路有大改动就可以适应新的工作条件,升级也很方便,只需对CPU重新刷写一次程序就可以了。
单片机课程设计—十字路口交通灯

十字路口交通灯控制一、设计任务及题目要求利用JD51开发板上彩色LED灯做出符合普通十字路口通行逻辑的交通灯,1.东西绿-南北红、东西红-南北绿;2.LED绿-红切换时,黄灯亮并延时3秒;3.数码管前两位显示东西向量倒计时,后两位显示南北向量倒计时。
二、工作原理及设计思路在JD51电路板上有红、绿、黄三种颜色LED灯,自定义选取两组彩灯对其进行逻辑控制。
工作时,先南北绿灯16S、东西红灯19S,然后,南北绿灯转黄灯3S;接着,东西绿灯15S,南北红灯18S,东西绿灯转黄灯3S。
在LED亮的同时两个方向的数码管显示倒计时,东西向一组数码管,南北向一组数码管。
三、硬件电路设计及描述使用JD51电路板上P1^7口的红色LED,P1^6口的黄色LED,P1^5口的绿色LED表示东西向指示灯,P1^4口的红色LED,P1^3口的黄色LED,P1^2口的绿色LED表示南北向指示灯,四位数码管的前两位显示东西向量倒计时,后两位显示南北向量倒计时。
四、软件设计流程及描述五、程序和注释C语言程序:#include<reg52.h>#define uchar unsigned char#define uint unsigned int//定义位变量sbit RED_A=P1^7; //东西向指示灯sbit YELLOW_A=P1^6;sbit GREEN_A=P1^5;sbit RED_B=P1^4; //南北向指示灯sbit YELLOW_B=P1^3;sbit GREEN_B=P1^2;sbit en=P2^5; //573片选使能uchar code table[]={0xc0,0xf9,0xa4,0xb0,0x99,0x92,0x82,0xf8,0x80,0x90};//共阳0-9不带小数点数表uchar code table_d[]={0x40,0x79,0x24,0x30,0x19,0x12,0x02,0x78,0x00,0x10}; //共阳0-9带小数点数表uchar time[4]={0,0,0,0};//数码管显示00.00初值uchar timec[4]={1,6,1,9};//南北绿初值 16.19uchar timeb[4]={1,5,1,8};//东西绿初值15.18 红灯比绿灯长三秒uchar cp=0;//计数初值int n=0;//C语言延时程序void DelayMS(uint x){ uchar i;while(x--)for(i=0;i<120;i++);//数码管动态扫描程序void display(uchar *p){int i,j=0xFE;//第一位选通for(i=0;i<4;i++){P2=j;P0=*p;DelayMS(3);j=(j<<1)|0x01;//第二位选通if(j==0xEF);p++;}}//中断初始化函数void timer0_initialize(void){ EA=0;//关闭中断TR0=0;//停止计数TMOD=0x01;//T0工作在方式一TL0=0x00;//装入低八位初值TH0=0xEE;//装入低八位初值,定时器溢出产生中断5msPT0=1;//T0中断优先级调制最高ET0=1;//开启T0中断EA=1;//开启总中断TR0=1;//开始计数}//中断服务函数void timer0_isr(void) interrupt 1{ int k;//控制亮灯时间k++;if ((k>=200)&&(k<200*(16+1)))//1秒到16秒,东西绿16秒,南北红16秒{ RED_A=1;YELLOW_A=1;GREEN_A=0;RED_B=0;YELLOW_B=1;GREEN_B=1;}if ((k>=200*(16+1))&&(k<200*(16+4+1)))//16秒到19秒,东西黄3秒,南北红3秒{ RED_A=1;YELLOW_A=0;GREEN_A=1;RED_B=0;YELLOW_B=1;GREEN_B=1;}if ((k>=200*(16+4+1))&&(k<200*(16+4+1+15))) //接下来15秒,东西红15秒,南北绿15秒{ RED_A=0;YELLOW_A=1;GREEN_A=1;RED_B=1;YELLOW_B=1;GREEN_B=0;}if ((k>=200*(16+4+1+15)))//接下来3秒,东西红3秒,南北黄3秒{ RED_A=0;YELLOW_A=1;GREEN_A=1;RED_B=1;YELLOW_B=0;GREEN_B=1;if ((k==200*(16+4+1+18))){ k=0;}}TR0=0;cp++;//数码管逻辑判断if(cp==200){cp=0;if( (time[0]!=0)&&(time[2]!=0)&&(time[1]==0)&&(time[3]==0) ) //非0位-1,为0位变9{time[1]=9;time[3]=9;time[0]--;time[2]--;}else if((time[0]!=0)&&(time[2]!=0)&&(time[1]==0)&&(time[3]!=0)){time[1]=9;time[3]--;time[0]--;}else if((time[0]!=0)&&(time[2]!=0)&&(time[1]!=0)&&(time[3]==0)) {time[1]--;time[3]=9;time[2]--;}else if((time[1]!=0)&&(time[3]!=0)){time[1]--;time[3]--;}else if((time[3]!=0)&&(time[0]==0)&&(time[1]==0)&&(time[2]==0))//熄灭的灯为3. 0变成3{time[0]=0;time[1]=3;time[1]--;time[3]--;}else if((time[3]!=0)&&(time[0]!=0)&&(time[1]==0)&&(time[2]==0)){time[0]--;time[1]=9;time[2]=0;time[3]--;}else if((time[3]!=0)&&(time[0]!=0)&&(time[1]==0)&&(time[2]==0)){time[0]--;time[1]=9;time[2]=0;time[3]--;}else if((time[3]==0)&&(time[0]==0)&&(time[1]!=0)&&(time[2]!=0)){time[0]=0;time[1]--;time[2]--;time[3]=9;}else if((time[3]==0)&&(time[0]==0)&&(time[1]!=0)&&(time[2]==0)) {time[1]--;time[3]=3;time[3]--;}//东西绿与南北绿的转换else if((time[3]==0)&&(time[0]==0)&&(time[1]==0)&&(time[2]==0)) {if(n==0){ time[0]=timec[0];time[1]=timec[1];time[2]=timec[2];time[3]=timec[3];n++;}else if(n==1){time[0]=timeb[0];time[1]=timeb[1];time[2]=timeb[2];time[3]=timeb[3];n=0;}}else{while(1);}}timer0_initialize();}//主函数void main (void){uchar i,dpldata[4];timer0_initialize();en=1;while(1){ for(i=0;i<4;i++) //数码管第二位用带小数点的数表,隔开东西与南北的倒计时{ if(i==1){dpldata[i]=table_d[time[i]];}else{dpldata[i]=table[time[i]];}}display(dpldata);}}汇编语言程序:ORG 0000HJMP MAIN//中断入口地址ORG 000BHMOV TL0,#0B0H//装入初值MOV TH0,#3CHDJNZ R2,EXIT_T0//用寄存器R2装溢出的次数MOV R2,#20 //溢出20次为1秒DEC R3//东西方向计数寄存器DEC R4 //南北方向计数寄存器EXIT_T0:RETIMAIN:MOV TMOD,#01H//T0工作在方式一MOV TH0,#3CH//装入初值MOV TL0,#0B0HMOV R2,#20//设置R2初值为20SETB TR0 //开始计数SETB ET0 //开启T0中断SETB EA//开启总中断MOV SP,#60H//堆栈指针的地址N_B:MOV P1,#0CFH//设置P1口的值MOV R3,#16 //南北绿16SMOV R4,#19 //东西红19SNB_W1:CJNE R3,#0,NB_DISP//判断南北方向绿灯倒计时是否结束,不为0跳到数码管显示SJMP N_B_YNB_DISP:CALL DISPLAYSJMP NB_W1N_B_Y:CPL P1.5//熄灭南北绿灯NB_W2:MOV R3,#0CJNE R4,#0,NB_DISP2//判断东西红灯是否结束JMP D_XNB_DISP2:CPL P1.6CALL DISPLAYSJMP NB_W2D_X:MOV P1,#07BHMOV R3,#18 //东西红18sMOV R4,#15 //南北绿15SDX_W1:CJNE R4,#0,DX_DISPSJMP D_X_YDX_DISP:CALL DISPLAYSJMP DX_W1D_X_Y:CPL P1.2DX_W2:MOV R4,#0CJNE R3,#0,DX_DISP2JMP N_BDX_DISP2:CPL P1.3CALL DISPLAYSJMP DX_W2DISPLAY:MOV DPTR,#TAB1 //数表中的值送入DPTR MOV A,R3MOV B,#10DIV AB//倒计时/10MOVC A,@A+DPTR//数表送到A中MOV P0,A//A送到P0SETB p2^0//实现位选SETB p2^2MOV P2,#0FEHMOV P2,#0FFHMOV A,BMOVC A,@A+DPTRMOV P0,ASETB p2^0SETB p2^2MOV P2,#0FDHMOV P2,#0FFHMOV A,R4MOV B,#10DIV ABMOVC A,@A+DPTRMOV P0,ASETB p2^0SETB p2^2MOV P2,#0FBHMOV P2,#0FFHMOV A,BMOVC A,@A+DPTRMOV P0,ASETB p2^0SETB p2^2MOV P2,#0F7HMOV P2,#0FFHSETB p2^0SETB p2^2RETTAB1://数码管数表DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H,82H,0F8H,80H,90HEND六、实验结果七、实验心得“纸上得来终觉浅,绝知此事要躬行。
51单片机十字路口红绿灯实验报告

51单片机十字路口红绿灯实验报告引言交通灯是城市交通管理的重要组成部分,而红绿灯是其中最为基本最常见的道路交通信号标志,在现代城市交通系统中得到广泛应用。
那么如何用单片机来设计实现十字路口红绿灯系统呢?本次实验就是为了解决这个问题,实验主要是通过进行对单片机的应用,来探讨单片机在红绿灯系统中的应用。
材料和方法材料:1. 51单片机开发板;2. LED灯,包括3颗红色LED灯、3颗黄色LED灯和3颗绿色LED灯;3. 电阻和跳线;4. 电源适配器。
方法:1. 根据给定的原理图,搭建电路;2. 将单片机与PC机连接,使用Keil和Proteus软件进行编程;3. 连接电源适配器,测试红绿灯系统是否正常工作。
结果与分析本实验通过对给定原理图的电路进行搭建,采用Keil和Proteus软件编程能够将单片机应用于红绿灯系统。
在开发板的数码管和LED灯上,按照预设的顺序可以实现红绿灯的交替亮灭。
当实验中的按钮按下时,系统会从红灯状态切换到绿灯状态,此时绿灯亮起,同时其他颜色的灯都与此时相应的状态相符合。
当绿灯时间到期后,系统会再次切换回红灯状态,并且重新计时。
总的时间是通过函数Delay()语句来实现的。
在实验过程中,我们还修改了程序的部分代码来满足实际道路交通的需求,例如:红绿灯通过倒计时来提示司机剩余时间,同时也可以通过按钮手动操作绿灯实现车道管制等。
该实验在不断的调试过程中得以成功完成。
通过制定的方法和步骤,我们了解了单片机在红绿灯等交通工具中的实际应用,并且得出了相对稳定的实验结果,颇有启示和借鉴意义。
结论在本次实验中,我们成功地将51单片机应用于红绿灯交通系统中,实现了红绿灯状态的正确切换和时间控制。
实验结果表明,通过单片机的编程使红绿灯系统更为灵活和可靠,并且能够满足实际道路交通需求。
将单片机技术应用于红绿灯系统中,将是未来道路交通发展的趋势。
进一步的研究表明,单片机技术的应用将为城市道路交通管理、交通流量控制和空气质量监测等各个方面提供更安全、更快捷、更可靠的解决方案。
基于单片机的交通灯控制系统的设计方案

设计一个基于单片机的交通灯控制系统可以帮助实现交通信号灯的自动控制,提高交通效率和安全性。
以下是一个简要的设计方案:设计方案概述该系统基于单片机(如Arduino、STM32等)实现交通灯的控制,包括红灯、黄灯、绿灯的切换以及定时功能。
通过传感器检测车辆和行人的情况,系统可以根据实际交通情况智能地调整交通灯的状态。
系统组成部分1. 单片机控制模块:负责接收传感器信号、控制交通灯状态,并实现定时功能。
2. 传感器模块:包括车辆检测传感器和行人检测传感器,用于感知交通情况。
3. LED灯模块:用于显示红灯、黄灯、绿灯状态。
4. 电源模块:为系统提供稳定的电源供电。
工作流程1. 单片机接收传感器信号,监测车辆和行人情况。
2. 根据监测结果,控制交通灯状态的切换:红灯亮时其他灯灭,绿灯亮时红灯和黄灯灭,黄灯亮时其他灯灭或闪烁。
3. 实现交通灯状态的定时切换:设定各个灯的持续时间,保证交通信号的周期性切换。
系统特点1. 智能化控制:根据实时交通情况自动调整交通灯状态,提高交通效率。
2. 节能环保:通过定时控制,减少交通信号灯的能耗。
3. 可靠性:采用单片机控制,系统运行稳定可靠。
可扩展功能1. 远程监控:添加通讯模块,实现对交通灯系统的远程监控和控制。
2. 数据记录:添加存储模块,记录交通流量数据,为交通规划提供参考。
3. 多路控制:扩展系统支持多个交通路口的交通信号控制。
通过以上设计方案,可以实现基于单片机的交通灯控制系统,提升交通管理的效率和智能化水平。
设计时需注意硬件选型、软件编程和系统调试,确保系统正常运行并满足实际需求。
单片机课程设计指导红绿灯控制

控制器:单片 机或微控制器
输入设备:传 感器,如红外 传感器、超声
波传感器等
输出设备: LED灯,用于 显示红绿灯状
态
电源:提供系 统所需的电源
电压
通信接口:用 于与上位机或 其他设备进行
通信
保护电路:如 过流保护、过 压保护等,确 保系统安全运
行
软件架构:模块化设计,易于维护和扩展 功能模块:包括交通信号灯控制、交通流量检测、交通信息发布等 通信协议:采用TCP/IP协议进行通信,保证数据传输的稳定性和可靠性 用户界面:提供友好的用户界面,方便用户进行操作和设置
特点:单片机具有体积 小、功耗低、可靠性高、 编程灵活等特点,广泛 应用于各种电子设备中。
应用领域:单片机广 泛应用于工业控制、 智能家居、汽车电子、 医疗电子等领域。
发展趋势:随着科技 的发展单片机的发展历程: 从早期的4位单片 机到现代的32位单 片机
智能交通系统:利用单片机实现交通信号控制、车辆定位、交 通信息管理等功能
添加项标题
发展趋势:随着物联网、大数据等技术的发展,单片机在智能 交通系统中的应用将更加广泛和深入
添加项标题
应用前景:单片机在智能交通系统中的应用可以提高交通效率、 减少交通事故、降低交通污染,具有广阔的应用前景
添加项标题
作用:单片机广泛应用于各种电子设备中,如家电、汽车、工业控制等领域,可以实现各种复杂的控制功能。
特点:单片机具有体积小、功耗低、可靠性高、编程灵活等特点,可以方便地实现各种控制功能。
应用:在红绿灯控制中,单片机可以实时检测交通流量,根据交通状况自动调整红绿灯的切换时间,提高交通效 率和安全性。
单片机分类:根据功能、 性能、应用领域等不同, 可以分为8位、16位、 32位等不同类型。
红绿灯单片机设计报告

红绿灯单片机设计报告1.引言红绿灯是道路交通管理中非常重要的一个部分,在城市交通中起到了引导车辆和行人安全过马路的作用。
本报告将描述我们设计并实现的基于单片机的红绿灯控制系统。
2.设计目标我们的设计目标是通过单片机控制红绿灯的亮灭,以实现道路交通的规范和安全。
具体来说,我们希望达到以下几点目标:1. 实现灯光状态的自动切换,模拟真实红绿灯的工作原理;2. 设计可调节的时间参数,以便根据交通流量的不同调整红绿灯的切换时间;3. 添加手动控制功能,以便交警在需要时手动控制红绿灯。
3.设计思路我们采用了基于单片机的设计方案,通过控制单片机的输入输出口使得灯光的状态切换符合规定的时间间隔。
具体的设计思路如下:1. 硬件设计:使用单片机作为控制中心,与红绿灯的LED灯和传感器进行连接。
利用传感器检测车辆和行人的情况,通过单片机控制灯光的亮灭。
2. 软件设计:使用C语言编程,通过单片机的输入输出口与红绿灯的LED灯进行控制。
设置计时器和中断来实现灯光状态的自动切换,同时通过检测传感器状态实现手动控制功能。
4.实施与测试4.1 硬件实施我们采用了Arduino Uno单片机作为控制中心,连接了红绿灯的LED 灯和传感器。
通过面包板和杜邦线进行连接。
将红绿灯的LED灯连接到单片机的输出口,传感器连接到单片机的输入口。
4.2 软件实施我们使用Arduino开发环境进行程序编写和烧录。
设计了以下几个关键模块的程序:1. 初始化模块:设置输入输出口和计时器的初始化参数;2. 灯光控制模块:根据设定的时间参数控制红绿灯的亮灭;3. 传感器检测模块:检测输入口传感器的状态,根据情况进行手动控制或自动切换;4. 主循环模块:通过轮询的方式检测传感器状态和计时器中断,根据情况调用相应的模块。
4.3 测试与效果我们进行了一系列的测试,包括自动切换时间的调节、传感器检测功能的测试和手动控制功能的测试。
经过测试,我们的系统能够根据设定的时间参数自动切换红绿灯的状态,并能够根据传感器检测到的情况进行手动控制。
单片机控制的交通灯设计

单片机控制的交通灯设计
一、引言
交通灯是控制交通流量的有效途径,它能有效减少交通拥堵,提高交
通安全。
现代交通灯基本要求有简单的控制逻辑,因此可以利用单片机来
控制交通灯。
单片机控制的交通灯由单片机、绿灯、黄灯、红灯和控制电
路等组成,可以根据设定的定时、定周期等各种状态开关控制,从而有效
控制交通流量,提高交通安全。
本文重点介绍了单片机控制的交通灯原理、构成、工作原理和应用,为实现对交通灯的自动化控制提供依据。
二、单片机控制的交通灯原理
单片机控制的交通灯是以单片机为核心,由绿灯、黄灯和红灯这三个
部件为标志牌,以及智能控制电路为辅助构成的一套交通灯系统。
其原理
简单说来,就是将一定的信号变成一定的控制信号来控制交通灯的开关信号,以达到自动化控制的效果。
三、单片机控制的交通灯构成
单片机控制的交通灯由单片机、绿灯、黄灯、红灯和控制电路等组成。
单片机作为核心,用于接收输入信号,并将信号转换为相应的控制信号;
绿灯、黄灯和红灯分别为标志牌,用以指示车辆前行、慢行或停止;控制
电路用于控制绿黄红灯的亮灭,实现整套交通灯的控制。
四、单片机控制的交通灯工作原理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机红绿灯设计目录第1章选题背景 (1)1.1摘要 (1)1.2设计任务目的 (1)第2章方案论证 (2)第3章原理图及器件说明 (4)3.1 元件清单 (4)3.2 主要器件的引脚排列图和功能表 (4)第4章设计过程 (8)4.1 秒脉冲发生器 (8)4.2 控制器 (8)4.3倒计时及数字显示模块 (10)4.3.1 原理 (10)4.3.2 原器件的选择及参数 (10)4.4 译码器 (11)4.6 综合逻辑电路图 (13)第5章仿真调试过程 (13)第6章设计体会及收获 (144)第1章选题背景1.1摘要交通灯系统是一个非常重要的环节,一个科学的交通灯管理系统,既能尽可能的保证交通的顺畅,充分利用交通基础设施,使人们出行便利,又能保证人们的出行安全。
随着交通工具的增多,人们的出行量加大,传统的交通管理系统显然已经不能满足现实的需要,我国正处于高速发展的大变格时代,伴随着城市的日益膨胀,农村前所未有的大发展,公路交通必将更加突飞猛进,交通灯是公路的必需品,因此肯定的大量的市场,服务社会的发展。
通过对数字电子技术的学习,我做了这套交通灯产品,不能保证是最好的,也不是最先进的,但符合社会的需要,也是对自已学习的一个检验。
关键词:交通灯数字电子技术1.2设计任务目的(1)通常情况下,大道绿灯亮,小道红灯亮。
(2)若小道来车,大道经6秒由绿灯变成黄灯,再经过4秒,大道由黄灯变成红灯,同时,小道由红灯变为绿灯。
(3)小道变为绿灯后,若大道来车不到3辆,则经过期作废25秒钟后自动由红灯变为黄灯,再经过4秒,同时,大道由红灯变为绿灯。
(4)如果小道在绿灯亮时,小道绿灯亮的时间还没有到25秒,只要大道检测到已经超过3辆在等候,那么小道应立即变为黄灯,再经过4秒变为红灯,同时,大道由红灯变为绿灯。
第2章方案论证交通灯控制系统的原理框图如图1所示。
它主要由控制器、定时器、倒计时数字显示、译码器和秒脉冲信号发生器等部分组成。
秒脉冲发生器是该系统中定时器的标准时钟信号源,同时控制着正常工作时黄灯与特殊情况下数码管数字的闪烁,译码器输出两组信号灯的控制信号,经驱动电路后驱动信号灯工作,控制器是系统的主要部分,由它控制译码器的工作。
TR: 表示甲车道或乙车道红灯亮的时间间隔为25秒,即车辆正常通行的时间间隔。
定时时间到,TR=1,否则,TR=0。
TY:表示倒计时到4秒。
定时时间到TY=1,否则,TY=0。
图2-1 交通灯控制系统的原理框图红红图2-2 交通灯运行状态图两方向车道的交通灯的运行状态共有4种,如图2所示一般十字路口的交通灯控制系统的工作过程如下:(1)甲车道绿灯亮,乙车道红灯亮。
表示甲车道上的车辆允许通行,乙车道禁止通行。
绿灯亮足规定的时间隔25s,定时器发出状态转换信号,使控制器控制译码器转到下一工作状态。
(2)甲车道黄灯亮,乙车道红灯亮。
表示甲车道上未过停车线的车辆停止通行,已过停车线的车辆继续通行,乙车道禁止通行。
黄灯亮足规定时间间隔4s时,定时器发出状态转换信号,使控制器控制译码器转到下一工作状态。
(3)甲车道红灯亮,乙车道绿灯亮。
表示甲车道禁止通行,乙车道上的车辆允许通行,绿灯亮足规定的时间间隔25s时,定时器发出状态转换信号,使控制器控制译码器转到下一工作状态。
(4)甲车道红灯亮,乙车道黄灯亮。
表示甲车道禁止通行,乙车道上位过县停车线的车辆停止通行,已过停车线的车辆停止通行,已过停车线的车辆继续通行。
黄灯亮足规定的时间间隔4s时,定时器发出状态转换信号,使控制器控制译码器转到下一工作状态,即系统又转换到第(1)种工作状态。
交通灯以上4种工作状态的转换是由控制器进行控制的。
设控制器的四种状态编码为00、01、11、10,并分别用S0、S1、S3、S2表示,则控制器的工作状态及功能如下表所示。
表2-1控制器的工作状态及功能表控制器应送出甲、乙车道红、黄、绿灯的控制信号。
为简便起见,把灯的代号和灯的驱动信号合二为一,并作如下规定:HG=1:甲车道绿灯亮;FG=1:乙车道绿灯亮;HY=1:甲车道黄灯亮;FY=1:乙车道黄灯亮;HR=1:甲车道红灯亮;FR=1:乙车道红灯亮;(H代表甲车道,F代表乙车道,G为绿灯,Y为黄灯,R为红灯)第3章原理图及器件说明3.1 元件清单(1)集成元件74LS138一片、N555一片、74LS190两片、74LS47两片、D触发器两个、74LS11两片、74LS21一片、74LS04两片、74LS08两片、74LS27一片(2)共阳极七段数码管两个,红色LED两个,黄色LED两个,绿色LED两个(3)电阻470Ω 20只、47KΩ三只、10KΩ一只(4)电容 10μF两只、22μF一只开关单刀单掷开关一只单刀双掷开关一只3.2 主要器件的引脚排列图和功能表图3-1 74LS138的引脚图输入输出使能选择G1 G2* C B A Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 * 1 * * * 1 1 1 1 1 1 1 10 * * * * 1 1 1 1 1 1 1 11 0 0 0 0 0 1 1 1 1 1 1 11 0 0 0 1 1 0 1 1 1 1 1 11 0 0 1 0 1 1 0 1 1 1 1 11 0 0 1 1 1 1 1 0 1 1 1 11 0 1 0 0 1 1 1 1 0 1 1 11 0 1 0 1 1 1 1 1 1 0 1 11 0 1 1 0 1 1 1 1 1 1 0 11 0 1 1 1 1 1 1 1 1 1 1 1图3-2 N555引脚图图3-3 74LS190引脚图图3-4 74LS190的逻辑功能示意图表3-2 74LS190功能表:输入输出LD CT/U D CP D C B A QD QC QB QA0 * * * d3 d2 d1 d0 d3 d2 d1 d01 0 0 ↑* * * * 加计数1 0 1 ↑* * * * 减计数1 1 * * * * * * 保持图3-5 74LS74引脚图表3-3 74LS74功能表输入输出PR CLR CLK D Q Q*0 1 * * 1 01 0 * * 0 10 0 * * 1* 1*1 1 ↑ 1 1 01 1 ↑0 0 11 1 0 * Q0 Q0*图3-6 74LS47引脚图表3-4 74LS47功能表第4章设计过程4.1 秒脉冲发生器脉冲发生器是由555定时器构成的多谐振荡器,因为控制系统是以秒作为单位,所以用秒脉冲发生器,且其对信号的精度要求不高,这里选用555定时器来构成。
555定时器组成的秒脉冲CP1的周期为:T≈0.7(R1+2*R2)*C,若T=1s,令C=10µF,R1=47kΩ,R2=47 kΩ。
根据计算结果,脉冲发生器设计如图2所示,它向计数电路提供的秒计时CP脉冲,周期可通过下式T1=(R1+R2)CLn2 (式 1)T2=R2Cln2 (式 2)T=T1+T2 (式 3)设定电路原理图。
原理图,波形图如下图所示:47k8347kC210uF4.2 控制器控制器是交通管理的核心,它应该能够按照交通管理规则控制信号灯工作状态的转换。
如下表所示。
选用两个D触发器FF1、FFO做为时序寄存器产生4种状态,控制器状态转换的条件为TR和TY,上电复位后控制器处于Q1n+1Q0n+1= 00状态时,如果TY= 0,则控制器保持在00状态;如果TY=1,则控制器转换到Q1n+1Q0n+1= 01状态。
这两种情况与条件TR无关,所以用无关项”X”表示。
其余情况依次类推,同时表中还列出了状态转换信号ST。
表4-1 控制信号灯工作状态表10k74LS04DQ2图4-2 控制器电路图其中TR,TY 是由两个74LS190的输出端经过逻辑组合形成的两个输出端,如下图所示:TRTY4.3倒计时及数字显示模块4.3.1 原理通过单时钟同步十进制减数器74LS190(2片)来实现25s的。
通过74LS47(2片)译码器连接数码管输出数据。
4.3.2 原器件的选择及参数计数器选用集成电路74LS190进行设计较简便。
74LS190是十进制同步可逆计数器,它具有异步并行置数功能、保持功能。
74LS190没有专用的清零输入端,但可以借助QA、QB、QC、QD的输出数据间接实现清零功能。
译码器采用74LS47(2片)、倒计时显示采用共阳极七段数码管作为显示,它由计数器驱动并显示计数器的输出值。
现选用两个74LS190芯片级联成一个从99倒计到00的计数器,即其中作为个位数的74LS190芯片的CLK接秒脉冲发生器(频率为1),再把个位数74LS190芯片输出端的QD与十位数的74LS190芯片的CLK连起来。
当个位数减到0时,再减1就会变成9, 0(0000)到9(1001)之间QD由0变为1,十位数的74LS190芯片实现减一。
LD引脚的输入信号由十位数74190芯片的QA和QB引脚与十位数74190芯片的QA、QB、QC和QD用六输入或门连起来。
工作开始时,LD为0,计数器预置数25,置完数后,LD变为1,计数器开始倒计时。
当倒计时减到数00时,LD又变为0,计数器又预置数25,之后又倒计时,如此循环下去。
具体接法如下图4.4 译码器系统的输出是在Q1Q0驱动下的6个信号灯,各状态与信号灯的关系由表5给出,电路图见下图。
因此,得到灯光信号与控制器状态变量的关系为: 210HG Q Q Q = 210FG Q Q Q = (式7) 210HY Q Q Q = 210FY Q Q Q = (式8)210210HR Q Q Q Q QQ=+ 210210FR Q Q Q Q QQ =+ (式9)Q1Q0HG FR HY FY HR FG图4-5 译码器原理图表4-2 74LS138D 功能表正常工作时单刀双掷开关掷向低电平,系统工作在S0~S3状态,特殊情况下单刀双掷开关掷向高电平,系统工作在S4~S7状态在实现特殊情况与正常工作状态切换时,利用一个单刀双掷开关,其公共端与秒脉冲信号用与非门连接到七段数码管的阳极,来控制特殊情况下七段数码管上数字的闪烁。
同时,再把单刀双掷开关的公共端接非门,再与秒脉冲信号用与门连接到倒计时模块的脉冲信号输入端,实现保持功能。
实际电路图如下:74LS04D秒脉冲输出端号七段数码管的阳极图4-6 特殊功能电路图4.6 综合逻辑电路图图4-6 综合逻辑电路图第5章仿真调试过程在软件调试过程中,我们遇到以下几个问题:(1)在倒计时模块置数方面,无法利用借位端进行置数,最后改用六输入或门与输出端连接进行置数。
(2)在显示译码器选择方面,刚开始选用的是7449(共阴极显示译码器),连接正确但无法正常显示,最终采用74LS47共阳极显示译码器,解决此问题。