交通灯实习报告
十字路口的交通灯实训报告

十字路口的交通灯实训报告本次实训报告旨在分享我对十字路口交通灯的实训经历和相关观察所得。
通过实操和观察,我深入了解了交通灯的作用以及如何准确、高效地控制交通流量。
以下将详细介绍我在实训过程中的操作,以及对现有交通灯系统的一些观察和建议。
一、实训操作在实训中,我所控制的十字路口交通灯系统包括红灯、黄灯和绿灯。
我按照实训要求,准确地掌握了各个交通信号灯的工作原理和时长。
通过操作交通灯控制面板,我实践了交通信号灯的相序转换,并根据路口车流情况进行调整。
在实训中,我注意到了一些重要的问题和技巧。
首先,我了解到红灯和绿灯的时长应根据路口交通流量进行合理调配,以确保车辆和行人的顺利通行。
其次,黄灯的作用是为车辆和行人提供转换的时间窗口,因此需要根据交通流量和预期停车距离进行设置。
最后,我还学会了处理突发情况的应对策略,例如车辆临时停止或紧急情况下的信号切换。
二、观察与分析在实训过程中,我细致观察了路口交通情况,并进行了分析和总结。
以下是我所观察到的一些问题和现象:1. 路口交通流量的高峰期:根据观察,我发现交通流量通常在上下班时间、学校放学时间以及特定节假日等时间段内达到峰值。
这为灯光控制提供了依据,可以设置较长红灯时长来缓解拥堵情况。
2. 不按交通信号灯行驶的违规行为:偶尔有车辆和行人不遵守交通信号灯的规定,擅自通行或普遍闯红灯。
这对交通安全造成威胁,因此需要更加严格的监管和相关教育措施。
3. 需要增加左转独立信号:通过观察,我发现左转车辆与直行车辆互相影响的情况较为明显。
为提高交通效率和安全性,建议在适当的路口增加独立的左转信号,以减少交通阻塞和事故发生的可能性。
4. 公交优先信号设置:在繁忙路段上,通过设置公交优先信号可以提高公交车的运输效率,缩短乘客的等待时间,并鼓励市民选择公共交通,减少私家车辆数量。
三、改进建议基于以上实训经验和观察,我提出以下改进建议,以改善现有的十字路口交通灯系统:1. 针对高峰期交通流量增加红灯时长:根据实际情况,可以合理延长红灯时长,确保交通流畅,缓解拥堵情况。
关于交通灯的实训报告

一、引言随着我国城市化进程的加快,城市交通压力日益增大。
为了提高城市交通效率,确保交通安全,交通灯控制系统在城市交通管理中发挥着至关重要的作用。
本实训报告以单片机为核心,设计了一套智能交通灯控制系统,实现了对城市交通灯的智能控制。
二、实训目的1. 掌握单片机编程及接口技术;2. 熟悉交通灯控制系统的设计原理;3. 培养动手实践能力和创新意识。
三、实训内容1. 交通灯控制系统硬件设计(1)单片机:选用AT89C51单片机作为核心控制单元,具有丰富的片上资源,易于编程。
(2)LED显示模块:用于显示交通灯状态,包括东西方向和南北方向的红、黄、绿灯。
(3)按键模块:用于设置和修改交通灯的时间参数,以及切换交通灯状态。
(4)定时器模块:用于实现交通灯的计时功能。
2. 交通灯控制系统软件设计(1)系统初始化:初始化单片机,设置定时器、LED显示模块、按键模块等。
(2)交通灯状态控制:根据交通灯状态表,实现交通灯的切换。
(3)时间参数设置与修改:通过按键模块,修改交通灯的绿灯时间、黄灯时间和红灯时间。
(4)交通灯状态切换:通过按键模块,切换交通灯的当前状态。
(5)定时器中断:定时器中断实现交通灯的计时功能,当时间到达设定值时,切换交通灯状态。
四、实训过程1. 硬件设计(1)选用AT89C51单片机作为核心控制单元,连接LED显示模块、按键模块和定时器模块。
(2)根据电路原理图,焊接电路板。
(3)连接LED显示模块、按键模块和定时器模块,完成硬件电路搭建。
2. 软件设计(1)编写单片机程序,实现交通灯控制系统的各项功能。
(2)通过编程软件(如Keil)进行编译、调试,确保程序正确无误。
(3)将程序烧录到单片机中,观察交通灯控制系统运行情况。
五、实训结果与分析1. 实训结果(1)交通灯控制系统运行稳定,能够实现交通灯的智能控制。
(2)交通灯状态切换、时间参数设置与修改等功能均能正常实现。
2. 实训分析(1)通过本实训,掌握了单片机编程及接口技术,熟悉了交通灯控制系统的设计原理。
交通灯实训实验报告

一、实验目的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. 系统具有手动/自动控制功能,可满足实际交通需求。
交通灯实训报告总结

交通灯实训报告总结
交通灯是城市交通系统中的重要组成部分,它的运行情况直接影响到城市交通的流畅程度和交通安全。
为了提升交通灯的运行效率和优化城市交通流量,我们开展了交通灯实训,通过实践操作和理论学习,系统地学习了交通灯的原理、调试方法和运行管理等相关知识,取得了一定的成果。
本次实训中,我们主要学习了交通灯的运行原理和各种信号灯的含义和使用方法。
从原理上来说,交通灯是由计时器、控制器和信号灯三大部分组成的,其中计时器用于控制信号灯的持续时间,控制器用于控制信号灯的工作状态,信号灯则是交通灯的核心组成部分,通过不同颜色的灯光进行交通指引。
在实践中,我们对红灯、黄灯和绿灯的含义和使用方法进行了学习。
红灯表示禁止通行,黄灯表示警告,在有条件的情况下可以停车等待,绿灯则表示允许通行。
此外,我们还学习了行人灯的含义和使用方法,包括红人灯、绿人灯和闪烁的绿人灯等。
除了学习交通灯的原理和应用技术,我们还学习了交通管理的基本概念和方法。
在实验过程中,我们通过调整交通灯的持续时间、绿灯亮起时长和黄灯亮起时长等参数,不断优化信号灯的工作效率,达到优化城市交通流量的目的。
通过本次实训,我们深刻认识到交通灯在城市交通系统中的重要性和必要性,也对交通管理的基本原理和方法有了一定的了解。
同时,我们也发现了一些问题,比如交通灯的设置不合理、交通流量控制不力等,这些问题需要进一步解决和改进。
以后,我们将继续深入学习交通管理的专业知识,为城市交通的发展做出更大的贡献。
十字路口的交通灯实训报告

十字路口的交通灯实训报告一、实训目的本次实训的目的是通过模拟十字路口的交通情况,了解交通灯的设置原理及其对交通流的管理作用,从而增强我们对交通灯的认识和应用能力。
二、实训环境我们选择在校园内模拟一座真实的十字路口,设置交通灯进行实训。
该校内的十字路口为主要通行路段,交通流较大,是进行交通灯实训的理想场所。
三、实训步骤1. 实地调研:在实训开始前,我们首先进行了对实际交通情况的调研。
观察了真实交通中车辆行驶的速度、流量和行驶时的交通规则遵守情况,以此为依据来进行后续的实训设置。
2. 设计交通灯方案:根据调研结果,我们制定了相应的交通灯设置方案。
根据不同方向的车流量大小,我们合理安排了绿灯时间的长短,确保交通流畅。
3. 搭建实训模型:在选择的十字路口上,我们搭建了实训模型,设置了红灯、绿灯、黄灯,并设置了指示牌和标识牌,使实训的模型更加真实可信。
4. 进行实训操作:在实训模型搭建完成后,我们按照所制定的交通灯方案进行实训操作。
通过控制交通灯的信号,观察不同方向车辆的行驶情况及交通的流畅程度。
五、实训成果与总结通过本次实训,我们获得了以下成果与总结:1. 交通灯对交通流的控制作用确实很大。
通过控制绿灯时间的长短,我们观察到不同方向的车辆如何按照交通灯信号有序行驶,整体交通秩序明显得到了改善。
2. 交通灯设置需要结合实际情况进行合理安排。
根据我们在实地调研中观察到的交通情况,我们合理安排绿灯的时间,并设置了黄灯的时间缓冲,以确保车辆能够逐渐停车避让,确保行车安全。
3. 交通灯实训有助于我们增强交通安全意识。
通过亲身实践控制交通灯,我们深刻体会到了交通灯对交通秩序的重要性,也更加明白自己在交通中应该如何遵守交规,安全驾驶。
通过本次实训,我们对交通灯有了更深入的了解,并且提高了自己在交通安全方面的素养。
希望这次实训能够对我们今后的出行和驾驶提供借鉴和参考。
交通信号灯实训报告总结

一、引言随着我国城市化进程的加快,交通信号灯作为城市交通管理的重要手段,对于维护交通秩序、保障人民生命财产安全具有重要作用。
为了提高我国交通信号灯系统的设计水平和管理能力,本实训报告通过对交通信号灯系统的设计与实现进行深入研究,总结实训过程中的收获与体会。
二、实训目的1. 了解交通信号灯系统的基本原理和设计方法;2. 掌握交通信号灯系统硬件和软件的设计与实现;3. 提高动手实践能力和团队协作能力;4. 培养创新精神和工程意识。
三、实训内容1. 交通信号灯系统概述交通信号灯系统主要由信号灯控制器、信号灯、感应器、控制器程序等组成。
信号灯控制器负责控制信号灯的时序,感应器用于检测车辆和行人流量,控制器程序负责实现交通信号灯的运行逻辑。
2. 交通信号灯系统硬件设计(1)信号灯控制器:选用单片机作为信号灯控制器,具有成本低、性能稳定等优点。
控制器采用AT89C52单片机,配合定时器/计数器实现信号灯时序控制。
(2)信号灯:采用LED信号灯,具有亮度高、寿命长、响应速度快等特点。
信号灯包括红灯、黄灯、绿灯,分别表示禁止通行、注意安全、允许通行。
(3)感应器:选用红外感应器,用于检测车辆和行人流量。
红外感应器具有安装方便、检测距离远、抗干扰能力强等优点。
3. 交通信号灯系统软件设计(1)系统初始化:在程序开始时,初始化单片机、定时器/计数器、信号灯、感应器等硬件资源。
(2)信号灯时序控制:根据交通流量和信号灯控制策略,设置信号灯的时序,实现红灯、黄灯、绿灯的交替闪烁。
(3)感应器数据采集:通过红外感应器实时采集车辆和行人流量数据,为信号灯时序调整提供依据。
(4)信号灯时序调整:根据感应器采集到的数据,实时调整信号灯时序,实现交通流量与信号灯时序的匹配。
4. 交通信号灯系统测试与调试(1)硬件测试:检查信号灯控制器、信号灯、感应器等硬件设备是否正常工作。
(2)软件测试:模拟不同交通流量场景,测试信号灯时序控制、感应器数据采集、信号灯时序调整等功能。
实习交通灯设计报告

实习交通灯设计报告一、实习背景及目的随着我国城市交通的日益拥堵,智能交通系统的设计与实现显得尤为重要。
本次实习旨在设计并实现一个基于单片机的交通灯控制系统,以提高交通效率,减少交通拥堵现象。
通过本次实习,希望能够掌握单片机的基本原理及其在交通控制领域的应用。
二、实习内容与过程1. 需求分析针对十字路口交通流量大、车辆等待时间长的问题,设计一个基于单片机的交通灯控制系统,实现红绿灯的自动控制,提高交通效率。
2. 系统设计本交通灯控制系统主要由单片机、输入模块、输出模块和显示模块组成。
其中,单片机作为核心控制单元,负责处理输入信号并输出控制信号;输入模块用于检测交通流量和违规行为;输出模块用于控制红绿灯的工作状态;显示模块用于显示倒计时信息。
3. 硬件选型与电路设计本次实习选用STC89C52单片机作为控制核心,其具有丰富的外设资源和强大的处理能力。
红绿灯控制电路采用继电器驱动,通过单片机输出高低电平控制红绿灯的工作状态。
输入模块选用红外传感器检测车辆流量,并通过光耦隔离电路输入单片机。
显示模块采用LED数码管显示倒计时信息。
4. 软件设计软件设计主要包括主程序、定时器中断服务程序、输入检测程序和显示控制程序。
主程序负责初始化设置和调用其他子程序;定时器中断服务程序用于实现红绿灯的定时控制;输入检测程序负责检测交通流量和违规行为;显示控制程序负责LED数码管的显示。
5. 系统调试与测试通过在实际道路上进行测试,验证交通灯控制系统的功能和性能。
测试结果显示,系统能够根据交通流量自动调整红绿灯的工作时间,有效提高交通效率,减少交通拥堵。
三、实习心得与展望通过本次实习,深入了解了单片机在交通控制领域的应用,掌握了交通灯控制系统的原理和设计方法。
在实际操作过程中,学会了如何使用单片机编程、电路设计和系统调试等技能。
同时,也意识到智能交通系统在缓解交通拥堵、提高交通效率方面的重要性。
展望未来,随着物联网、大数据等技术的发展,智能交通系统将更加完善,为我国城市交通带来更多便利。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
河南科技学院新科学院单片机课程设计报告题目:交通灯控制器设计专业班级:电气工程及其自动化101******时间:2012.12.3 ~2012.12.21指导教师:徐君鹏邵锋苗青林完成日期:2012年12月21 日交通灯控制器设计任务书1.设计目的与要求设计一个交通灯控制器,要认真并准确地理解有关要求,独立完成系统设计,在双干线的路口上,交通信号灯的变化按照下面假定进行计时:(1)放行线,绿灯亮放行25秒,黄灯亮警告5秒,然后红灯亮禁止。
(2)禁止线,红灯亮禁止30秒,然后绿灯亮放行。
使两条路线交替的成为放行线和禁止线,便可实现交通控制。
(3)特殊情况下能实现手动操作。
2.设计内容(1)画出电路原理图,正确使用逻辑关系;(2)确定元器件及元件参数;(3)进行电路模拟仿真;(4)SCH文件生成与打印输出;(5)PCB文件生成与打印输出。
3.编写设计报告写出设计的全过程,附上有关资料和图纸,有总结体会。
4.答辩在规定时间内,完成叙述并回答问题。
目录摘要.................................................................................................... 错误!未定义书签。
1 引言 (4)2 总体设计方案 (4)2.1 设计思路.................................................................................... 错误!未定义书签。
2.2 设计满足的基本功能............................................................... 错误!未定义书签。
2.3 主程序模块的设计 (5)2.4 功能实现模块的设计............................................................... 错误!未定义书签。
2.5 延时程序模块的设计............................................................... 错误!未定义书签。
3 总结与体会 (9)参考文献 (9)附1:源程序代码 (10)附2:系统原理图 (20)附3:系统PCB图 (20)交通灯控制器摘要:本设计是关于单片机控制的交通灯模拟系统的设计。
主要内容有交通灯模拟系统设计方案,主要功能,各功能模块的介绍,电路设计,硬件部分设计,软件部分设计,模拟系统的仿真调试,设计方法以及课程设计的心得体会等等。
该设计中用光二极管来模拟信号灯,紧急车的优先通过请求信号由外部中断技术来模拟。
要求使AT89C52定时/计数器0作为定时器,要求对通行时间进行倒计时,从P0 口输出,在LED上显示并进行递减,以此来实现十字路口交通灯的指示功能。
为了节省元件,复位部分采用加电直接复位。
根据交通灯系统所需要实现的功能要求,先画出中断程序部分的流程图和主程序流程图,然后根据流程图写出其子程序。
从而通过模拟系统的仿真来实现该设计所要求的功能。
本系统由单片机系统、键盘、LED 显示、交通灯演示系统组成。
最后,系统要求实现如下的交通灯的功能:1)南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行间为20秒,时间可设置修改。
2)在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;3)黄灯亮时,要求每秒闪亮一次4)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法)。
5)一道有车而另一道无车(实验时用开关 K0 和 K1 控制),交通灯控制系统能立即让有车道放行。
6)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2 开关模拟。
关键字:单片机交通灯系统 LED显示1 引言交通的发达,标志着城市的发达,相对交通的管理则显得越来越重要。
交通灯是城市交通中的重要指挥系统,它与人们日常生活密切相关.随着人们生活水平的提高,对交通管制也提出了更高的要求,因此提供一个可靠、安全、便捷的多功能交通灯控制系统有着现实的必要性。
考虑到单片机具有物美价廉、功能强、使用方便灵活、可靠性高等特点,拟采用MCS - 51系列的单片机来实现十字路口交通信号灯的控制。
正常情况下,十字路口的红绿灯应交替变换,考虑紧急情况下,如有救护车或警车到来时,应优先让其通过。
交通灯模拟系统的课程设计既让学生巩固了课本学到的理论,还让学生学习了单片机硬件电路设计和用户程序设计的整个过程,同时学习了查阅资料、参考资料的方法。
单片机的课程设计主要是通过学生独立设计方案并自己动手用计算机电路设计软件,编写和调试用户程序,来加深对单片机的认识,充分发挥学生的个体创新能力。
2 总体设计方案交通灯在安全行车过程中起着十分重要的作用,现在交通灯一般设在十字路口,在醒目位置用红、绿、黄三种颜色的指示灯,加上一个倒计时的显示计时器来控制行车,对于一般情况下的安全行车、车辆分流发挥着作用,但根据实际行车过程中出现的情况,如何全面有效地利用交通灯指示交通情况,我们尝试用单片机来控制交通灯,在软、硬件方面采取一些改进措施,,使交通灯在控制中灵活而有效。
硬件系统是指构成单片机系统的实体和装置,通常由运算器、控制器、存储器、输入接口电路和输入设备、输出接口电路和输出设备等组成。
单片机实质上是一个硬件的芯片,在实际应用中,通常很难直接和被控对象进行电气连接,必须外加各种扩展接口电路、外部设备、被控对象等硬件和软件,才能构成一个单片机应用系统。
该交通灯拟系统的硬件部分主要由键盘、显示和运算部分组成。
按照题目的设计要求,本课题需要使用LED数码管显示和扩展键盘。
在该交通灯系统的设计中采用AT89C52单片机。
2.1 设计思路该设计在熟练掌握单片机及其仿真系统的使用方法基础上,综合应用单片机原理、微机原理、微机接口技术等课程方面的知识,设计一个采用AT89C52单片机控制的交通灯控制电路。
分别分析各部分电路的元器件的功能以及选择合适的元件。
具体设计思路如下:收集并整理资料,硬件设计,软件设计,Proteus仿真,设计体会与总结。
2.2 设计满足的基本功能1)南北方向(主干道)车道和东西方向(支干道)车道两条交叉道路上的车辆交替运行,主干道每次通行时间都设为30秒、支干道每次通行间为20秒,时间可设置修改。
2)在绿灯转为红灯时,要求黄灯先亮5秒钟,才能变换运行车道;3)黄灯亮时,要求每秒闪亮一次4)东西方向、南北方向车道除了有红、黄、绿灯指示外,每一种灯亮的时间都用显示器进行显示(采用计时的方法)。
5)一道有车而另一道无车(实验时用开关 K0 和 K1 控制),交通灯控制系统能立即让有车道放行。
6)有紧急车辆要求通过时,系统要能禁止普通车辆通行,A、B道均为红灯,紧急车由K2 开关模拟。
2.3 主程序模块的设计主程序流程图如下图A所示:该交通信号灯控制系统的四中工作状态(南北方向的交通灯为例):(1)南北方向A车道红灯亮,东西方向B车道绿灯亮。
表示南北方向A车道上的车辆禁止通行,东西方向B车道允许通行。
绿灯亮足规定的时间隔时,控制器发出状态信号,转到下一工作状态。
(2)南北方向A车道红灯亮,东西方向B车道黄灯亮。
表示东西方向B车道上未过停车线的车辆停止通行,已过停车线的车辆继续通行,南北方向A 车道禁止通行。
黄灯亮足规定时间间隔时,控制器发出状态转换信号,转到下一工作状态。
(3)南北方向A车道绿灯亮,东西方向B车道红灯亮。
表示南北方向A车道允许通行,东西方向B车道上的车辆禁止通行,绿灯亮足规定的时间间隔时,控制器发出状态转换信号,转到下一工作状态。
(4)南北方向A车道黄灯亮,东西方向B车道红灯亮。
表示东西方向B车道禁止通行,南北方向A车道上位过限停车线的车辆停止通行,已过停车线的车辆继续通行。
黄灯亮足规定的时间间隔时,控制器发出状态转换信号,系统又转换到第(1)种工作状态。
控制灯程序流程图如下:图A 交通灯控制流程图2.4 功能实现模块的设计功能实现模块主要由中断处理子程序,键盘处理子程序和显示子程序等组成。
下面仅对T0中断服务程序部分进行简单介绍。
T0与K2连接,K2与地连接。
按下K2,东西南北四个方向全红,也就是说,东西南北四个通道都不能通车。
K1与AT89C52的35管脚相连。
在按下K3的前提下,按下K1,此时显示的是东西的总时间,并可对其调节。
调节以后,若长按K3键,则交通灯恢复正常。
先按K3键,再按K0和K1可分别对它们进行加一和减一操作。
其中中断服务程序流程图下图B所示:图B 交通灯控制中的中断控制流程2.5 延时程序模块的设计延迟程序块是要生成一定的是时间延时,这在数码管显示模块中会用到延迟程序,以满足足动态扫描时数码管的闪亮能产生视觉效果。
3 Proteus软件仿真一个单片机系统经过总体设计,完成了硬件和软件开发。
元器件安装后在系统存储器中放入编制好的应用程序,系统即可运行。
一般来说,仿真开发系统应具有如下的功能:1)用户样机硬件电路的诊断与检查;2)用户样机程序的输入与修改;3)程序的运行、调试(单步运行、设置断点)、排错、状态查询功能;4)将程序固化到EPROM芯片中。
仿真结果如下图C所示:图C 仿真图3 总结与体会通过这次单片机课程设计,不仅加深了我对单片机理论的理解,将理论应用到实际中去,而且我还学会了如何培养创新精神。
这次设计过程中与到了很多困难,比如对protus软件的理解不透彻,对DXP制版的不熟悉等等,但我通过查资料,问同学,都一一的将它们化解在春风中。
其实设计过程就好像我们的人生历程一样,不如意之事十之八九,但我们依然要迎着风,冒着雨,一步步走出我们璀璨的人生参考文献[1] 蔡美琴等-2版.MCS-51系列单片机系统及其应用.北京:高等教育出版社,2004.1-4[2] 张毅刚,刘杰. MCS-51系列单片机原理及应用.哈尔滨:哈尔滨工业大学出版社,2004.256-270[3] 蔡美琴,张为民等.MCS-51系列单片机系统及其应用.北京:高等教育出版社,1992.68-96[4] 蒋廷彪等.单片机原理及应用(MCS-51).重庆:重庆大学出版社,2003.56-89[5] 余发山,王福忠.单片机原理及应用技术.徐州:中国矿业大学出版社,2003.98-120附1 源程序代码ORG 0000HAJMP MAINORG 0003HLJMP INTERRUPT0 ; 跳到设定时间中断服务程序ORG 000BHLJMP INTERRUPT1 ; 跳到跳到特种车辆自动服务程序ORG 0013HLJMP INT2 ; 跳到南北有车东西无车中断服务程序ORG 001BHLJMP INT3 ; 跳到东西有车南北无车中断服务程序ORG 0100HTAB: DB 3FH,6H,5BH,4FH,66H,6DH,7DH,7H,7FH,6FHORG 0300HMAIN: MOV 25H,#30 ; 南北通行时间初始值,存到25H单元MOV 26H,#20 ; 东西通行时间初始值,存到26H单元MOV SP,#40H ; 堆栈选址CLR P3.0 ;MOV TMOD,#66H ; T0、T1都计数方式,工作模式2 ,启动方式TRi 确定MOV TL0,#255 ; 计数器0初值低8位MOV TH0,#0 ; 计数器0初值高8位MOV TL1,#255 ; 计数器1初值低8位MOV TH1,#0 ; 计数器1初值高8位SETB IT0 ; 外部中断一边沿触发SETB IT1 ; 外部中断二边沿触发MOV IE,#8FH ; 开中断SETB TR0 ; T0开始计数SETB TR1 ; T1 开始计数NBLD: CLR P3.0 ;MOV R1,25H ; 南北通行时间30秒(25h)=30,(NBLD即东西绿灯)NBLD1: MOV P2,#1EH ; 点亮南北绿灯东西红灯MOV 20H,R1 ; 为南北方向显示时间做准备MOV A,R1 ;ADD A,#5 ;MOV 21H,A ; 为东西方向显示时间做准备LCALL DISP1 ; 显示通行所剩时间,其中有0.5秒延时LCALL DISP1 ; 再次显示以便数码管不闪,且再延时0.4秒以便凑够一秒DJNZ R1,NBLD1 ; 判断30秒是否已完,若未完则从新显示、延时ShanHD: MOV R2,#5 ; 黄灯闪亮5秒HD: MOV P2,#1DH ; 点亮黄灯MOV 22H,R2 ; 为显示时间做准备LCALL DISP2 ; 黄灯闪亮剩时显示,其中延时0.5秒MOV P2,#1FH ; 熄灭黄灯LCALL DISP2 ; 显时,且再延时0.5秒以便凑够1秒DJNZ R2,HD ; 判断5秒是否已完,若未完则从新闪灭、延时和显示DXLD: CLR P3.0 ;MOV R3,26H ; 东西通行20秒(26H)=20, (DXLD即东西绿灯)DXLD1: MOV P2,#33H ; 点亮南北红灯东西绿灯MOV 24H,R3 ; 为东西方向显示时间做准备MOV A,R3 ;ADD A,#5 ;MOV 23H,A ; 为南北方向显示时间做准备LCALL DISP3 ; 时间显示,其中有0.5秒延时LCALL DISP3 ; 凑够1秒时间DJNZ R3,DXLD1 ; 判断20秒是否已完ShanHD1: MOV R2,#5 ; 转入黄灯闪亮5秒HD1: MOV 22H,R2 ; 为显示做准备MOV P2,#2BH ; 点亮南北红灯东西黄灯LCALL DISP2 ; 显示时间,并延时0.5秒MOV P2,#3BH ; 点亮南北红灯关闭东西黄灯LCALL DISP2 ; 显时,且再延时0.5秒以便凑够1秒DJNZ R2,HD1 ; 判断5秒是否到,若未到继续闪灭东西黄灯AJMP NBLDTezhong: MOV P2,#1BH ; 点亮东西南北红灯SETB P3.0 ;MOV R4,#15 ; 特殊车辆通过时间15秒QHD: MOV 27H,R4 ; 为显示做准备LCALL DISP4 ; 显示时间DJNZ R4,QHD ; 判断15秒是否到,若不到继续显示时间CLR p3.0 ;AJMP NBLDDELAY: ACALL DELAY1 ; 10ms延时ACALL DELAY1RETDELAY1: MOV R6,#50 ; 5ms延时,(5ms=50*50*2us)DE6: MOV R0,#50DE7: DJNZ R0,DE7DJNZ R6,DE6RETDISP1: MOV P0,#0 ; 熄灭数码管MOV R7,#25 ; 以下调用四次5毫秒延时程序,故25*4*5毫秒=0.5秒RP1: MOV A,20H ; 南北方向要显示的时间移到寄存器AMOV DPTR,#TAB ; 要显示的数字代码表首地址MOV B,#10DIV AB ; 要显示的时间与10相除,求出十位和个位MOVC A,@A+DPTR ; 找到十位的显示代码MOV P1,#00001110B; 选择南北数码管十位片MOV P0,A ; 送出十位显示代码LCALL DELAY1 ; 延时5ms以点亮数码管MOV A,B ; 把个位数移到寄存器AMOVC A,@A+DPTR ; 找到个位数显示代码MOV P1,#00001101B ; 选择南北数码管个位片MOV P0,A ; 送出个位数显示代码LCALL DELAY1 ; 延时5ms以点亮数码管MOV A,21H ; 东西方向要显示的时间移到寄存器AMOV DPTR,#TAB ; 要显示的数字代码表首地址MOV B,#10DIV AB ; 要显示的时间与10相除,求出十位和个位MOVC A,@A+DPTR ; 找到十位的显示代码MOV P1,#00001011B; 选择东西数码管的十位片MOV P0,A ; 送出十位显示代码LCALL DELAY1 ; 延时5ms以点亮数码管MOV A,B ; 把个位数移到寄存器AMOVC A,@A+DPTR ; 找到个位的显示代码MOV P1,#00000111B ; 选择东西数码管的个位片MOV P0,A ; 送出个位显示码LCALL DELAY1DJNZ R7,RP1 ; 是否已循环25次?(25次才够0.5秒)RETDISP2: MOV P0,#0 ; 熄灭数码管MOV R7,#25 ; 以下调用两次0.01秒延时程序,故25*0.02=0.5秒RP2: MOV A,22H ; 要显示的时间移到寄存器AMOV DPTR,#TAB ; 要显示的数字代码表首地址MOV B,#10DIV AB ; 要显示的时间与10相除,求出十位和个位MOVC A,@A+DPTR ; 找到十位的显示代码MOV P1,#00001010B; 选择南北数码管十位片和东西数码管十位片MOV P0,A ; 送出十位显示代码LCALL DELAY ; 延时10ms以点亮数码管MOV P1,#00000101B ; 选择南北数码管个位片和东西数码管个位片MOV A,B ; 把个位数移到寄存器AMOVC A,@A+DPTR ; 找到个位数显示代码MOV P0,A ; 送出个位数显示代码LCALL DELAY ; 延时10ms一点亮数码管DJNZ R7,RP2RETDISP3: MOV P0,#0 ; 熄灭数码管MOV R7,#25 ; 以下调用两次0.01秒延时程序,故10*0.05=0.5秒RP3: MOV A,23H ; 要南北方向显示的时间移到寄存器AMOV DPTR,#TAB ; 要显示的数字代码表首地址MOV B,#10DIV AB ; 要显示的时间与10相除,求出十位和个位MOVC A,@A+DPTR ; 找到十位的显示代码MOV P1,#00001110B; 选择南北数码管十位片MOV P0,A ; 送出十位显示代码LCALL DELAY1 ; 延时5ms以点亮数码管MOV A,B ; 把个位数移到寄存器AMOVC A,@A+DPTR ; 找到个位数显示代码MOV P1,#00001101B; 选择南北道数码管个位片MOV P0,A ; 送出个位数显示代码LCALL DELAY1 ; 延时5ms一点亮数码管MOV A,24H ; 要东西方向显示的时间移到寄存器AMOV B,#10DIV AB ; 要显示的时间与10相除,求出十位和个位MOVC A,@A+DPTR ; 找到十位的显示代码MOV P1,#00001011B ;MOV P0,A ; 送出十位显示代码LCALL DELAY1 ; 延时5ms以点亮数码管MOV A,BMOVC A,@A+DPTRMOV P1,#00000111B ; 选择东西数码管个位片MOV P0,A ; 送出个位显示代码LCALL DELAY1DJNZ R7,RP3RETDISP4: MOV P0,#0 ; 熄灭数码管MOV R7,#50 ; 以下调用两次0.01秒延时程序,故40*2*0.01=1秒RP4: MOV A,27H ; 要显示的时间移到寄存器AMOV DPTR,#TAB ; 要显示的数字代码表首地址MOV B,#10DIV AB ; 要显示的时间与10相除,求出十位和个位MOVC A,@A+DPTR ; 找到十位的显示代码MOV P1,#00001010B; 选择南北、东西数码管十位片MOV P0,A ; 送出十位显示代码LCALL DELAY ; 延时10ms以点亮数码管MOV A,B ; 把个位数移到寄存器AMOVC A,@A+DPTR ; 找到个位数显示代码MOV P1,#00000101B; 选择南北、东西数码管的个位片MOV P0,A ; 送出个位数显示代码LCALL DELAY ; 延时10ms一点亮数码管DJNZ R7,RP4RETINTERRUPT0: MOV IE,#0 ; 关闭中断允许MOV A,P2 ; 读取交通灯状态JNB Acc.3,DXSJ ; P2.3,DXSJ ; DXSJ(东西绿灯亮(P2.3=0)则设定东西通行时间)JNB Acc.0,NBSJ ; P2.0,NBSJ ; NBSJ (南北绿灯亮(P2.0=0)则设定南北通行时间)POP 28H ;POP 28H ;MOV DPTR,#NBLD ; 如果不能调整时间(没有绿灯亮)则退出后从状态1开始,相当于复位。