基于单片机的交通灯设计实训报告
(完整word版)单片机交通灯实训报告

第一章设计目的及要求1.1 设计目的1. 通过本次课程设计进一步熟悉和掌握单片机的结构及工作原理,巩固和加深“单片机原理与应用”课程的基本知识,掌握电子设计知识在实际中的简单应用。
2. 综合运用“单片机原理与应用”课程和先修课程的理论及生产实际知识去分析和解决电子设计问题,进行电子设计的训练。
3. 学习电子设计的一般方法,掌握AT89C52芯片以及简单电子设计过程和运行方式,培养正确的设计思想和分析问题、解决问题的能力,特别是总体设计能力。
4. 通过计算和绘制原理图、布线图和流程图,学会运用标准、规范、手册、图册和查阅有关技术资料等,培养电子设计的基本技能。
5. 通过完成一个包括电路设计和程序开发的完整过程,了解开发单片机应用系统全过程,为今后从事的工作打基础.1。
2 设计要求1。
利用单片机的定时器定时,实现道路的红绿灯交替点亮和熄灭。
2.以AT89C52单片机为核心,设计一个十字路口交通灯控制系统。
用单片机控制LED 灯模拟交通信号灯显示。
假定东西、南北方向方向通行(绿灯)时间为25秒,缓冲(黄灯)时间5秒,停止(红灯)时间35秒.第二章实验原理2.1 基本原理主体电路:交通灯自动控制模块。
这部分电路主要由80C52单片机的I/O端口、定时计数器、外部中断扩展等组成。
本设计先是从普通三色灯的指示开始进行设计,用P0口作为输出。
程序的初始化是东西南北方向的红灯全亮。
然后南北方向红灯亮,东西方向绿灯亮,60秒后东西方向黄灯闪亮5秒后南北方向绿灯亮,东西方向红灯亮。
重复执行。
二位一体的LED重复执行60秒的倒计时。
作为突发事件的处理,本设计主要用到外部中断EX0。
用一模拟开关作为中断信号.实际中可以接其它可以产生中断信号的信号源.2.2 芯片AT89C52AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS—51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。
单片机的交通灯实训报告

一、引言随着我国经济的快速发展,城市交通问题日益突出,交通拥堵、事故频发等问题严重影响了市民的生活质量。
为了解决这些问题,智能交通系统应运而生。
单片机作为一种高效、低成本的微控制器,在智能交通系统中扮演着重要角色。
本实训报告以单片机为控制核心,设计并实现了一套交通灯控制系统,旨在提高交通效率,保障交通安全。
二、实训目标1. 熟悉单片机的基本原理和编程方法。
2. 掌握交通灯控制系统的设计方法。
3. 学会使用单片机进行交通灯控制。
4. 提高动手实践能力和团队协作能力。
三、实训内容1. 系统组成本系统采用AT89C52单片机作为核心控制单元,通过外围电路实现交通灯的控制。
系统主要由以下模块组成:(1)单片机模块:负责整个系统的控制和数据处理。
(2)信号灯模块:包括红、黄、绿三个信号灯,用于指示交通灯状态。
(3)按键模块:用于手动控制交通灯状态。
(4)数码管模块:用于显示交通灯倒计时时间。
(5)电源模块:为整个系统提供稳定的电源。
2. 系统工作原理系统启动后,单片机首先进行初始化设置,包括设定交通灯状态、倒计时时间等。
然后进入主循环,不断检测按键状态,并根据交通灯状态和倒计时时间进行控制。
(1)正常状态:系统按照预设的交通灯状态和时间进行控制,绿灯亮30秒,黄灯亮5秒,红灯亮25秒。
(2)紧急状态:当检测到紧急车辆时,系统立即切换到紧急状态,所有交通灯亮红灯,直到紧急车辆通过。
(3)手动控制:用户可以通过按键手动控制交通灯状态,实现交通灯的切换。
3. 程序设计程序采用C语言编写,主要包括以下部分:(1)初始化函数:设置单片机的工作模式、IO口状态、定时器等。
(2)主循环函数:检测按键状态,控制交通灯状态和倒计时时间。
(3)中断服务程序:处理按键中断和定时器中断。
四、实训过程1. 硬件设计根据系统组成,设计并焊接电路板,包括单片机模块、信号灯模块、按键模块、数码管模块和电源模块。
2. 软件设计使用Keil uVision软件编写程序,并进行编译、下载和调试。
单片机交通灯实验报告

单片机交通灯实验报告简介本实验通过使用单片机设计并实现一个交通灯控制系统,模拟城市道路上的交通信号灯。
实验过程中,我们通过编程控制不同灯的亮灭状态,实现交通灯的循环变换,以此来模拟车辆和行人的行进。
实验材料•单片机•LED灯•电阻•连线•电源实验过程及结果1. 电路连接首先,我们根据实验需要将单片机和LED灯等材料进行连接。
具体连接方式如下:- 将电阻连接到单片机的IO口上,起到限流的作用。
- 将LED灯连接到电阻的另一端。
- 将单片机通过连线与电源进行连接。
2. 程序设计接下来,我们需要编写程序来实现交通灯的循环变换。
使用C语言编程,通过控制IO口的高低电平来控制LED灯的亮灭状态。
以下是程序的主要逻辑:#include <reg52.h>sbit redLed = P1^0; // 红灯sbit yellowLed = P1^1; // 黄灯sbit greenLed = P1^2; // 绿灯void delay(unsigned int t){while(t--);}void main(){while(1){// 红灯亮,其他灯灭redLed = 0;yellowLed = 1;greenLed = 1;delay(50000);// 红灯亮黄灯亮,绿灯灭redLed = 0;yellowLed = 0;greenLed = 1;delay(20000);// 绿灯亮,其他灯灭redLed = 1;yellowLed = 1;greenLed = 0;delay(50000);// 黄灯亮,其他灯灭redLed = 1;yellowLed = 0;greenLed = 1;delay(20000);}}3. 实验结果与分析通过实验,我们观察到LED灯按照我们设计的程序循环地变换亮灭状态,从而实现了交通灯的模拟效果。
红灯、黄灯、绿灯在规定的时间间隔内依次亮起,并在该时间间隔结束后熄灭。
单片机交通灯实验报告

单片机交通灯实验报告一、实验目的二、实验原理三、实验器材四、实验步骤五、实验结果六、实验分析与讨论七、实验总结一、实验目的:本次单片机交通灯实验的主要目的是通过使用单片机控制LED灯的亮灭,模拟交通信号灯的运行状态,并能够正确地掌握单片机编程技巧和硬件连接技术。
二、实验原理:本次交通灯实验采用了单片机作为中央处理器,通过编写程序控制LED灯的亮灭来模拟交通信号灯。
在程序中,我们需要使用到延时函数和条件判断语句。
具体来说,在红绿黄三个LED灯之间切换时,需要设定一个时间段,并在该时间段内循环执行红绿黄三个LED灯亮度变化的循环语句。
三、实验器材:1. 单片机开发板一块;2. LED 灯若干;3. 杜邦线若干。
四、实验步骤:1. 将红色 LED 灯连接至 P0 口;2. 将黄色 LED 灯连接至 P1 口;3. 将绿色 LED 灯连接至 P2 口;4. 将单片机开发板与电脑连接,打开 Keil 软件;5. 编写程序,将红色 LED 灯亮起来;6. 编写程序,将黄色 LED 灯亮起来;7. 编写程序,将绿色 LED 灯亮起来;8. 编写程序,模拟交通信号灯的运行状态。
五、实验结果:在完成了上述步骤后,我们成功地模拟出了交通信号灯的运行状态。
具体来说,在程序中我们设定了一个时间段为10s,在这个时间段内,红灯亮 5s,黄灯亮 2s,绿灯亮 3s。
在这个时间段结束后,循环执行该过程。
六、实验分析与讨论:通过本次交通灯实验,我们学习到了如何使用单片机控制LED灯的亮灭,并能够正确地编写程序模拟交通信号灯的运行状态。
在编写过程中需要注意以下几点:1. 在使用延时函数时要注意时间单位和精度;2. 在编写条件判断语句时要注意逻辑结构和语法规范;3. 在硬件连接时要注意杜邦线的颜色对应关系和插口位置。
七、实验总结:本次单片机交通灯实验是一次非常有意义的实践活动。
通过此次实验,我们掌握了单片机编程技巧和硬件连接技术,并能够正确地模拟交通信号灯的运行状态。
交通灯实训实验报告

一、实验目的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. 确定电路所需元件:单片机、LED灯、电阻等。
2. 组装硬件电路:按照电路图进行元件的连接,确保电路的正确连接。
3. 设计适当的电源:为单片机和LED灯提供稳定的电源。
二、程序编写1. 定义程序所需的IO口:确定控制LED灯的IO口。
2. 初始化单片机:设置单片机的工作频率和中断。
3. 设计交通灯的流程控制:根据实际的交通灯变化规律,设计程序的流程控制。
4. 编写交通灯控制的函数:使用if-else语句或switch-case语句编写函数控制交通灯的变化。
5. 调试程序:通过单片机调试工具或仿真软件,检查程序运行的正确与否。
三、实验结果分析1. 观察实验现象:通过实验现场观察交通灯的变化,记录每一种灯亮的时间和顺序。
2. 分析实验结果:根据实验记录,分析交通灯的工作原理和实现的准确性。
3. 比较与设计要求的符合度:将实验结果与设计要求进行比较,评估实验的完成度。
4. 探讨存在问题与改进方向:分析实验中可能存在的问题,并提出改进措施。
四、小结本文介绍了单片机交通灯实验的设计与实现。
通过硬件设计和程序编写,实现了交通灯的变化控制。
通过实验结果分析,我们可以得出实验的有效性和可行性。
当然,实验中也存在一些问题,需要进一步改进。
在后续的实验中,我们将进一步完善交通灯的控制,提高其实际应用的稳定性和可靠性。
总结:本文详细介绍了单片机交通灯实验的设计与实现,包括硬件设计、程序编写和实验结果分析。
通过该实验,我们对交通灯的工作原理和控制方法有了更为深入的了解,并对实验的经验和教训进行了总结。
相信在今后的学习和实践中,我们能够更好地应用单片机技术,为实现交通管理的智能化和高效化作出贡献。
单片机实训报告交通灯

一、实训背景与目的随着城市化进程的加快,交通流量日益增大,传统的交通灯控制系统已经无法满足日益复杂的交通需求。
为了提高交通效率,减少交通拥堵,本实训项目旨在设计并实现一套基于单片机的智能交通灯控制系统。
通过本实训,学生可以深入了解单片机原理,掌握单片机编程与调试技巧,同时锻炼动手实践能力和团队协作精神。
二、系统设计1. 系统组成本系统主要由以下模块组成:单片机模块:采用AT89C52单片机作为核心控制单元,负责接收传感器信号、处理数据、控制交通灯状态等。
传感器模块:包括红外传感器、地磁传感器等,用于检测车辆和行人,实时获取交通信息。
执行模块:包括LED灯、继电器等,用于驱动交通灯和信号灯。
显示模块:采用LCD显示屏,用于显示交通灯状态、倒计时等信息。
电源模块:为系统提供稳定电源。
2. 工作原理系统工作原理如下:(1)单片机初始化,设置各模块参数。
(2)单片机通过传感器模块检测交通情况,如车辆和行人数量。
(3)单片机根据检测到的交通情况,控制交通灯和信号灯的亮灯状态。
(4)LCD显示屏显示交通灯状态和倒计时信息。
(5)当系统检测到紧急情况时,如行人过马路,系统自动切换到紧急模式,确保行人安全。
三、硬件设计1. 单片机模块选用AT89C52单片机作为核心控制单元,具有以下特点:内置8K字节闪存,可存储程序和数据。
内置8位定时器/计数器,可进行定时或计数操作。
内置串行通信接口,可进行数据通信。
2. 传感器模块红外传感器:用于检测车辆和行人,实现自动控制。
地磁传感器:用于检测车辆行驶方向,实现左转和直行控制。
3. 执行模块LED灯:用于显示交通灯状态。
继电器:用于驱动信号灯。
4. 显示模块采用LCD显示屏,用于显示交通灯状态、倒计时等信息。
5. 电源模块采用DC 12V电源,为系统提供稳定电源。
四、软件设计1. 编程语言采用C语言进行编程,具有以下优点:语法简单,易于理解。
可移植性好,可在不同平台上运行。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
重庆三峡学院课程设计报告书题目:基于单片机的交通灯设计学院(系):学号:学生姓名:指导教师:教师职称:制作日期2011年12月25日目录1.设计要求---------------------------------------------------- 012.系统设计方案---------------------------------------------- 013.硬件电路设计---------------------------------------------- 024.软件系统设计---------------------------------------------- 065.仿真与调试------------------------------------------------- 086.实训体会---------------------------------------------------- 137.附录---------------------------------------------------------- 14摘要单片微型计算机简称单片机,即把组成微型计算机的各个功能部件,如中央处理器(CPU )、随机存储器(RAM )、只读存储器(ROM )、I/O 接口电路、定时器/计数器以及串行接口等集成在一块芯片中构成一个完整的微型计算机。
设计一个基于单片机的交通灯设计。
主要包括AT89c51单片机、复位电路、驱动控制芯片74LS240和74LS07及外中断等。
实现控制各个路口的交通灯变化,通过外中断起到紧急开关作用,加上复位电路,使其恢复成初始状态。
本设计主控芯片采用AT89C51单片机,配合其他基本设备完成设计。
采用C51语言进行编程,编程后利用KEIL C51进行编译,生成对应用的HEX 文件,采用PROETUS 软件进行系统硬件的仿真模拟,检验功能。
模拟试验成功后,焊接硬件电路,通过ISP 下载线将HEX 文件载入单片机内,完成整个设计进行实际操作,并实际记录单片机工作情况。
设计一个基于单片机的交通灯设计。
主要包括AT89c51单片机、复位电路、驱动控制芯片74LS240和74LS07及外中断等。
实现控制各个路口的交通灯变化,通过外中断起到紧急开关作用,加上复位电路,使其恢复成初始状态。
1. 设计要求设计一个基本十字路口交通灯管理系统。
初始化4个路口红灯全亮,2秒后切换为东西路口红灯亮,南北绿灯亮,持续60秒,红绿灯切换过渡时红灯依旧亮,绿灯亮转变为黄灯闪烁5次,过程时间为5秒,然后切换为南北路口红灯亮,东西路口绿灯亮,持续时间60秒,过渡过程切换方式同上,5秒后,再次切换为东西路口红灯亮,南北绿灯亮。
如此周而复始。
2.系统设计图利用单片机完成交通信号灯控制器的设计,该交通信号灯控制器由一条主干道和一条支干道汇合成十字路口,在每个入口处设置红、绿、黄三色信号灯,红灯亮禁止通行,绿灯亮南东允许通行,黄灯亮则给行驶中的车辆有时间停在禁行线外。
用红、绿、黄发光二极管作信号灯。
如图上图所示。
(1)处于常允许通行的状态,道路有车来时才允许通行。
南北亮绿灯时,东西亮红灯;东西亮绿灯时,南北亮红灯。
(2)道路上均有车时,两者交替允许通行,每次放行60秒,黄灯闪烁5秒,设立60秒、5秒计时、显示电路。
2.2方案设计单片机可选用AT89C51,它与8051系列单片机全兼容,但其内部带有4KB的FLASH ROM,设计时无需外接程序存储器,为设计和调试带来极大的方便。
南北向和东西向各采用2个数码管计时,同时需要对该方向的指示灯的点亮时间进行倒计时。
实验程序框图3.硬件电路设计3.1复位部分电路设计复位引脚RST通过一个斯密特触发器与复位电路相连,斯密特触发器用来抑制噪声,在每个机器周期的S5P2,斯密特触发器的输出电平由复位电路采样一次,然后才能得到内部复位操作所需要的信号。
复位电路通常采用上电自动复位和按钮复位两种方式。
该设计复位电容采用10uF ,电阻1000欧,通过电阻回路放电,使电压逐渐降为零,从而实现了复位功能。
复位电路3.2 时钟部分电路设计时钟电路用于产生MCS-51单片机工作时所必须的时钟控制信号。
其内部电路在时钟信号控制下,严格地按时序执行指令进行工作。
在执行指令时,CPU 首先要到程序存储器中取出需要执行的指令操作码,然后译码,并由时序电路产生一系列控制信号去完成指令所规定操作。
本设计采用12MHz 晶振和两个30Pf 瓷片电容,他们构成一个稳定的自激振荡器。
该电容的大小影响振荡器频率的高低、振荡器的稳定性和起振的快速性。
为单片机提供标准时钟。
其中两个瓷片电容起微调作用。
ATMEL 公司生产的AT89C51单片机它是硬件电路的核心部分,在由多片单片机组成的系统中,为了各单片机之间的时钟信号同步,应当引入唯一的公用外部脉冲信号作为各单片机的振荡脉冲,外部脉冲信号一般不低于33MHz 的方波。
3C13晶振电路3.3 显示部分电路设计动态显示的特点是将所有位数码管的段选线并联在一起,由位选线控制是哪一位数码管有效。
这样一来,就没有必要每一位数码管配一个锁存器,从而大大地简化了硬件电路。
选亮数码管采用动态扫描显示。
所谓动态扫描显示即轮流向各位数码管送出字形码和相应的位选,利用发光管的余辉和人眼视觉暂留作用,使人的感觉好像各位数码管同时都在显示。
显示电路设计3.4 硬件连接示意图7407管脚图74LS240管脚图四位一体数码管管教图89c51管脚图4.软件系统设计4.1 应用系统软件设计要求在进行应用系统的总体设计时,软件设计与硬件设计应统一考虑,相结合进行。
当系统的电路设计定型以后,软件的任务也就明确了。
一般来说,软件的功能可分为两大类。
一类是执行软件,它能完成各种实质性的功能,如测量计算、显示、打印、输出控制等;另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,在系统软件中充当组织协调角色。
我们设计时,应从以下几个方面考虑:1)根据软件功能的要求,将系统软件分为若干个相对独立的部分。
设计出合理的软件总体结构,使其清晰、简捷、流程合理。
2)各功能程序实行模块化、子程序化。
3)在编写应用软件之前,应绘制出程序流程图。
4)要合理分配系统资源,包括ROM、RAM、定时器/计数器、中断源等。
本设计采用了模块化设计,主要由主程序模块、功能实现模块两大部分模块组成。
4.2 主程序模块设计主程序流程图如下图所示:交通灯控制系统设计思路P1口:P1. 5—P1.0 红黄绿红黄绿对应口低电平灯亮控制灯程序流程图如下:程序见附录:程序清单5. 仿真与调试5.1软件仿真接硬件图接线,为了确保东西南北红黄绿灯能够对应显示,实验时,对P1口的接线做了调整。
即,P1.0接L1,P1.1接L2,P1.2接L3,P1.3接L4,P1.4接L5,P1.5接L6。
本系统由单片机系统、LED 显示、交通灯演示系统组成。
最后,系统要求实现如下的交通灯的功能:1)接通电源后,将显示模块的程序编译后烧进单片机电路板里,如若看到红灯全亮两秒后,跳转为一红一绿,码表计时60秒;2)在绿灯转为红灯时,要求黄灯先亮,才能变换运行车道;3)黄灯亮时,要求每秒闪亮一次,闪烁5次,计时5秒;4)黄灯闪烁后跳转为红灯,另一方向红灯则跳为绿灯;5)计时60秒,绿灯再次跳转为黄灯,闪烁,红灯跳转为红灯,车辆放行;6)在交通灯运行正常的情况下,将P3.2口所接的控制开关,拨为低电平,交通灯全部跳转为红灯亮,可供紧急车辆通行;7)照此循环下去没有问题就证明该显示模块的测试成功Pro仿真初始状态第一状态黄灯状态黄灯后下一状态按下外中断的显示按下复位的状态执行前执行后5.2硬件仿真6、结论本系统采用MSC_51系列单片机为中心器件来设计交通灯控制器,实现了能根据实际车流量通过单片机芯片的P2口设置红、绿灯燃亮时间功能;P2口和P3口外接数码管来显示各个信号灯的时间。
系统设计简单、实用性强、操作简单、程序设计简单。
系统不足之处不能控制车的左、右转及自动根据车流量改变红绿灯时间等。
这是由于本身地理位置以及车流量情况所定,如果有需要可以设计扩充原程序来实现。
本次课程设计让我得到了一次用专业知识、专业技能技能分析和解决问题全面系统的锻炼。
让我在单片机的基本原理、单片机应用系统开发过程,以及在常用编程设计思路技巧的掌握方面都能向前迈了一大步,为了日后成为合格的应用型人才打下了良好的基础。
附录1:程序清单;主要子程序名称:;MAIN:主程序;SSEE:六位数码管动态扫描子程序;PTDS0:拆字子程序;CLOCK:T0中断服务子程序;MBXS: 码表刷新判断子程序;JTDZT: 交通灯状态判断子程序;JJCL: 紧急车辆通行子程序;ZMPD: 整秒到判断子程序;HBCD: 单字节十六进制整数转换为单字节BCD码整数;**************************************;内存单元及状态标志定义ZT0 EQU 0F6H ;状态0,四个路口红灯亮==2秒ZT1 EQU 0DEH ;东西红南北绿==60秒ZT2_1 EQU 0EEH ;东西红南北黄ZT2_2 EQU 0FEH ;东西红南北全灭==5秒ZT3 EQU 0F3H ;东西绿南北红==60秒ZT4_1 EQU 0F5H ;东西黄南北红ZT4_2 EQU 0F7H ;南北红南北全灭==5秒STATE EQU 40H ;状态标志单元MARK BIT 00H ;黄灯闪烁标志位XS0 EQU 79H ;显示缓冲单元0,对应最右边数码管XS1 EQU 7AHXS2 EQU 7BHXS3 EQU 7CH ;显示缓冲单元4,对应最左边数码管;4个数码管;XS4 EQU 7DH;XS5 EQU 7EH ;显示缓冲单元5,对应最左边数码管TIME1 EQU 46H ; 秒单元(十六进制)TIME2 EQU 41H ; 秒单元(十进制BCD码);**************************************ORG 0LJMP MAINORG 0003H ;外中断0(紧急车辆)处理子程序入口LJMP JJCLORG 000BH ;定时器T0中断入口LJMP CLOCK;**************************************;标号:MAIN。
主程序。
完成系统初始化,循环调用数码管扫描子程序,拆字子程序,等待定时中断。
;**************************************ORG 0030HMAIN: MOV SP,#60H ;调整堆栈指针 MODIFY =70HMOV PSW ,#00H ;设置工作寄存器为0区;MOV P2,#0FFH ;高位地址线为0FFHLCALL CSH ;调初始化子程序LOOP:LCALL SSEE ;调动态扫描子程序LCALL PTDS0 ;调拆字子程序SJMP LOOP;**************************************;系统初始化子程序;**************************************CSH: ;MOV XS5,#10H ;显示缓冲区全部送“灭”代码序号;MOV XS4,#10HMOV XS3,#0AH ;显示缓冲区全部送“灭”代码序号MOV XS2,#0AHMOV XS1,#0AHMOV XS0,#0AHMOV TIME1 , #0002 ;状态0持续为2sMOV TIME2 , #0002;MOV A,#81H ;8255初始化,PA口和PB口为输出口;MOV DPTR,#0FF23H;MOVX @DPTR,AMOV TMOD,#01H ;定时器T0,方式1MOV TL0,#0B0H ;定时50msMOV TH0,#3CHCLR IT0 ;设置外中断0为电平方式工作SETB PX0 ;设置外中断0为高级中断ORL IE,#83H ;开放外中断0和T0中断MOV STATE,#00H ;进入状态0MOV P1, #ZT0 ;状态0,四个路口红灯亮MOV R6, #00HMOV R5, #00H ;软件计数器初始化SETB TR0 ;启动T0RET;**************************************;标号CLOCK,T0中断服务程序。