单片机交通灯实训报告完整版
(完整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软件编写程序,并进行编译、下载和调试。
单片机交通灯实训报告完整版
课程设计课题名称智能交通信号灯姓名学号班级专业所在系指导教师完成日期智能交通信号灯摘要本设计是在熟练掌握单片机及其仿真系统使用方法基础上,综合应用单片机原理、微机原理等课程方面的知识,设计一个采用AT89C52单片机控制的交通灯控制电路。
该设计结合实际情况给出了一种简单低成本城市交通灯控制系统的硬件及软件设计方案、各个路口交通灯的状态循环显示,并对程序流程图进行详细讲解分析。
交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
根据给出的要求设计交通灯东西、南北两干道交于一个十字路口各干道有一组红、黄、绿三色的指示灯指挥车辆和行人安全通行。
红灯亮禁止通行绿灯亮允许通行。
黄灯亮提示人们注意红、绿灯的状态即将切换且黄灯亮的时间为东西、南北两干道的公共停车时间。
关键词:电子线路;AT89C52 ; LED 交通灯。
目录一、绪论 (4)二、总体设计方案 (4)1.设计思路 (4)2.设计目的 (5)3.设计任务和内容 (5)(1)设计任务 (5)4.电源提供方案 (5)5.复位方案 (5)6.输入方案 (5)三、显示界面方案 (6)四、交通管理的方案论证 (7)五、芯片简介 (7)1.AT89S52单片机简介 (7)2.主要性能 (8)3.功能特性描述 (8)六、设计原理分析 (10)1.交通灯显示时序的理论分析与计算 (10)2.交通灯显示时间的理论分析与计算 (12)七、LED数码管显示模块 (13)1.静态显示方式 (13)八、复位电路 (14)九、晶振电路 (15)十、总结与谢词 (15)十一、参考文献 (16)十二、附录 (16)附录1:程序清单 (16)附录2:电路设计图 (18)一、绪论当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
单片机交通灯实验报告
单片机交通灯实验报告简介本实验通过使用单片机设计并实现一个交通灯控制系统,模拟城市道路上的交通信号灯。
实验过程中,我们通过编程控制不同灯的亮灭状态,实现交通灯的循环变换,以此来模拟车辆和行人的行进。
实验材料•单片机•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. 确定电路所需元件:单片机、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. 提高实际动手能力和问题解决能力;4. 培养团队协作精神和创新意识。
三、实习内容1. 硬件设计(1)单片机选型:选用STC89C51单片机作为核心控制器;(2)传感器选型:选用红外传感器检测车辆和行人流量;(3)显示屏选型:选用LCD显示屏显示交通灯状态和时间;(4)交通灯模块:采用LED灯实现红、黄、绿灯的显示;(5)按键模块:采用按键实现功能切换和参数设置。
2. 软件设计(1)系统初始化:单片机上电后,进行系统初始化,包括设置定时器、初始化I/O端口等;(2)数据采集:通过红外传感器采集交通流量数据,并进行处理;(3)数据处理与决策:根据采集到的交通流量数据,结合预设的算法和规则,计算出当前交通灯的信号配时;(4)信号控制:根据计算出的信号配时,控制交通灯的信号状态;(5)人机交互:通过按键实现功能切换和参数设置,并通过LCD显示屏显示交通灯状态和时间。
3. 系统测试与调试(1)硬件测试:检查电路连接是否正确,电源是否稳定,传感器、显示屏、交通灯模块是否正常工作;(2)软件测试:通过编写测试程序,验证系统功能是否满足设计要求;(3)调试:根据测试结果,对系统进行调试,确保系统稳定可靠地运行。
四、实习成果1. 设计并实现了基于单片机的交通信号灯控制系统;2. 系统能够根据实时交通流量自动调整红绿灯的切换时间,提高交通效率;3. 系统具有故障自诊断、手动/自动切换等功能,提高了系统的可靠性和实用性。
五、实习总结通过本次单片机交通灯实习,我掌握了单片机的基本原理和编程方法,熟悉了交通信号灯控制系统的设计方法,提高了实际动手能力和问题解决能力。
(完整word版)单片机实训--交通灯
五、交通灯C语言程序为:
#include <at89x51。h>
/*--—-------———--——--——-——---—-//【贾小丹(AdvancyYP)@制作】//---—---—-----———-———---—-—--—*/
/*
名称 : 交通灯
单片机型号 :51系列单片机
晶振 : 12MHz
void T0_INTERRUPT(void) interrupt 1 using 1
{
if(stop_run==0)//如果当前状态为:禁止
{
t_10ms++;//10ms变量自增
if(t_10ms==100)//如果定时计数到1s
{
t_10ms=0;//10ms定时计数变量清0
stop_time—-;//禁止时间自减
EA=1;//总中断开启
}
/*****************************************************************************************/
//定时计数器T0中断//
/*****************************************************************************************/
//数码管函数//
/*****************************************************************************************/
void SMG(unchar x_seg, unchar x_bit)
{
SMG_SEG = SMG_SEG_CODE[x_seg];//数码管段选
单片机交通灯实验报告
单片机交通灯实验报告实验目的:1.熟悉单片机的基本工作原理和编程方法。
2.学习如何使用单片机控制交通灯的运行。
3.加深对电子元器件和电路原理的理解和掌握。
实验器材:1.51系列单片机开发板:包括单片机主控板、显示器板、外部扩展板等。
2.LED灯:红色、黄色、绿色各一颗。
3.电阻:用于限流。
4.连接线:用于连接各个电子元器件。
实验原理:在交通中,红灯代表停止、黄灯代表警告、绿灯代表通行。
在本实验中,我们将使用单片机控制三个LED灯实现交通灯的运行。
具体原理如下:1.使用单片机的IO口控制LED灯的亮灭。
2.根据交通灯的运行状态,通过改变LED灯的亮灭顺序来模拟交通的运行。
实验步骤:1.连接电路:将三个LED灯连接到单片机的IO口,并通过电阻限流。
2.编写程序:使用C语言编写程序,在主函数中设置交通灯的运行状态和亮灭顺序。
3.烧写程序:将编写好的程序烧写到单片机中。
4.运行实验:启动单片机,观察LED灯的亮灭情况,验证交通灯是否能正常工作。
实验结果:经过实验,我们成功地实现了单片机交通灯的控制。
在程序运行过程中,红灯先亮,表示停止;然后黄灯亮,表示警告;最后绿灯亮,表示通行。
整个过程循环不断,符合实际交通灯的运行规律。
实验总结:通过这次实验,我深入了解了单片机的基本工作原理和编程方法,掌握了使用单片机控制交通灯的技巧。
同时,我也加深了对电子元器件和电路原理的理解和掌握。
这些知识将对我今后的学习和工作产生积极影响。
然而,在实验过程中也遇到了一些问题。
比如,如果LED灯连接不正确或程序编写有误,交通灯可能无法正常运行。
因此,在进行单片机实验时,我们需要仔细检查电路连接和程序编写,确保一切正常。
总之,单片机交通灯实验是一次充满趣味和挑战的实践活动。
通过这次实验,我不仅学到了许多知识,而且培养了动手能力和实践能力。
希望将来能有更多这样的实验机会,继续提升自己的电子技术水平。
单片机红绿灯实训报告
一、实训目的1. 了解单片机的基本原理和编程方法;2. 掌握单片机在交通灯控制系统中的应用;3. 熟悉交通灯控制系统的设计流程;4. 提高实际操作能力和问题解决能力。
二、实训背景随着城市交通的日益发展,交通灯作为城市交通管理的重要组成部分,其智能化程度对提高道路通行效率、保障交通安全具有重要意义。
单片机具有体积小、功耗低、成本低、易于编程等优点,是交通灯控制系统理想的控制器。
本实训旨在通过设计一个基于单片机的交通灯控制系统,使学生掌握单片机编程和交通灯控制系统的设计方法。
三、实训内容1. 交通灯控制系统概述交通灯控制系统主要由单片机核心控制器、交通灯模块、传感器模块、显示模块(可选)、按键模块(可选)和电源模块组成。
系统通过传感器实时检测交通流量,单片机根据检测到的数据自动调整红绿灯的切换时间,实现交通灯的智能控制。
2. 系统硬件设计(1)单片机核心控制器:选用51系列单片机作为核心控制器,具有丰富的外设资源,便于系统扩展。
(2)交通灯模块:采用LED灯作为交通灯,分别代表红灯、黄灯和绿灯。
(3)传感器模块:选用超声波传感器检测交通流量,通过计算超声波的发射与接收时间差,得到车辆行驶距离。
(4)显示模块:选用LCD显示屏,用于显示系统状态和实时数据。
(5)按键模块:采用按钮作为输入设备,用于手动控制交通灯。
(6)电源模块:选用稳压电源为系统提供稳定的工作电压。
3. 系统软件设计(1)初始化:初始化单片机系统,包括设置端口、中断等。
(2)交通流量检测:读取超声波传感器的数据,计算车辆行驶距离,得到交通流量。
(3)数据处理与决策:根据交通流量数据,计算红绿灯切换时间,实现智能控制。
(4)交通灯控制:根据计算出的红绿灯切换时间,控制LED灯的亮灭。
(5)手动/自动控制:根据按键输入,实现手动控制交通灯或自动控制交通灯。
(6)特殊情况处理:如遇紧急情况,可手动将交通灯切换为全红灯,确保交通安全。
4. 仿真与调试利用Altium Designer19进行原理图设计,使用KEIL5进行程序设计,并利用protues8.7软件进行仿真设计。
单片机交通灯实验报告(二)2024
单片机交通灯实验报告(二)引言概述本报告旨在介绍单片机交通灯实验的进一步研究。
通过对单片机交通灯实验的深入探讨,我们将了解交通信号灯电路的设计原理、控制逻辑以及实际应用的相关知识。
本文将分为五个大点进行阐述,包括:电路设计、控制逻辑编程、硬件连接、功能扩展和实验结果分析。
正文一、电路设计1. 确定交通信号灯的基本电路结构2. 选择适当的电子元件并进行电路布局3. 绘制电路原理图和PCB布局图4. 按照电路设计进行焊接和组装二、控制逻辑编程1. 理解交通信号灯的控制逻辑2. 学习并掌握单片机编程语言3. 根据控制逻辑编写程序代码4. 调试程序的运行,确保交通信号灯按照预期进行切换5. 优化控制逻辑,提高程序效率和稳定性三、硬件连接1. 连接交通信号灯的LED灯及其它电子元件2. 理解并实现灯光的正反相控制3. 使用适当的电阻进行电流限制4. 连接并配置单片机与电路的通信接口5. 建立单片机与计算机之间的连接,方便程序下载与调试四、功能扩展1. 添加电子组件以实现交通信号灯的更多功能2. 尝试不同的交通灯控制算法3. 增加人车辨别传感器以实现智能化控制4. 加入音效与声光提示功能,提高交通信号灯的可视性和可听性5. 设计并实现交通流量的实时监测和统计功能五、实验结果分析1. 对交通信号灯的各项功能进行实验验证2. 分析实验结果,评估系统的性能和稳定性3. 总结实验中遇到的问题和解决方案4. 提出改进交通信号灯设计的建议总结通过本文详细的阐述,我们了解了单片机交通灯实验的电路设计、控制逻辑编程、硬件连接、功能扩展以及实验结果分析等方面的知识。
这些内容不仅对于我们更深入地了解交通信号灯的工作原理和应用具有重要意义,而且为我们开展相关实际项目提供了指导和启示。
希望本报告能够帮助读者更好地理解和应用单片机交通灯实验。
单片机交通灯实验报告
单片机交通灯实验报告交通灯是城市交通管理的重要组成部分,它能够规范车辆和行人的通行秩序,保障交通安全。
为了进一步学习交通灯的原理和掌握其设计,我们进行了一次单片机交通灯实验。
本次实验使用单片机和几个LED灯,通过对单片机的编程控制来实现交通灯的自动切换。
下面是我对该实验进行的详细记录和分析。
首先,我们需要连接电路。
我们采用的是STC89C52单片机,使用3个LED灯来模拟红灯、黄灯和绿灯。
利用杜邦线将LED灯连接到单片机的GPIO口,另外还需要连接一个电位器到单片机的模拟口,用来控制红灯亮灭的时间。
接下来,我们进行了单片机的编程。
我们使用C语言编写程序,利用单片机提供的GPIO口控制LED灯的亮灭,从而实现交通灯的控制。
我们通过控制红灯、黄灯和绿灯的亮灭时间,模拟真实交通灯的工作。
在编写程序的过程中,我们首先做了一些准备工作。
我们初始化了单片机的GPIO口,设定了红灯、黄灯和绿灯的引脚。
然后,我们使用一个循环语句不断地进行交通灯的切换。
具体来说,我们将交通灯控制划分为红灯、绿灯和黄灯三个状态,利用if-else语句对不同状态进行判断并进行相应的控制。
通过对红灯亮灭时间的控制,我们能够实现交通灯的自动切换。
在程序设计的过程中,我们还考虑了交通灯的变化时间。
我们在红灯和绿灯之间设置了一个黄灯过渡时间,以模拟真实交通灯的工作。
同时,我们还设置了一个迟滞时间,使得每个状态之间的切换更加顺滑。
通过这次实验,我们进一步了解了交通灯的工作原理和掌握了单片机的编程技巧。
通过对交通灯的模拟,我们成功地实现了交通灯的自动切换。
总结起来,这次实验不仅提高了我们对交通灯的认识,还锻炼了我们的动手能力和创新思维。
在今后的学习和工作中,我们将继续学以致用,将所学的知识应用到实际问题中。
让我们共同努力,为交通安全做出贡献。
51单片机综合实验交通灯设计报告
51单片机综合实验交通灯设计报告班级:学生姓名:学号:指导教师:一实验题目交通灯控制系统设计二实验目的1、学会用8051单片机开发简单的计算机控制系统;2、学会用汇编语言和C语言开发系统软件;3、学会8051单片机开发环境wave或Keil uVision3软件的使用;4、学会Proteus软件的使用方法,会用Proteus单片机系统进行仿真;5、学会Protel软件的使用方法,会用Protel绘制电气原理图和印制板图;6、熟悉七位数码管显示的使用方法;7、了解交通灯控制系统的基本组成。
三实验要求交通灯处在十字路口上。
它有红﹑黄﹑绿三种颜色的灯组成。
红灯亮时道路上的车辆停止运行;黄灯是一种过渡用的信号灯,当它亮时,表示道路上的红绿色信号灯即将进行转换。
下面拿东西南北四个方向来说明。
当东西方向允许行车(或者左转)的时候,南北方向就禁止行车,即此时东西方向的绿灯亮红灯灭,而南北方向的绿灯灭红灯亮。
反之当南北方向允许行车(或者左转)的时候,东西方向就禁止行车,即此时南北方向的绿灯亮红灯灭,而东西方向的绿灯灭红灯亮。
交通灯配置示意图如图1所示。
同时当有特殊的情况发生时,能手动控制各个方向的信号灯。
设计任务就是将这一电路用单片机来实现具体的控制。
1 十字路口交通灯配置示意图四设计内容与原理为了在后面的分析中便于说明,将南北方向允许直行命名为状态1,南北方向允许左转命名为状态2,南北方向行车到东西方向行车的转换阶段命名为状态3,将东西方向允许直行命名为状态4,东西方向允许左转命名为状态5,东西方向行车到南北方向方向行车的转换阶段命名为状态6。
假定直行绿灯点亮的时间为25s,左转绿灯点亮的时间为20s,黄灯点亮的时间为5s,则对方红灯的点亮时间为50秒。
黄灯每隔500ms亮一次,之后灭500ms (亮灭一次叫作闪烁一次),一共闪烁5次,持续5s。
各个状态之间的变换情况如下:具体显示周期如下:图2交通信号灯点亮时间图设计电路中每个路口的控制信号灯应有四个,即绿灯两个、黄灯、红灯各一个,同时需要七段数码管一个。
单片机单点交通灯实习报告
单片机交通灯实习报告一、前言随着我国经济的快速发展,汽车数量的猛增,城市交通压力越来越大。
为了提高交通效率和安全性,智能交通控制系统的需求日益迫切。
单片机交通灯控制系统作为一种智能交通管理手段,能够根据实时交通流量自动调整红绿灯的切换时间,实现交通信号的智能化管理。
本实习报告围绕单片机交通灯控制系统的设计与实现展开,详细介绍了系统的设计思路、硬件选型、软件编程及实验结果。
二、系统设计1. 设计目标本设计旨在通过单片机技术实现对交通灯的智能控制,提高交通路口的通行效率和安全性。
系统能够根据实时交通流量自动调整红绿灯的切换时间,实现交通信号的智能化管理。
2. 系统组成(1)单片机:作为系统的核心控制器,负责接收传感器信号、处理数据、输出控制指令。
(2)交通灯模块:包括红灯、黄灯和绿灯,用于指示车辆和行人的通行状态。
(3)传感器模块:可包括车辆检测传感器、行人检测传感器等,用于实时检测交通路口的车辆和行人流量。
(4)显示模块:可选配,用于显示当前交通状态、剩余时间等信息,方便驾驶员和行人了解交通情况。
(5)按键模块:用于设置和修改交通灯的工作模式和参数。
(6)电源模块:为整个系统提供稳定的电力供应。
3. 工作原理系统上电后,单片机进行初始化操作,包括设置初始参数、检测硬件连接状态等。
然后通过传感器模块实时检测交通路口的车辆和行人流量,将数据传输给单片机。
单片机根据接收到的交通流量数据,结合预设的算法和规则,计算出当前红绿灯的切换时间,并输出控制指令,控制交通灯模块的显示状态。
同时,显示模块可以显示当前交通状态和剩余时间,方便驾驶员和行人了解交通情况。
三、硬件设计1. 单片机选型本设计采用STC89C51单片机,该单片机具有丰富的外设资源、强大的功能和较低的成本,非常适合用于交通灯控制系统。
2. 交通灯模块交通灯模块包括红灯、黄灯和绿灯,通过继电器实现灯色的切换。
继电器驱动电路采用晶体管驱动,具有驱动能力强、响应速度快的特点。
单片机交通灯实验报告
引言:随着城市交通的发展,交通灯作为交通管理的重要组成部分,起着至关重要的作用。
为了研究和实践交通灯的基本原理和实现方法,本文进行了单片机交通灯实验。
本实验通过使用单片机来模拟和控制交通灯的运行,以实现交通流畅和安全。
概述:交通灯是城市交通管理的重要组成部分,通过控制交通灯的信号变化,可以实现不同车辆和行人的交通流畅和安全。
单片机作为实验的控制器,可编程控制交通灯的运行,增强交通流畅性。
正文:一、单片机交通灯实验的背景和意义1.单片机交通灯实验的背景交通灯在城市交通管理中具有重要的地位和作用,通过控制交通灯的信号变化,可以实现车辆和行人的有序通行。
单片机交通灯实验为进一步研究交通灯原理和实现方式提供了实践基础。
2.单片机交通灯实验的意义单片机交通灯实验可以帮助学生理解并掌握交通灯的基本原理和控制方式,培养学生的创新思维和动手能力,并为进一步研究和改进交通灯系统提供参考。
二、单片机交通灯实验的设计和实施1.设计交通灯的硬件结构a.硬件元件选择和连接方式b.单片机选择和编程2.实施交通灯的控制逻辑和操作a.基本的交通灯控制逻辑b.交通灯的运行和状态转换三、单片机交通灯实验的分析和评价1.对交通流畅性的影响分析a.不同信号时间间隔对交通流量的影响b.交通灯控制方式对交通流畅性的影响2.对交通安全性的评价a.不同交通灯参数对交通安全的影响b.交通灯设施对行人安全的影响3.对实验结果的分析和总结a.实验数据的收集和处理b.结果的呈现和解释四、单片机交通灯实验的改进和优化方向1.优化交通灯的控制算法a.基于流量的自适应控制算法b.基于信号的智能预测算法2.改进交通灯的硬件设计a.使用更高效的电子元件和材料b.结合无线通信技术和传感器技术进行实时监测和控制五、单片机交通灯实验的应用和展望1.在城市交通管理中的应用前景a.提高交通流畅性和安全性的需求b.单片机交通灯技术的潜在优势2.可能的进一步研究方向a.基于互联网的智能化交通灯系统b.基于算法的全自动交通控制系统总结:通过本次单片机交通灯实验,我们对交通灯的原理和实现方法有了更深入的了解。
单片机实验报告 交通灯-14页精选文档
实验四交通灯实验一、实验目的1)按键、数码管、发光二极管综合应用编程技术2)定时中断技术3)按键中断技术二、实验实现的功能1)对每个路口(主干道、次干道)的绿灯时间,及黄灯时间的设定。
2)紧急按键功能,当按下该键时,所有路口变成红灯,相当于交警指挥特殊车辆通过。
再按该键,恢复正常显示。
三、系统硬件设计四、系统软件设计说明:1、红绿灯规则:绿变红时:绿灯亮→绿灯闪→绿灯灭黄灯亮→黄灯灭红灯亮;红变绿时:红灯亮→红灯黄灯同时亮→红灯黄灯同时灭绿灯亮;2、左边数1、2位数码管计左右灯时间,3、4位计上下灯时间;3、1键按下时进入设置红灯时间模式,同时计时停止;再次按下进入绿灯设置模式;再次按下退出设置模式,同时继续计时。
设置模式时2 键选中灯加,3键选中灯减。
4、按键4进入和退出紧急模式P1M1 EQU 91HP1M0 EQU 92HDX1 DATA 30H ;数码管个位显示DX2 DATA 31H ;数码管十位显示NB1 DATA 32H ;数码管百位显示NB2 DATA 33H ;数码管千位显示RE DATA 34H ;红灯亮时间,单位为秒GR DATA 35H ;绿灯亮时间,单位为秒YE DATA 36H ;黄灯亮时间,单位为秒NUM1 DATA 37H ;计算东西向亮灯时间参数NUM2 DATA 38H ;计算南北向亮灯时间参数DELAY_1 DATA 39H ;延时参数DELAY_2 DATA 40H ;延时参数KF1 DATA 41H ;按键标志位KF2 DATA 42H ;按键标志位KF3 DATA 43H ;按键标志位KF4 DATA 44H ;按键标志位ORG 0000HLJMP 0030HORG 001BH ;定时器1定时中断,记秒LJMP INTR0ORG 0030HMOV P1M1,#00000000BMOV P1M0,#11111111BMOV SP,#060H ;设置堆栈指针MOV RE,#025 ;红灯亮时间默认值25SMOV GR,#020 ;绿灯亮时间默认值20SMOV YE,#005 ;黄灯亮时间默认值5SMOV R1,#000 ;设置时间时暂停红绿灯MOV R2,#000 ;保存键值MOV R7,#000 ;记中断次数,R7=100为1秒MOV KF1,#000 ;初始化相关参数MOV KF2,#000MOV KF3,#000MOV KF4,#000MOV TMOD,#10H ;定时器初始化MOV TH1,#0D8H ;定时时间10msMOV TL1,#0F0HSETB ET1SETB TR1SETB EA ;开启总中断MAIN: LCALL LIGHT ;主程序/*********************************************************按键逻辑*********************************************************** *********/KY: MOV R1,#001 ;暂停计时CJNE R2,#000,KY0LJMP KY15KY0: CJNE R2,#004,KY1 ;紧急按键MOV R2,#000KY00: LCALL DP1 ;应急模式LCALL DP2LCALL LIGHT7CJNE R2,#004,KY00MOV R2,#000LJMP KY15AJMP KY00KY1: CJNE R2,#001,KY15 ;进入设置模式MOV R2,#000KY10: MOV NUM2,RELCALL COUNT2LCALL DP3LCALL LIGHT7CJNE R2,#001,KY11MOV R2,#000LJMP KY20KY11: CJNE R2,#002,KY12 ;红灯加MOV R2,#000INC REMOV A,RECJNE A,#100,KY12MOV RE,#000KY12: CJNE R2,#003,KY14 ;红灯减MOV R2,#000MOV A,RECJNE A,#000,KY13MOV RE,#099LJMP KY14KY13: DEC REKY14: AJMP KY10KY15: MOV R1,#000RETKY20: MOV NUM2,GR ;退出设置LCALL COUNT2LCALL DP3LCALL LIGHT8CJNE R2,#001,KY21MOV R2,#000LJMP KY3KY21: CJNE R2,#002,KY22 ;绿灯加MOV R2,#000INC GRMOV A,GRCJNE A,#100,KY22MOV GR,#000KY22: CJNE R2,#003,KY24 ;绿灯减MOV R2,#000MOV A,GRCJNE A,#000,KY23MOV GR,#099LJMP KY24KY23: DEC GRKY24: AJMP KY20KY3: MOV A,RE ;利用CJNE指令对CY位的影响来比较大小CJNE A,GR,KY31 ;处理最终设置结果AJMP BIGKY31: JC BIGAJMP SMALLSMALL: MOV A,RESUBB A,GRMOV YE,AAJMP KY4BIG: LJMP KY10 ;当绿灯时间小于等于红灯时间时重新设置KY4: MOV R1,#000RET/*******************************************************按键扫描及确定******************************************************* *********/KS: LCALL KS1LCALL KS2LCALL KS3LCALL KS4RETKS1: MOV A,KF1CJNE A,#001,KS12 ;按键标志位消抖SETB P0.5SETB P3.7JB P0.5,KS13MOV R2,#001MOV KF1,#000AJMP KS13KS12: SETB P0.5CLR P3.6SETB P3.7JNB P0.5,KS13MOV KF1,#001KS13: RETKS2: MOV A,KF2CJNE A,#001,KS22 ;按键标志位消抖SETB P0.6CLR P3.6SETB P3.7JB P0.6,KS23MOV R2,#002MOV KF2,#000AJMP KS23KS22: SETB P0.6CLR P3.6SETB P3.7JNB P0.6,KS23MOV KF2,#001KS23: RETKS3: MOV A,KF3CJNE A,#001,KS32 ;按键标志位消抖SETB P0.7CLR P3.6SETB P3.7JB P0.7,KS33MOV R2,#003MOV KF3,#000AJMP KS13KS32: SETB P0.7CLR P3.6JNB P0.7,KS33MOV KF3,#001KS33: RETKS4: MOV A,KF4CJNE A,#001,KS42 ;按键标志位消抖SETB P0.5CLR P3.7SETB P3.6JB P0.5,KS43MOV R2,#004MOV KF4,#000AJMP KS43KS42: SETB P0.5CLR P3.7SETB P3.6JNB P0.5,KS43MOV KF4,#001KS43: RET/**********************************************************红绿灯亮灯规则***************************************************** ********//*绿变红时:绿灯亮→绿灯闪→绿灯灭黄灯亮→黄灯灭红灯亮;红变绿时:红灯亮→红灯黄灯同时亮→红灯黄灯同时灭绿灯亮*/ LIGHT:LOOP0: MOV R5,GR ;东西向绿灯亮MOV R6,GRMOV R3,RE ;南北向红灯亮MOV R4,REMOV R0,YE ;保存原黄灯时间LOOP01: LCALL KYMOV NUM1,R6MOV NUM2,R4LCALL COUNT1LCALL COUNT2LCALL LIGHT1LCALL DP1LCALL DP2MOV A,R0XRL A,R6JNZ LOOP01LJMP LOOP1LOOP1: LCALL KYMOV NUM1,R6MOV NUM2,R4LCALL COUNT1 ;东西向绿灯闪,南北向红灯亮LCALL COUNT2LCALL LIGHT2LCALL DP1LCALL DP2MOV A,R0DEC AXRL A,R4JNZ LOOP1LJMP LOOP2LOOP2: MOV A,R0MOV R5,A ;东西向黄灯亮MOV R6,A ;南北向红黄灯亮MOV R3,#099MOV R4,#099LOOP21: LCALL KYMOV NUM1,R6MOV NUM2,R6LCALL COUNT1LCALL COUNT2LCALL LIGHT3LCALL DP1LCALL DP2MOV A,#099SUBB A,R0DEC AXRL A,R4JNZ LOOP21LJMP LOOP3LOOP3: MOV R5,RE ;东西向红灯亮MOV R6,REMOV R3,GR ;南北向绿灯亮MOV R4,GRMOV R0,YE ;保存原黄灯时间LOOP31: LCALL KYMOV NUM1,R6MOV NUM2,R4LCALL COUNT1LCALL COUNT2LCALL LIGHT4LCALL DP1LCALL DP2MOV A,R0XRL A,R4JNZ LOOP31LJMP LOOP4LOOP4: LCALL KYMOV NUM1,R6MOV NUM2,R4LCALL COUNT1 ;东西向绿灯闪,南北向红灯亮LCALL COUNT2LCALL LIGHT5LCALL DP1LCALL DP2MOV A,R0DEC AXRL A,R6JNZ LOOP4LJMP LOOP5LOOP5: MOV A,R0MOV R5,A ;东西向红黄灯亮MOV R6,A ;南北向黄灯亮MOV R3,#099MOV R4,#099LOOP51: LCALL KYMOV NUM1,R6MOV NUM2,R6LCALL COUNT1LCALL COUNT2LCALL LIGHT6LCALL DP1LCALL DP2MOV A,#099SUBB A,R0DEC AXRL A,R4JNZ LOOP51LCALL LOOP0/*******************************************************运行模式的红绿灯***************************************************** *********//**********东西向绿灯亮,南北向红灯亮**********/LIGHT1: MOV P2,#0EBHSETB P3.5CLR P3.4SETB P3.3CLR P3.2RET/**********东西向绿灯闪,南北向红灯亮*********/LIGHT2: CJNE R7,#050,LIGHT21LIGHT21: JNC LIGHT22LCALL LIGHT24AJMP LIGHT23LIGHT22: LCALL LIGHT25LIGHT23: RETLIGHT24: MOV P2,#0EBH ;东西向绿灯亮,南北向红灯亮SETB P3.5CLR P3.4SETB P3.3CLR P3.2RETLIGHT25: MOV P2,#0EFH ;东西向无灯亮,南北向红灯亮SETB P3.5CLR P3.4SETB P3.3SETB P3.2RET/*********东西向黄灯亮,南北向红黄灯亮*******/LIGHT3: MOV P2,#0A6HSETB P3.5CLR P3.4CLR P3.3SETB P3.2RET/*********东西向红灯亮,南北向绿灯亮**********/LIGHT4: MOV P2,#05DHCLR P3.5SETB P3.4SETB P3.3SETB P3.2RET/********东西向红黄灯亮,南北向绿灯闪*********/LIGHT5: CJNE R7,#050,LIGHT51LIGHT51: JNC LIGHT52LCALL LIGHT54AJMP LIGHT53LIGHT52: LCALL LIGHT55LIGHT53: RETLIGHT54: MOV P2,#05DH ;东西向红灯亮,南北向绿灯亮CLR P3.5SETB P3.4SETB P3.3SETB P3.2RETLIGHT55: MOV P2,#07DH ;东西向红灯亮,南北向无灯亮SETB P3.5SETB P3.4SETB P3.3SETB P3.2RET/********东西向红黄灯亮,南北向黄灯亮*********/LIGHT6: MOV P2,#034HSETB P3.5SETB P3.4CLR P3.3SETB P3.2RET/**********东西南北路口都变成红灯***********/LIGHT7: MOV P2,#06DHSETB P3.5CLR P3.4SETB P3.3SETB P3.2RET/*****东西南北路口都变成绿灯*****/LIGHT8: MOV P2,#0DBHCLR P3.5SETB P3.4SETB P3.3CLR P3.2RET/**************************************************中断服务程序*************************************************************** *******/INTR0: PUSH PSW ;原始时间分秒的确定PUSH AccLCALL KSMOV TH1,#0D8HMOV TL1,#0F0HINC R7CJNE R7,#100,INTR04MOV R7,#000HCJNE R1,#000,INTR04CJNE R6,#000,INTR01 ;倒计时MOV A,R5MOV R6,ALJMP INTR02INTR01: DEC R6INTR02: CJNE R4,#000,INTR03 ;倒计时MOV A,R3MOV R4,ALJMP INTR04INTR03: DEC R4INTR04: POP AccPOP PSWRETI/************************************************数码管各位显示计算*********************************************************** ********/COUNT1: MOV A,NUM1 ;计算东西向亮灯时间MOV B,#10DIV ABMOV DX2,AMOV DX1,BRETCOUNT2: MOV A,NUM2 ;计算南北向亮灯时间MOV B,#10DIV ABMOV NB2,AMOV NB1,BRET/*****************************************************数码管显示************************************************************* *********/DP1: MOV A,DX2 ;东西向两位数码管显示MOV DPTR,#TAB0MOVC A,@A+DPTRCLR P0.0MOV P1,ALCALL DL0MOV P1,#000HSETB P0.0MOV A,DX1MOV DPTR,#TAB1MOVC A,@A+DPTRCLR P0.1MOV P1,ALCALL DL0MOV P1,#000HSETB P0.1RETDP2: MOV A,NB2 ;南北向两位数码管显示MOV DPTR,#TAB0MOVC A,@A+DPTRCLR P0.2MOV P1,ALCALL DL0MOV P1,#000HSETB P0.2MOV A,NB1MOV DPTR,#TAB0MOVC A,@A+DPTRCLR P0.3MOV P1,ALCALL DL0MOV P1,#000HSETB P0.3RETDP3: CJNE R7,#050,DP31 ;设置模式时数码管显示模式DP31: JNC DP32LCALL DP2AJMP DP33DP32: LCALL DL0DP33: RET/************************************************************** *延时********************************************************** ********//*说明:延时所用的三条令,stc10f08xe中与常用的51单片机中的指令执行时间不同*/DL0: MOV DELAY_1,#16 ;延时时间:[2+(2+250*4+4)×16+4]/11.0592DL01: MOV DELAY_2,#250 ; =16102/11.0592 DJNZ DELAY_2,$ ; =1.456msDJNZ DELAY_1,DL01 ;RET ; ;TAB0: DB 03FH,006H,05BH,04FH,066H,06DH,07DH,007H,07FH,067H ;无小数点的LED字模表TAB1: DB 0BFH,086H,0DBH,0CFH,0E6H,0EDH,0FDH,087H,0FFH,0E7H ;有小数点的LED字模表END五、实验过程中遇到的问题及解决方法1、怎么将按键按描程序放入中断?改变用无延时的标志位按键扫描,然后在中断中调用。
单片机交通灯实验报告
一、实验目的1. 理解单片机在交通灯控制系统中的应用原理。
2. 掌握单片机编程方法,实现交通灯的自动控制。
3. 学会使用Proteus进行电路仿真和调试。
4. 培养动手实践能力和团队协作精神。
二、实验环境1. 硬件:STC89C52单片机、数码管、LED灯、电阻、电容、按键、三极管等元器件。
2. 软件:Keil C51、Proteus 8.0。
三、实验原理本实验基于STC89C52单片机,通过编程实现交通灯的红、黄、绿三色灯光切换,并利用数码管显示倒计时功能。
系统主要包括以下模块:1. 单片机控制模块:负责控制LED灯的亮灭和数码管的显示。
2. 数码管显示模块:显示交通灯状态和倒计时时间。
3. 按键模块:实现交通灯的紧急停用功能。
四、实验步骤1. 电路连接:根据原理图连接单片机、数码管、LED灯、电阻、电容、按键等元器件。
2. 程序编写:使用Keil C51编写单片机控制程序,实现以下功能:- 初始化单片机I/O端口;- 设置定时器中断,实现倒计时功能;- 编写主循环程序,控制LED灯的亮灭和数码管的显示;- 编写按键中断程序,实现紧急停用功能。
3. 仿真调试:使用Proteus软件对电路进行仿真,观察LED灯和数码管的显示效果,确保程序运行正确。
4. 实物测试:将程序烧录到单片机中,连接实物电路,测试交通灯控制系统是否正常工作。
五、实验结果与分析1. LED灯控制:通过编程实现LED灯的红、黄、绿三色灯光切换,模拟交通灯的运行状态。
2. 数码管显示:数码管显示倒计时时间,方便观察交通灯的运行状态。
3. 按键控制:按下按键,实现交通灯的紧急停用功能。
实验结果表明,本实验成功实现了单片机控制的交通灯系统,达到了预期目标。
六、实验总结1. 通过本次实验,掌握了单片机编程方法,实现了交通灯的自动控制。
2. 学会了使用Proteus进行电路仿真和调试,提高了动手实践能力。
3. 培养了团队协作精神,与同学共同完成了实验任务。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
.课程设计课题名称智能交通信号灯姓名学号班级专业所在系指导教师完成日期智能交通信号灯摘要本设计是在熟练掌握单片机及其仿真系统使用方法基础上,综合应用单片机原理、微机原理等课程方面的知识,设计一个采用AT89C52单片机控制的交通灯控制电路。
该设计结合实际情况给出了一种简单低成本城市交通灯控制系统的硬件及软件设计方案、各个路口交通灯的状态循环显示,并对程序流程图进行详细讲解分析。
交通在人们的日常生活中占有重要的地位,随着人们社会活动的日益频繁,这点更是体现的淋漓尽致。
交通信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
近年来随着科技的飞速发展,单片机的应用正在不断深入,同时带动传统控制检测技术日益更新。
在实时检测和自动控制的单片机应用系统中,单片机往往作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构软硬件结合,加以完善。
根据给出的要求设计交通灯东西、南北两干道交于一个十字路口各干道有一组红、黄、绿三色的指示灯指挥车辆和行人安全通行。
红灯亮禁止通行绿灯亮允许通行。
黄灯亮提示人们注意红、绿灯的状态即将切换且黄灯亮的时间为东西、南北两干道的公共停车时间。
关键词:电子线路;AT89C52 ;LED 交通灯。
目录一、绪论 (4)二、总体设计方案 (5)1.设计思路 (5)2.设计目的 (5)3.设计任务和内容 (6)(1)设计任务 (6)4.电源提供方案 (6)5.复位方案 (6)6.输入方案 (6)三、显示界面方案 (7)四、交通管理的方案论证 (8)五、芯片简介 (9)1.AT89S52单片机简介 (9)2.主要性能 (9)3.功能特性描述 (10)六、设计原理分析 (13)1.交通灯显示时序的理论分析与计算 (13)2.交通灯显示时间的理论分析与计算 (16)七、LED数码管显示模块 (16)1.静态显示方式 (16)八、复位电路 (18)九、晶振电路 (18)十、总结与谢词 (19)十一、参考文献 (20)十二、附录 (20)附录1:程序清单 (20)附录2:电路设计图 (23)一、绪论当今,红绿灯安装在各个道口上,已经成为疏导交通车辆最常见和最有效的手段。
但这一技术在19世纪就已出现了。
1858年,在英国伦敦主要街头安装了以燃煤气为光源的红,蓝两色的机械扳手式信号灯,用以指挥马车通行。
这是世界上最早的交通信号灯。
1868年,英国机械工程师纳伊特在伦敦威斯敏斯特区的议会大厦前的广场上,安装了世界上最早的煤气红绿灯。
它由红绿两以旋转式方形玻璃提灯组成,红色表示“停止”,绿色表示“注意”。
1869年1月2日,煤气灯爆炸,使警察受伤,遂被取消。
电气启动的红绿灯出现在美国,这种红绿灯由红绿黄三色圆形的投光器组成,1914年始安装于纽约市5号大街的一座高塔上。
红灯亮表示“停止”,绿灯亮表示“通行”。
1918年,又出现了带控制的红绿灯和红外线红绿灯。
带控制的红绿灯,一种是把压力探测器安在地下,车辆一接近红灯便变为绿灯;另一种是用扩音器来启动红绿灯,司机遇红灯时按一下嗽叭,就使红灯变为绿灯。
红外线红绿灯当行人踏上对压力敏感的路面时,它就能察觉到有人要过马路。
红外光束能把信号灯的红灯延长一段时间,推迟汽车放行,以免发生交通事故。
信号灯的出现,使交通得以有效管制,对于疏导交通流量、提高道路通行能力,减少交通事故有明显效果。
1968年,联合国《道路交通和道路标志信号协定》对各种信号灯的含义作了规定。
绿灯是通行信号,面对绿灯的车辆可以直行,左转弯和右转弯,除非另一种标志禁止某一种转向。
左右转弯车辆都必须让合法地正在路口内行驶的车辆和过人行横道的行人优先通行。
红灯是禁行信号,面对红灯的车辆必须在交叉路口的停车线后停车。
黄灯是警告信号,面对黄灯的车辆不能越过停车线,但车辆已十分接近停车线而不能安全停车时可以进入交叉路口。
二、总体设计方案1.设计思路以单片机为核心器件,对系统进行控制,外加辅助电路对系统参数进行必要的设置和显示。
交通信号灯的显示时间可以固定,也可用键盘重新设置,时间控制和LED显示均由单片机进行控制。
交通信号灯控制系统主要可以分为定时、红绿灯转换、倒计时显示等三个控制模块,单片机作为系统的控制单元,在系统中的作用主要有以下几个方面:(1)利用单片机中的定时器循环出一秒时间,然后将它累计到处于活动状态的寄存器中。
寄存器里的计数是递减的,一秒时间到则减1,直到计数为0,说明定时时间到。
(2)定时时间到后,单片机将对寄存器地址进行判断,不同的寄存器对应不同的红绿灯显示。
(3)每次一秒时间到,寄存器自减1后,还要将寄存器中的值,也就是剩余的秒数反映到LED显示器上,构成倒计时显示。
(4)扫描键盘上的数值,并将它反映到特定的寄存器里,根据寄存器的存储值对定时程序进行重新置数操作2.设计目的(1)加强对单片机和汇编语言的认识,充分掌握和理解设计各部分的工作原理、设计过程、选择芯片器件、模块化编程等多项知识。
(2)用单片机模拟实现具体应用,使个人设计能够真正使用。
(3)把理论知识与实践相结合,充分发挥个人能力,并在实践中锻炼。
(4)提高利用已学知识分析和解决问题的能力。
(5)提高实践动手能力。
3.设计任务和内容(1)设计任务单片机采用用AT89C52芯片,使用发光二极管(红,黄,绿)代表各个路口的交通灯,用8段数码管对转换时间进行倒时(东西路口25秒,南北路口20秒,黄灯时间5秒)。
(2)设计内容a设计并绘制硬件电路图b制作PCB并焊接好元器件c编写程序并将调试好的程序固化到单片机中4.电源提供方案为使模块稳定工作,须有可靠电源,采用单片机控制模块提供电源。
此方案的优点是系统简明扼要,节约成本;缺点是输出功率不高。
5.复位方案复位方式有两种:按键复位与软件复位。
由考虑到程序的简洁,避免冗长,本设计采用按键复位,在芯片的复位端口外接复位电路,通过按键对单片机输入一个高电平脉冲,达到复位的目的。
6.输入方案方案一:采用89S52扩展I/O 口及键盘,显示等。
该方案的优点是:使用灵活可编程,并且有RAM,及计数器。
若用该方案,可提供较多I/O口,但操作起来稍显复杂。
方案二:直接在IO口线上接上按键开关。
因为设计时精简和优化了电路,所以剩余的口资源还比较多,我们使用2个按键,分别是K1、K2。
由于该系统对于交通灯及数码管的控制,只用单片机本身的I/O 口就可实现,且本身的计数器及RAM已经够用,故选择方案二三、显示界面方案该系统要求完成倒计时、状态灯等功能。
基于上述原因,我们考虑了三种方案:方案一:完全采用数码管显示。
这种方案只显示有限的符号和数码字符,无法胜任题目要求。
方案二:完全采用点阵式LED 显示。
这种方案实现复杂,且须完成大量的软件工作;但功能强大,可方便的显示各种英文字符,汉字,图形等。
方案三:采用数码管与点阵LED (点阵式和8段式LED)相结合的方法因为设计既要求倒计时数字输出,又要求有状态灯输出等,为方便观看并考虑到现实情况,用数码管与LED灯分别显示时间与提示信息。
这种方案既满足系统功能要求,又减少了系统实现的复杂度。
权衡利弊,第三种方案可互补一二方案的优缺,我们决定采用方案三以实现系统的显示功能。
设计方框图整个设计以AT89S52单片机为核心,由数码管显示,LED 数码管显示,复位电路组成。
硬件模块入图1-1。
图1四、交通管理的方案论证东西、南北两干道交于一个十字路口,各干道有一组红、黄、绿三色的指示灯,指挥车辆和行人安全通行。
红灯亮禁止通行,绿灯亮允许通行。
黄灯亮提示人们注意红、绿灯的状态即将切换,且黄灯燃亮时间为东西、南北两干道的公共停车时间。
指示灯燃亮的方案如表2。
图2 说明:AT89S52单片机数码管显示 LED 数码管显示晶振电路复位电路(1) 当东西方向为红灯,此道车辆禁止通行,东西道行人可通过;南北道为绿灯,此道车辆通过,行人禁止通行。
时间为25秒。
(2) 黄灯5秒,警示车辆和行人红、绿灯的状态即将切换。
(3) 当东西方向为绿灯,此道车辆通行;南北方向为红灯,南北道车辆禁止通过,行人通行。
时间为25秒。
(4) 这样如上表的时间和红、绿、黄出现的顺序依次出现这样行人和车辆就能安全畅通的通行。
五、芯片简介1.AT89S52单片机简介其引DIP封装的脚图如下:图32.主要性能与MCS-51单片机产品兼容、8K字节在系统可编程Flash存储器、1000次擦写周期、全静态操作:0Hz~33Hz 、三级加密程序存储器、32个可编程I/O口线、三个16位定时器/计数器八个中断源、全双工UART串行通道、低功耗空闲和掉电模式、掉电后中断可唤醒、看门狗定时器、双数据指针、掉电标识符。
3.功能特性描述At89C52 是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。
使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89C52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
AT89C52具有以下标准功能:8k字节Flash,256字节RAM,32 位I/O 口线,看门狗定时器,2 个数据指针,三个16 位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89C52 可降至0Hz 静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU 停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止。
8 位微控制器8K 字节在系统可编程Flash AT89C52 P0 口:P0口是一个8位漏极开路的双向I/O口。
作为输出口,每位能驱动8个TTL逻辑电平。
对P0端口写“1”时,引脚用作高阻抗输入。
当访问外部程序和数据存储器时,P0口也被作为低8位地址/数据复用。
在这种模式下,P0具有内部上拉电阻。
在flash编程时,P0口也用来接收指令字节;在程序校验时,输出指令字节。
程序校验时,需要外部上拉电阻。
驱动4 个TTL 逻辑电平。
对P1 端口写“1”时,内部上拉电阻把端口拉高,此时可以作为输入口使用。
作为输入使用时,被外部拉低的引脚由于内部电阻的原因,将输出电流(IIL)。
此外,P1.0和P1.2分别作定时器/计数器2的外部计数输入(P1.0/T2)和时器/计数器2 的触发输入(P1.1/T2EX),具体如下表所示。
在flash编程和校验时,P1口接收低8位地址字节。