(整理)基于单片机交通灯控制器设计
- 格式:doc
- 大小:419.00 KB
- 文档页数:32
基于单片机的智能交通灯控制器设计一、本文概述随着城市化进程的加快,交通拥堵问题日益严重,智能交通系统的应用与发展成为解决这一问题的关键。
其中,智能交通灯控制器作为交通系统的重要组成部分,对于提高道路通行效率、保障行车安全具有重要意义。
本文旨在设计一种基于单片机的智能交通灯控制器,通过优化算法和硬件设计,实现交通灯的智能控制,以适应不同交通场景的需求,提升城市交通的整体运行效率。
本文将首先介绍智能交通灯控制器的研究背景和意义,阐述现有交通灯控制系统的不足和改进的必要性。
接着,文章将详细介绍基于单片机的智能交通灯控制器的设计方案,包括硬件电路的设计、控制算法的选择与优化等方面。
在此基础上,本文将探讨如何通过软件编程实现交通灯的智能控制,并讨论如何在实际应用中调试和优化系统性能。
文章将总结研究成果,展望智能交通灯控制器在未来的发展方向和应用前景。
通过本文的研究,旨在为城市交通管理提供一种新的智能化解决方案,为缓解交通拥堵、提高道路通行效率提供有力支持。
本文的研究也有助于推动单片机技术和智能交通系统的发展,为相关领域的研究和实践提供有益的参考和借鉴。
二、单片机技术概述单片机,即单片微型计算机(Single-Chip Microcomputer),是一种集成电路芯片,它采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O 口和中断系统、定时器/计时器等功能集成到一块硅片上,构成一个小而完善的微型计算机系统。
单片机以其体积小、功能强、成本低、可靠性高、应用广泛等特点,广泛应用于工业控制、智能仪表、家用电器、医疗设备、航空航天、军事装备等领域。
单片机作为智能交通灯控制器的核心部件,具有不可替代的重要作用。
它负责接收来自传感器的交通信号输入,根据预设的交通规则和算法,快速作出判断,并输出相应的控制信号,以驱动交通信号灯的亮灭和变化,从而实现交通流量的有序控制和疏导。
基于单片机的交通信号灯的控制系统设计交通信号灯是城市交通管理中非常重要的一部分,它通过灯光信号来指示道路上车辆和行人的行动。
基于单片机的交通信号灯控制系统可以实现对交通信号的自动控制,并能根据实际交通情况和时间变化进行灵活调整,提高道路交通的效率和安全性。
1.系统设计需求分析:
-实现红、黄、绿三种信号灯的循环显示,时间可设定;
-根据实际交通情况和时间变化,动态调整红、黄、绿三种信号灯的显示时间;
-配备感应器,检测行人和车辆的存在,根据情况自动调整信号灯时间。
2.系统硬件设计:
-选择合适的单片机,如AT89C52;
-使用LED灯作为信号灯显示器件;
-选择适当的传感器,如红外传感器用于检测行人,光敏电阻用于检测车辆;
-选择适当的电路板进行连接。
3.系统软件设计:
-编写单片机的控制程序,实现红、黄、绿三种信号灯的循环显示;
-设定初始的信号灯显示时间;
-利用定时器和中断控制程序,实现对信号灯显示时间的控制,可以根据设定的时间进行调整;
-设定感应器的检测程序,当检测到行人或车辆时,调整信号灯显示时间。
4.系统工作流程:
(1)初始化系统,设定初始的信号灯显示时间;
(2)通过定时器和中断控制程序实现循环显示红绿黄信号灯;
(3)检测行人和车辆的存在,根据情况调整信号灯显示时间;
(4)循环执行步骤2和步骤3,实现自动控制交通信号灯。
5.系统优化方案:
-根据实际交通数据和研究结果,优化信号灯显示时间;
-利用流量监测技术,实时监测道路交通情况,进一步优化信号灯的控制策略;
-可以加入数据通信模块,将采集到的交通数据上传到中央交通管理系统,实现更智能化的交通信号灯控制。
基于单片机的交通灯控制系统的设计交通灯控制系统是城市交通管理的重要组成部分。
它通过控制红、黄、绿三种颜色的交通灯的亮灭,以实现对交通流量的控制和引导,从而保证交通的安全和顺畅。
在本设计中,我们将使用单片机作为控制核心,通过程序对交通灯进行控制。
以下是我们设计的主要步骤:1.硬件设计部分为了简化电路设计和减少硬件成本,我们可以选择使用单片机进行控制。
在本设计中,我们选择采用常用的51单片机。
此外,还需要LED作为交通灯的灯泡,以及适当的电阻进行限流。
2.电路连接我们需要将单片机的IO口连接到LED灯泡上,以控制其亮灭。
在选用LED时,需要根据单片机输出电压和LED的额定工作电压选择适当的电阻进行串联。
同时,还需要外部的电源供电,并将其与单片机进行接地连接。
3.软件设计基于51单片机的交通灯控制程序大致可以分为两个部分:定时器中断和状态切换控制。
在定时器中断部分,我们可以设置一个定时器,例如每隔1秒触发一次中断。
在中断服务函数中,我们可以实现对交通灯状态的切换。
根据交通灯的工作模式,可以将红灯、黄灯和绿灯对应的IO口设置为高电平、低电平和高电平,以实现灯的亮灭。
通过定时器中断的触发,我们可以控制交通灯的切换速度和亮灭时间。
在状态切换控制部分,我们可以使用状态机的思想来实现。
根据不同的交通场景,我们可以定义一组不同的状态,例如红绿灯交替、黄灯闪烁等。
通过设置变量来记录当前状态,并根据状态的变化来控制交通灯的亮灭。
4.仿真和测试在完成硬件设计和软件编写后,我们可以使用仿真工具对整个系统进行模拟测试。
通过观察仿真结果,可以验证硬件设计和软件程序的正确性。
在完成仿真测试后,我们可以将系统部署到实际的硬件平台上进行实际测试。
通过观察交通灯状态切换是否符合预期,并检查灯的亮灭是否正常,可以判断系统的可靠性和稳定性。
在设计交通灯控制系统时,还需要考虑一些其他因素,例如灯的清晰可见性、防水防尘性能、电路的稳定性等。
毕业论文(设计)论文题目:基于单片机的交通灯控制电路设计学生:董仁龙学号:所在院系:电气信息工程学院专业名称:自动化届次:2011 届指导教师:井田目录摘要: (1)1.设计任务要求及目的 (2)1.1设计任务 (2)1.2基本要求 (2)1.3设计目的 (2)2.设计思路 (3)2.1设计原理: (3)2.2设计方案及其总体设计框图 (3)3.交通灯控制系统的硬件设计 (4)3.1系统硬件电路构成及外部硬件件的选取 (4)3.2系统工作原理 (5)3.3单片机小系统的基本组成及硬件图 (8)3.4外围电路工作原理及系统硬件图 (8)4.系统软件程序的设计 (14)5.课程设计心得体会 (15)6.参考文献 (13)7.附录: (14)8.致谢 (19)基于单片机的交通灯控制电路设计学生:董仁龙(指导老师:井田)(淮南师范学院电气信息工程学院)摘要:实现这井然秩序靠的是交通信号灯的自动指挥系统的交通信号灯控制方式很多。
本系统采用MSC-51系列单片机ATSC51和可编程并行IO接口芯片80C51为中心器件来设计交通灯控制器,完成对A 、B道上均有车辆要求通过时各自顺时放行;在一道有车而另一道无车和有紧急车辆要求通过时,系统做出正确应急控制。
本系统实用性强、操作简单、扩展功能强。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,本系统还应根据具体硬件结构软硬件结合加以完善。
关键词: MSC-51系列单片机ATSC51;交通灯控制器;IO接口芯片1.设计任务要求及目的1.1设计任务(1)单片机最小系统的焊制并以其为核心,设计并制作一个交通灯控制系统。
(2)按设计要求学习并使用Proteus软件绘制电路图。
(3)编写相应程序,按要求实现相应的控制。
(4)已编写的程序用Proteus仿真,对程序进行反复测试。
(5)按要求撰写毕业设计报告。
1.2基本要求(1)A 通道和B通道上均有车辆要求通过时,A、B通道轮流放行。
基于单片机的交通灯控制系统设计交通灯控制系统是城市交通管理的重要组成部分,它通过灯光信号的方式来引导车辆和行人的交通流动,提高道路交通的安全性和效率。
基于单片机的交通灯控制系统设计可以实现对交通灯灯光的控制、时序的调整和故障的检测等功能,下面将对该系统的设计进行详细介绍。
首先,系统将采用单片机作为控制核心,选择一种性能稳定、功能强大的单片机芯片,例如STC89C51单片机。
该单片机具有强大的I/O口、定时器和中断功能,适用于交通灯控制系统的设计和开发。
其次,系统将采用红绿灯的设计,包括车行红灯、车行绿灯、行人红灯和行人绿灯。
通过控制单片机的输出口和定时器,实现灯光的切换和时序的控制。
例如,当车行红灯亮起时,行人绿灯亮起,车行绿灯和行人红灯同时熄灭,车辆停车等待;当车行绿灯亮起时,行人红灯亮起,车行红灯和行人绿灯同时熄灭,车辆可以通行。
此外,系统还需要设置手动模式和自动模式两种工作状态。
在手动模式下,可以手动切换灯光,例如按下按钮切换车行红灯和车行绿灯;在自动模式下,系统将按照预设的时序自动切换灯光,例如每个方向的绿灯亮起时间为30秒,红灯亮起时间为10秒。
为了提高系统的可靠性和可调整性,还可以采用传感器来检测交通流量和车辆排队情况,并根据实际情况动态调整灯光的时序。
例如,当一些方向的车辆排队较多时,可以延长该方向的绿灯时间,以提高交通流畅度。
此外,系统还需要具备故障检测和自动恢复功能。
例如,当一些灯光故障时,系统可以通过检测到异常信号来判断故障情况,并自动切换到备用灯光,通知维修人员进行维修。
在硬件设计方面,除了单片机和灯光模块外,还需要设计电路板、电源供应、按钮、指示灯等部分。
电路板可以通过软件进行设计,包括电源管理、IO口的连接和定时器的设置。
电源供应可以采用稳压电源,保证系统的正常运行。
按钮和指示灯可以通过IO口进行连接,实现对灯光和模式的切换。
总之,基于单片机的交通灯控制系统设计可以实现交通灯灯光的控制、时序的调整和故障的检测等功能,提高了交通管理的自动化程度和可调整性,为城市交通的安全和效率提供了重要的支持。
基于单片机的智能交通红绿灯控制系统设计智能交通红绿灯控制系统是一种基于单片机的电子设备,用于智能化控制交通信号灯的工作。
本文将详细介绍如何设计一套基于单片机的智能交通红绿灯控制系统。
首先,我们需要选择适合的单片机作为控制器。
在选择单片机时,我们需要考虑其功能、性能和价格等因素。
一些常用的单片机型号有8051、AVR、PIC等。
我们可以根据具体的需求选择合适的单片机型号。
接下来,我们需要设计硬件电路。
智能交通红绿灯控制系统的硬件电路主要包括单片机、传感器、继电器和LED等组件。
传感器可以用来感知交通流量和车辆信息,继电器用于控制交通灯的开关,LED用于显示交通灯的状态。
在硬件设计中,我们需要将传感器与单片机相连接,以便将传感器获取的信息传输给单片机。
同时,我们还需要将单片机的控制信号传输给继电器和LED,以实现对交通灯的控制。
在软件设计中,我们需要编写相应的程序代码来实现智能交通红绿灯的控制逻辑。
首先,我们需要对传感器获取的信息进行处理,根据交通流量和车辆信息来确定交通灯的状态和切换规则。
例如,当交通流量较大时,可以延长绿灯亮起的时间;当有车辆等待时,可以提前切换到红灯。
此外,我们还可以在程序中添加自适应控制算法,用于根据交通流量动态调整交通灯的周期和切换时间,以进一步提高交通流量的效率和道路通行能力。
最后,我们需要将程序代码烧录到单片机中,并进行调试和测试。
在测试过程中,我们可以模拟不同的交通流量和车辆信息,以验证智能交通红绿灯控制系统的正常运行和控制效果。
综上所述,基于单片机的智能交通红绿灯控制系统设计主要包括硬件设计和软件设计两个方面。
通过合理的硬件电路设计和程序编写,可以实现对智能交通红绿灯的智能化控制,提高交通流量的效率和道路通行能力,实现交通拥堵的缓解和交通安全的提升。
基于单片机的交通灯信号控制器设计一:功能要求设计一个基于单片机的交通灯信号控制器。
已知东、西、南、北四个方向各有红黄绿色三个灯,在东西方向有两个数码管,在南北方向也有两个数码管。
要求交通灯按照表1进行显示和定时切换,并要求在数码管上分别倒计时显示东西、南北方向各状态的剩余时间。
通过分析可知本次设计要求实现的功能主要包括计时功能、动态扫描以及状态的切换等几部分。
计时功能:要实现计时功能则需要使用定时器来计时,通过设置定时器的初始值来控制溢出中断的时间间隔,再利用一个变量记录定时器溢出的次数,达到定时1秒钟的功能。
当计时每到1秒钟后,东西、南北信号灯各状态的暂存剩余时间的变量减1。
当暂存剩余时间的变量减到0时,切换到下一个状态,同时将下一个状态的初始的倒计时值装载到计时变量中。
开始下一个状态,如此循环重复执行。
根据表1我们可以将其整个过程看做是一个以60秒钟为一个单位的大循环,这个单位又可以细分为4个小的部分,如下图所示:当东西方向为红灯时,南北方向有25秒的绿灯加5秒的红灯组成;当南北方向为红灯时,南北方向有25秒的绿灯加5秒的红灯组成。
这一点在做数码管倒计时显示的时候应该多加注意。
动态扫描:需要使用4个数码管分别显示东西、南北的倒计时数字,将暂存各状态剩余时间的数字从变量中提取出“十位”和“个位”,用动态扫描的方式在数码管中显示。
三:硬件电路图设计硬件protuse仿真电路如图所示。
考虑到现实的情况,东西与南北方向的电路是呈镜像的。
因此只需要考虑斜对称电路中的任何一边。
本电路设计是用P0口的P0.0至P0.5控制南北方向六盏灯,用P1口作数码管的段选,用P2口的前四个端口作为数码管的位选。
具体连接方式见图。
四:代码分析//**************************************************************************// // trafficlight // // (c)copyright luyang // //**************************************************************************// //*****************************文件信息************************************* //**文件名:trafficlight.c//**创建人:卢阳//**联系(QQ):1341679830//**创建日期:2011-02-26//************************************************************************** #include <reg51.h>#define uchar unsigned char#define uint unsigned int//定义全局变量uchar a=0; //东西显示时间的缓存变量uchar b=0; //南北显示时间的缓存变量uchar time=0; //记录循环单位的位置uchar int_time=0;//记录中断的次数uchar clock_a_red=30; //东西定时器初值uchar clock_a_green=25;uchar clock_a_yellow=5;uchar clock_b_red=30; //南北南北计时器初值uchar clock_b_green=25;uchar clock_b_yellow=5;uchar code table[]={ //数码管显示编码0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6f};//延时模块void delayms(uint xms){uint i,j;for(i=xms;i>0;i--)for(j=110;j>0;j--);}//主函数模块void main(){TMOD=0X01;TH1=(65535-50000)/256;TH0=(65535-50000)%256;EA=1;ET0=1;TR0=1;P2=0xff;P1=0x00;while(1){/*数码管显示模块*/P2=0xfe;P1=table[a/10];delayms(1);P2=0xfd;P1=table[a%10];delayms(1);P2=0xfb;P1=table[b/10];delayms(1);P2=0xf7;P1=table[b%10];delayms(1);}}//中断服务模块void T0_tme() interrupt 1{TH1=(65535-50000)/256;TH0=(65535-50000)%256;if(20==int_time++){time++;if(time>=0&&time<25){P0=0xde;a=clock_a_red--;b=clock_b_green--;}else if(time>=25&&time<30){P0=0xee;clock_b_green=25;a=clock_a_red--;b=clock_b_yellow--;}else if(time>=30&&time<55){P0=0xf3;clock_a_red=30;clock_b_yellow=5;a=clock_a_green--;b=clock_b_red--;}else if(time>=55&&time<60){P0=0xf5;clock_a_green=25;a=clock_a_yellow--;b=clock_b_red--;}else{time=0;clock_a_yellow=5;clock_b_red=30;}int_time=0;}}五:问题思考1、代码的继续优化2、显示黄灯时黄灯的闪烁实现3、功能的继续增强……。
基于单片机的交通信号灯的控制系统设计交通信号灯的控制系统是指利用单片机控制交通信号灯的运行和切换。
通过合理的控制,交通信号灯可以按照设定的时序规律切换颜色,以指示交通参与者应该如何行动,从而保证交通的有序进行。
本文将详细介绍基于单片机的交通信号灯控制系统的设计。
首先,我们需要选择适合的单片机。
常用的单片机如8051、AVR、PIC等,均具有较高的集成度和低功耗特性。
我们可以根据项目要求选择合适的单片机。
在本系统中,我们选择了PIC单片机。
接下来,我们需要设计电路。
首先,我们需要一个交通信号灯,包括红、黄、绿三种颜色的LED灯。
为了控制LED的亮灭,我们需要使用适当的电阻限制电流,以及合适的电平转换电路将单片机的输出电压转换为适合LED的电压。
此外,我们还需要设置一个可调电阻来控制LED灯的亮度。
为了保证电路的稳定性和安全性,我们还需要添加适当的过流保护电路和过压保护电路。
然后,我们需要设计程序逻辑。
首先,我们需要定义交通信号灯的状态和时间参数。
交通信号灯的状态一般包括红、黄、绿三个状态,分别对应停止、准备和行进。
时间参数则包括每个状态的持续时间。
根据这些参数,我们可以设计程序逻辑流程,实现交通信号灯状态的切换。
在程序设计中,我们需要使用定时器中断来计时,并根据时间参数切换信号灯状态。
我们还需要使用IO口来控制LED灯的亮灭。
通过编程,我们可以将交通信号灯的切换、亮灭、亮度控制等功能与单片机的硬件结合起来,从而实现交通信号灯的控制。
最后,我们需要进行系统测试和优化。
在测试中,我们可以通过观察LED灯的亮灭、时间参数的调整等来验证系统的正常工作。
如果有需要,我们可以对程序进行优化,以提高系统的稳定性和性能。
综上所述,基于单片机的交通信号灯控制系统设计涉及到硬件电路设计、程序逻辑设计、系统测试和优化等多个方面。
通过合理的设计和控制,我们可以实现交通信号灯的有序运行,为交通参与者提供准确的指引,提高交通的安全性和效率。
基于单片机的交通信号灯控制系统设计
1. 系统设计目标
设计一个基于单片机的交通信号灯控制系统,实现不同方向车辆和行人的交通规划。
2. 系统硬件设计
硬件组成:单片机、LED灯、电源、电阻、电容等。
系统结构:
- 单片机通过IO口控制LED灯显示红、黄、绿三种状态。
- 通过数码管和按钮实现人行道倒数计时和手动切换信号灯的功能。
- 通过外部输入检测传感器实现车辆和行人的检测。
- 接口技术:USB、串口通讯。
3. 系统软件设计
软件设计流程:
- 初始化IO口、定时器等资源。
- 通过程序控制LED灯的开关。
- 利用定时器完成各个状态的时长控制,将绿灯、黄灯和红灯的切换时间控制在合理的范围内。
- 通过IO口读取外部传感器的状态,确定行人和车辆的状态并作出相应的反应。
- 实现手动切换信号灯的功能,红色按钮为停止键,绿色按钮为启动键,通过按照不同的指令来切换信号灯状态。
- 显示人行道倒数计时的时间,可通过数码管显示。
以上就是基于单片机的交通信号灯控制系统的设计。
需要注意的是,在实际的应用中还需要考虑人车流量、路口情况等因素,获得更可靠的结果。
基于单片机控制的交通灯设计摘要:交通信号灯控制方式很多。
本设计主要分为五大模块输入控制电路、时钟控制电路、片内外程序切换控制、显示电路。
关键字:at89c51 led显示交通灯一、交通灯简介假设一个十字路口为东西南北走向。
初始状态0为东西南北灯都熄灭。
然后转状态1东西绿灯通车,南北红灯。
过一段时间转状态2,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
再转状态3,南北绿灯通车,东西红灯。
过一段时间转状态4,南北绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
最后循环至状态1。
利用单片机的定时器定时,令十字路口的红绿灯交替点亮和熄灭,并且用led数码管显示时间。
用十二个发光二极管燃灭,模拟交通灯管理。
二、工程设计(一)、控制方案的确定交通灯控制系统的原理主要由控制器、定时器、译码器和秒脉冲信号发生器等部分组成。
秒脉冲发生器是该系统中定时器和控制器的标准时钟信号源,译码器输出两组信号灯的控制信号,经驱动电路后驱动信号灯工作,控制器是系统的主要部分,由它控制定时器和译码器的工作。
(二)、硬件部分(1)、交通灯控制系统的硬件设计:交通灯控制系统的硬件设计包括:存储器的扩展(62256),i/o口的扩展(8255),地址的锁存(74ls373或74ls273),还有反向器(7407)。
数据缓冲器,i/o控制逻辑,控制和定时寄存器及定时与控制电路,扫描计数器,回复缓冲器,fifo /传感器ram及其状态寄存器,显示ram及显示地址寄存器等组成。
(2)、硬件结构:由存储器,8051系列单片机,交通指示灯等组合。
(3)、交通灯控制系统的原理框图(如图1所示)。
1.定时器定时器由与系统秒脉冲(由时钟脉冲产生器提供)同步的计数器构成,要求计数器在状态信号st作用下,首先清零,然后在时钟脉冲上升沿作用下,计数器从零开始进行增1计数,向控制器提供模5的定时信号ty和模25的定时信号tl。
2.控制器控制器是交通管理的核心,它应该能够按照交通管理规则控制信号灯工作状态的转换。
基于单片机交通灯控制器目录摘要 (1)第一章概述 (2)1.1 设计思想 (2)1.2 交通灯设计方案选择与论证 (2)1.3 设计要求及目的 (3)1.3.1 基本要求 (3)1.3.2 提高要求 (3)1.3.3 设计目的 (3)1.4 交通灯控制系统简要说明 (4)第二章系统总体方案及硬件设计 (5)2.1 主控芯片AT89C51单片机 (5)2. 2 两位八段式数码管 (7)2.3 复位和时钟电路 (9)2.4 其它元件的说明 (10)2.5 总电路的设计 (10)2.5.1 系统电路原理图 (10)2.5.2 总体电路的工作原理 (10)2.5.3 各端口控制作用 (11)第三章软件设计 (13)3.1 交通灯状态的分析 (13)3.2 主程序流程图 (13)3.3 中断程序流程图 (16)第四章 Proteus软件仿真 (17)4.1 仿真过程 (17)4.2 检测与调试 (18)总结 (20)参考文献 (21)致谢 (22)附录1:源程序代码 (23)附录2:元器件明细表 (28).................摘要本设计是交通信号灯控制系统,随着社会的不断的进步,社会的不断发展。
交通也日渐复杂,交通的自动化也不断更新,交通的一些指挥系统光靠人来完成是远远不够的,这就需要设计各种交通指挥自动化系统来完成这些复杂的工作。
从而使交通指挥系统更加有秩序,更加安全。
至此本人设计了交通信号灯控制系统,来指挥十字路口车辆的停通,使红绿灯指挥系统实现自动化,无人化。
该交通灯控制系统控制的是东西和南北两个方向上的车辆通行,系统共采用6个发光二极管来模拟各路交通信号灯,4个LED七段数码管以倒计时的方式显示各个方向上允许通行或禁止通行的信号灯剩余的时间。
停35S,准备5S,之后通行30S,并在东西和南北两个方向上这两种状态不断循环。
此系统核心元件为单片机AT89C51,单片机)的低电压,高性能CMOS8位微处理器,俗称单片机。
该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。
由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。
对其编写相关程序来控制交通信号灯和数码管的时间显示,并采用外部中断来控制紧急情况。
关键词AT89C51芯片;数码管;交通灯第一章概述1.1 设计思想由表(1),可以看出一个大周期的时间为两个红灯的时间,在程序中设一个计数器,当从0计至两个红灯时间时,为一个周期,对其清零,从新下一个周期。
从图上也可以看出,在一个周期内,有四个特殊时间点,这四个特殊时间点是需要换向的,当计数器里的数和四个特殊点相同时,说明至少有一路信号被减到0,需要重新对数据区送数,而且还要把红绿灯的状态换一下。
正常工作时(既没有键按下时),整个主程序只有显示子程序。
其它全放在中断中做。
用T0作为秒信号发生器,当一秒时,计数器加一,然后比较计数器是否和四个特殊点的时间值相同,不相同各数据区的数减一,相同进行相应处理。
其中,紧急状态用了INT0中断,当INT0为低电平时,程序进入紧急状态。
在处理按键时,因为按键的一次动作不仅包含按下,还包含弹开,所以在处理按键,我不仅考虑按下,还考虑弹开,当可靠按下,一边调显示子程序,一边等待键松开,当可靠松开后,才退出子程序。
这样每按下一次键只会有一次动作,而且就是键被按下不松开,也不会也现,数码管没有显示的现象。
1.2 交通灯设计方案选择与论证交通灯控制系统,可由多种电路来构成,我们这里提供三种方案供选择:方案一:由普通的数字电路集成芯片组成这种方案的特点是:硬件设计思路简单,但用元器件多,电路比较复杂,焊接调试容易出错,而且不利于智能控制,调时电路复杂。
方案二:用VHDL语言编程控制这种方案的特点是:硬件设计简单,电路结构清晰,电路比较复杂,VHDL 语言编程控制硬件,可方便的进行仿真,调试。
方案三:单片机控制采用单片机控制,可提高电路的可靠性与稳定性,硬件电路比较简单,主要用软件来控制,控制方式灵活多样,能满足不同情况的控制,可利用中断等方式通过程序来方便的实现调时(如图1-1所示)。
图1-1整机电路设计方案图综合以上三种方案的特点,结合我们自身的知识结构,我们采用方案三,选择常用的51系列单片机构成。
1.3 设计要求及目的1.3.1 基本要求1.采用AT89C51单片机控制交通信号灯;2.以南北方向的交通灯为例,结合实际情况,控制红、黄、绿交通灯的亮和灭;3.红、黄、绿交通灯的亮和灭的时间可调节。
1.3.2 提高要求1.采用LED数码管显示红或绿交通信号灯亮的剩余时间;2.可由拨盘开关强制设置为东西红,南北绿//东西绿,南北红//东西南北都为红;3.控制东西方向和南北方向的红、黄、绿交通灯的亮和灭;4.控制系统的原理图和接线图采用PROTEL等专用绘图软件绘制。
1.3.3 设计目的在该设计中通过学生自主地设计和调试某一简单实际系统,综合应用单片机原理、微机原理、微机接口技术等课程方面的知识,熟练掌握单片机仿真系统的使用方法,达到提高综合应用相关知识的能力,掌握单片机系统设计全部设计过程的目的。
1.4 交通灯控制系统简要说明此系统核心元件为单片机AT89C51,对其编写相关程序来控制交通信号灯和数码管的时间显示,并采用外部中断来控制紧急情况。
系统共采用6个发光二极管来模拟各路交通信号灯,4个LED七段数码管以倒计时的方式显示各个方向上允许通行或禁止通行的信号灯剩余的时间。
停35S,准备5S,之后通行30S,在东西和南北两个方向上这两种状态不断循环。
源程序采用C语言编写,并通过keil软件进行编译,最后倒入AT89C51单片机中,运行系统。
设计好后通过PROTUES软件仿真,并调试。
第二章系统硬件电路设计2.1主控芯片AT89C51单片机1.主要特性·与MCS-51 兼容·4K字节可编程闪烁存储器·寿命:1000写/擦循环·数据保留时间:10年·全静态工作:0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路图2-1 AT89C51芯片管脚2.管脚说明VCC:供电电压。
GND:接地。
图2-1:AT89C51芯片管脚。
P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
P1口:P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL 门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
P3口也可作为AT89C51的一些特殊功能口,如下表所示:表2-1 AT89C51功能表RST:复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE 只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
/PSEN:外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。
但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。
/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。
注意加密方式1时,/EA将内部锁定为RESET;当/EA 端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:来自反向振荡器的输出。
3.振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出。
该反向放大器可以配置为片内振荡器。
石晶振荡和陶瓷振荡均可采用。
如采用外部时钟源驱动器件,XTAL2应不接。
有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。
4.芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。
在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。
此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。
在闲置模式下,CPU停止工作。
但RAM,定时器,计数器,串口和中断系统仍在工作。
在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。
2. 2两位八段式数码管1.单位八段式数码管介绍LED数码有共阳和共阴两种,把这些LED发光二极管的正极接到一块(一般是拼成一个8字加一个小数点)而作为一个引脚,就叫共阳的,相反的,就叫共阴的,那么应用时这个脚就分别的接VCC和GND。