单片机模拟汽车信号灯实训报告

合集下载

交通信号灯控制实验——单片机实验报告

交通信号灯控制实验——单片机实验报告

实验名称:交通灯信号控制实验一、实验目的:1.学习P1口的使用方法;2.学习延时子程序的编写;3. 学习单片机的开发环境及流程。

二、实验内容及步骤:以P1口作为输出口,控制6个发光二极管,模拟交通信号灯的管理。

在实验仪上选择两组红、黄、绿指示灯,代表交通信号灯。

要求:设有一个十字路口为东西南北方向,其中东西方向为支路,南北方向为主路。

初始状态为4个路口的红灯全亮。

之后,南北路口的绿灯亮,东西路口的红灯亮。

南北路口方向通车,延时20秒后,南北路口的绿灯熄灭,黄灯开始闪烁,闪烁5次后红灯亮。

而同时东西方向路口的绿灯亮,东西方向开始通车,延时10秒后,东西路口的绿灯熄灭,而黄灯开始闪烁。

闪烁5次后,再切换到南北路口的绿灯亮,东西路口的红灯亮。

之后重复上述过程。

三、实验电路四、程序流程图五、单片机程序(*.lst文件)A51 MACRO ASSEMBLER JIAOTONGDENG 04/17/2010 11:17:58 PAGE 1MACRO ASSEMBLER A51 V7.01OBJECT MODULE PLACED IN jiaotongdeng.OBJASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE jiaotongdeng.asm SET(SMALL) DEBUG EPLOC OBJ LINE SOURCE0000 1 ORG 0000H230000 759018 4 START: MOV P1,#00011000B0003 1155 5 CALL DALY1 ;调用0.5s延时子程序0005 7590DB 6 MOV P1,#11011011B0008 1133 7 CALL DALY;调用20s子程序000A 7805 8 MOV R0,#5H000C 74DD 9 LOOP1: MOV A,#11011101B ;P1口状态000E F590 10 MOV P1,A0010 1155 11 CALL DALY1 ; 调用0.5s延时子程序0012 74DF 12 MOV A,#11011111B0014 F590 13 MOV P1,A0016 1155 14 CALL DALY1 ;调用0.5s延时子程序0018 D8F2 15 DJNZ R0,LOOP1001A 747E 16 MOV A,#01111110B001C F590 17 MOV P1,A001E 1144 18 CALL DALY2 ;调用10s延时子程序0020 7805 19 MOV R0,#5H0022 74BE 20 LOOP2: MOV A,#10111110B0024 F590 21 MOV P1,A0026 1155 22 CALL DALY1 ;调用0.5s延时子程序0028 74FE 23 MOV A,#11111110B002A F590 24 MOV P1,A002C 1155 25 CALL DALY1 ;调用0.5s延时子程序002E D8F2 26 DJNZ R0,LOOP20030 020000 27 LJMP START2829 ;20s延时子程序0033 7C64 30 DALY:MOV R4,#1000035 7B64 31 DELAY1:MOV R3,#1000037 7A14 32 DELAY2:MOV R2,#200039 792D 33 DELAY3:MOV R1,#45003B D9FE 34 DELAY4:DJNZ R1,DELAY4003D DAFA35 DJNZ R2,DELAY3003F DBF6 36 DJNZ R3,DELAY20041 DCF2 37 DJNZ R4,DELAY10043 22 38 RET3940 ;10s延时子程序0044 7C64 41 DALY2:MOV R4,#1000046 7B64 42 DEAY1:MOV R3,#1000048 7A0A43 DEAY2:MOV R2,#10004A 792D 44 DEAY3:MOV R1,#45004C D9FE 45 DEAY4:DJNZ R1,DEAY4004E DAFA46 DJNZ R2,DEAY30050 DBF6 47 DJNZ R3,DEAY20052 DCF2 48 DJNZ R4,DEAY10054 22 49 RET5051 ;0.5s延时子程序0055 7C64 52 DALY1: MOV R4,#1000057 7B64 53 DEY1: MOV R3,#1000059 7A19 54 DEY2: MOV R2,#25005B DAFE 55 DEY3: DJNZ R2,DEY3005D DBFA56 DJNZ R3,DEY2005F DCF6 57 DJNZ R4,DEY10061 22 58 RET04/17/2010 11:17:58 PAGE 25960 END04/17/2010 11:17:58 PAGE 3SYMBOL TABLE LISTING------ ----- -------六、实验总结及感想本次实验主要学习了单片机的开发环境和程序调试及运行两种模式,并通过交通灯信号控制实验进行了实例演练。

单片机交通灯实验报告

单片机交通灯实验报告

单片机交通灯实验报告简介本实验通过使用单片机设计并实现一个交通灯控制系统,模拟城市道路上的交通信号灯。

实验过程中,我们通过编程控制不同灯的亮灭状态,实现交通灯的循环变换,以此来模拟车辆和行人的行进。

实验材料•单片机•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. 确定电路所需元件:单片机、LED灯、电阻等。

2. 组装硬件电路:按照电路图进行元件的连接,确保电路的正确连接。

3. 设计适当的电源:为单片机和LED灯提供稳定的电源。

二、程序编写1. 定义程序所需的IO口:确定控制LED灯的IO口。

2. 初始化单片机:设置单片机的工作频率和中断。

3. 设计交通灯的流程控制:根据实际的交通灯变化规律,设计程序的流程控制。

4. 编写交通灯控制的函数:使用if-else语句或switch-case语句编写函数控制交通灯的变化。

5. 调试程序:通过单片机调试工具或仿真软件,检查程序运行的正确与否。

三、实验结果分析1. 观察实验现象:通过实验现场观察交通灯的变化,记录每一种灯亮的时间和顺序。

2. 分析实验结果:根据实验记录,分析交通灯的工作原理和实现的准确性。

3. 比较与设计要求的符合度:将实验结果与设计要求进行比较,评估实验的完成度。

4. 探讨存在问题与改进方向:分析实验中可能存在的问题,并提出改进措施。

四、小结本文介绍了单片机交通灯实验的设计与实现。

通过硬件设计和程序编写,实现了交通灯的变化控制。

通过实验结果分析,我们可以得出实验的有效性和可行性。

当然,实验中也存在一些问题,需要进一步改进。

在后续的实验中,我们将进一步完善交通灯的控制,提高其实际应用的稳定性和可靠性。

总结:本文详细介绍了单片机交通灯实验的设计与实现,包括硬件设计、程序编写和实验结果分析。

通过该实验,我们对交通灯的工作原理和控制方法有了更为深入的了解,并对实验的经验和教训进行了总结。

相信在今后的学习和实践中,我们能够更好地应用单片机技术,为实现交通管理的智能化和高效化作出贡献。

单片机交通灯实习报告

单片机交通灯实习报告

一、实习背景随着我国城市化进程的加快,城市交通压力日益增大,交通拥堵问题日益突出。

为了提高交通效率,保障交通安全,交通信号灯控制系统的设计与研究显得尤为重要。

本实习项目旨在通过单片机技术,实现对交通灯的智能控制,提高交通路口的通行效率和安全性。

二、实习目的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. 系统具有故障自诊断、手动/自动切换等功能,提高了系统的可靠性和实用性。

五、实习总结通过本次单片机交通灯实习,我掌握了单片机的基本原理和编程方法,熟悉了交通信号灯控制系统的设计方法,提高了实际动手能力和问题解决能力。

单片机红绿灯实训日记

单片机红绿灯实训日记

单片机红绿灯实训日记
XXXX年XX月XX日星期X 晴
实训目的:掌握单片机的应用,通过制作红绿灯模型,了解实际交通信号灯的工作原理和控制方式。

实训器材:单片机开发板、LED灯(红、绿、黄各一个)、杜邦线若干、面包板、电脑及编程软件。

实验步骤:
搭建硬件电路:将LED灯分别接到单片机开发板的对应引脚上,使用杜邦线连接电源。

编写程序:使用C语言编写程序,控制单片机输出高低电平,实现红绿灯的亮灭。

调试程序:将程序编译后下载到单片机开发板上,观察LED灯是否按照预期亮灭。

优化程序:根据实际情况调整程序,实现红绿灯的定时切换和倒计时功能。

记录与发现:在编写程序过程中,我发现通过调整延时函数的参数,可以改变红绿灯切换的时间间隔。

同时,使用定时器中断可以更加精确地控制时间。

实训心得:通过这次实训,我深入了解了单片机的应用和编程技巧。

在制作过程中,我不仅学会了如何搭建硬件电路,还掌握了LED灯的控制方法。

此外,这次实训也锻炼了我的逻辑思维和解决问题的能力。

在今后的学习和实践中,我将继续努力,提高自己的技能水平。

单片机交通灯实验报告

单片机交通灯实验报告

单片机交通灯实验报告交通灯是城市交通管理的重要组成部分,它能够规范车辆和行人的通行秩序,保障交通安全。

为了进一步学习交通灯的原理和掌握其设计,我们进行了一次单片机交通灯实验。

本次实验使用单片机和几个LED灯,通过对单片机的编程控制来实现交通灯的自动切换。

下面是我对该实验进行的详细记录和分析。

首先,我们需要连接电路。

我们采用的是STC89C52单片机,使用3个LED灯来模拟红灯、黄灯和绿灯。

利用杜邦线将LED灯连接到单片机的GPIO口,另外还需要连接一个电位器到单片机的模拟口,用来控制红灯亮灭的时间。

接下来,我们进行了单片机的编程。

我们使用C语言编写程序,利用单片机提供的GPIO口控制LED灯的亮灭,从而实现交通灯的控制。

我们通过控制红灯、黄灯和绿灯的亮灭时间,模拟真实交通灯的工作。

在编写程序的过程中,我们首先做了一些准备工作。

我们初始化了单片机的GPIO口,设定了红灯、黄灯和绿灯的引脚。

然后,我们使用一个循环语句不断地进行交通灯的切换。

具体来说,我们将交通灯控制划分为红灯、绿灯和黄灯三个状态,利用if-else语句对不同状态进行判断并进行相应的控制。

通过对红灯亮灭时间的控制,我们能够实现交通灯的自动切换。

在程序设计的过程中,我们还考虑了交通灯的变化时间。

我们在红灯和绿灯之间设置了一个黄灯过渡时间,以模拟真实交通灯的工作。

同时,我们还设置了一个迟滞时间,使得每个状态之间的切换更加顺滑。

通过这次实验,我们进一步了解了交通灯的工作原理和掌握了单片机的编程技巧。

通过对交通灯的模拟,我们成功地实现了交通灯的自动切换。

总结起来,这次实验不仅提高了我们对交通灯的认识,还锻炼了我们的动手能力和创新思维。

在今后的学习和工作中,我们将继续学以致用,将所学的知识应用到实际问题中。

让我们共同努力,为交通安全做出贡献。

单片机交通灯实验报告(二)

单片机交通灯实验报告(二)

单片机交通灯实验报告(二)引言概述本报告旨在介绍单片机交通灯实验的进一步研究。

通过对单片机交通灯实验的深入探讨,我们将了解交通信号灯电路的设计原理、控制逻辑以及实际应用的相关知识。

本文将分为五个大点进行阐述,包括:电路设计、控制逻辑编程、硬件连接、功能扩展和实验结果分析。

正文一、电路设计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. 提出改进交通信号灯设计的建议总结通过本文详细的阐述,我们了解了单片机交通灯实验的电路设计、控制逻辑编程、硬件连接、功能扩展以及实验结果分析等方面的知识。

这些内容不仅对于我们更深入地了解交通信号灯的工作原理和应用具有重要意义,而且为我们开展相关实际项目提供了指导和启示。

希望本报告能够帮助读者更好地理解和应用单片机交通灯实验。

单片机红绿灯的设计实验报告

单片机红绿灯的设计实验报告

单片机红绿灯的设计实验报告一、实验目的1.了解单片机的基本功能与使用方法;2.学习使用Keil C51 编译器和Proteus仿真软件;3.掌握单片机编程语言C语言的基本语法和直接控制IO口的方法;4.通过设计红绿灯控制系统,加深对单片机的理解并培养自己的创新意识。

二、实验基本原理1.单片机的基本组成①微处理器是主要控制计算机系统工作的核心部件,包括指令寄存器、程序计数器、通用寄存器、测试和调试功能等。

②存储器存储程序和数据,常见的有ROM、EPROM、RAM等。

③输入输出端口把微处理器与外部器件相连,常见的有通用输入输出口I/O口、定时器/计数器、串行通信口等。

2.单片机的编程基础C语言是单片机编程最常用的编程语言之一,其基本语法与PC编程语言相同,但要了解单片机IO口的使用和编程方法。

3.红绿灯系统的设计本系统采用双向流量控制时相同步控制灯光,主要由四个模块组成:(1)计数器模块计数器模块是用来设置红绿灯系统时间的基本模块,通过定时器,定时器溢出时计数器加1,灯开始切换。

(2)红灯亮模块红灯亮模块是用来控制红灯亮起的模块,主要是通过配置P1.0口来实现,当P1.0输出1时亮红灯,P1.0输出0时灯灭。

(3)绿灯亮模块绿灯亮模块是用来控制绿灯亮起的模块,主要是通过配置P1.1口来实现,当P1.1输出1时亮绿灯,P1.1输出0时灯灭。

(4)黄灯亮模块黄灯亮模块是用来控制黄灯亮起的模块,主要是通过配置P1.2口来实现,当P1.2输出1时亮黄灯,P1.2输出0时灯灭。

三、实验步骤1. 确定系统方案,设计电路图;2. 编写程序代码;3. 进行仿真并调试代码;4. 进行实际验收,验收并记录实验结果。

四、实验步骤详解1.系统电路图设计本次实验采用晶振频率为12MHz的AT89S52单片机来控制红绿灯顺序切换。

其电路原理图如下所示:其中,SW1、SW2分别连接到P2.0、P2.1口,模拟车辆通过;LED1、LED2、LED3接到P1.0、P1.1、P1.2口,表示红灯、黄灯、绿灯。

_单片机汽车灯光控制器

_单片机汽车灯光控制器

_单片机汽车灯光控制器____ 专业 _单片机原理与应用系统设计实验报告实验者学号班级组别同组者___________________ 实验评阅教师签名__________________ 实验编号________ 实验名称 ____单片机汽车灯光控制器一、实验目的1、进一步熟悉单片机I/O口的使用。

2、了解一个简单具体的单片机应用系统的软硬件设计。

二、实验相关知识汽车灯光作为汽车的专用语言,直接反应了汽车的行驶方向,驾驶人的动机和意图。

因此,为保证行车安全,必须保证车灯的齐全有效和正确使用。

汽车灯光种类非常多,包括:前照灯(包括远光、近光)、前位灯、后位灯、牌照灯、仪表灯、转向灯、制动灯、危险报警灯、倒车灯、前雾灯等。

驾驶员通过按钮或开关对这些灯光进行控制。

实际上这些按钮或开关都是接在汽车的控制器的输入端,当控制器的输入端输入端检测到按钮或开关有变化时,就输出信号继电器,打开相应的汽车灯光。

80C51系列单片机有4个8位的双向I/O口(P0-P3),完全可以胜任汽车灯光控制器。

三、实验内容1、打开ISIS 7 Professional,参照“二;实验电路”设计仿真电路原理图。

2、编写程序实现:(1)分别实现控制左转向灯、右转向灯、倒车灯和故障灯。

(2)在打开倒车灯的同时,可以实现控制左转向灯、右转向灯。

(3)在打开倒车灯和故障灯的同时,实现控制左转向灯、右转向灯。

要求(1)、(2)、(3)倒车灯打开后常亮,其他灯按一定时间间隔闪烁。

四、实验连线L1-L4连接P1.0-P1.3, P3.0-L, P3.1-R, P3.2-D , P3.3-U, GND-GND+5V连接+5V五、程序//硬件L1-L4分别接P10-P13,P30接L,P31接R,P32接D,P33接U,+5v接+5v,GND接GND。

#include //片内寄存器定义#include //输入/输出函数库#include //内部函数库/****************LED Demo****************描述:用单片机I/O口实现汽车灯光控制器功能:分别实现控制左转向灯、右转向灯、倒车灯和故障灯作者日期:2013年5月25日版次:Keil uVision4**************** End ****************/sbit leftSwitch=P3^0;//左转向灯开关sbit rightSwitch=P3^1;//右转向灯开关sbit backSwitch=P3^2;//倒车灯开关sbit errSwitch=P3^3;//故障灯开关sbit leftLed=P1^0;//左转向灯sbit rightLed=P1^1;//右转向灯sbit backLed=P1^2;//倒车灯sbit errLed=P1^3;//故障灯#define TURN_ON_leftLed leftLed=0#define TURN_OFF_leftLed leftLed=1#define TURN_ON_rightLed rightLed=0#define TURN_OFF_rightLed rightLed=1#define TURN_ON_backLed backLed=0#define TURN_OFF_backLed backLed=1#define TURN_ON_errLed errLed=0#define TURN_OFF_errLed errLed=1void time(unsigned int ucMs);//延时单位:msvoid main (void){while(1){while (!leftSwitch){//打开左转向灯TURN_ON_leftLed;time(200);TURN_OFF_leftLed;time(200);}while (!rightSwitch){//打开右转向灯TURN_ON_rightLed;time(200);TURN_OFF_rightLed;time(200);}while (!backSwitch){//打开倒车灯TURN_ON_backLed;time(200);TURN_OFF_backLed;time(200);}while (!errSwitch){//打开故障灯TURN_ON_errLed;time(200);TURN_OFF_errLed;time(200);}}}/********************************描述:延时5us,晶振改变时只用改变这一个函数!1,对于11.0592M晶振而言,需要2个_nop_();2,对于22.1184M晶振而言,需要4个_nop_();功能:延时5us入口参数:无返回值:无********************************/void delay_5us(void) //延时5us,晶振改变时只用改变这个函数!{_nop_();_nop_();_nop_();_nop_();}//***************************delay_50us********************/ void delay_50us(void) //延时50us{unsigned char i;for(i=0;i<4;i++){delay_5us();}}//*******************延时100us**************/void delay_100us(void){delay_50us();delay_50us();}/****************延时函数***************描述:分别实现控制器的左转向灯、右转向灯、倒车灯和故障灯。

单片机简易信号灯实验报告

单片机简易信号灯实验报告

单片机简易信号灯实验报告背景信号灯是城市交通管理中常见的设备,用于指示车辆和行人何时可以通行。

在本实验中,我们使用单片机来模拟一个简易的信号灯系统。

通过控制LED灯的亮灭,实现红、黄、绿三种状态的切换。

实验目的1.掌握单片机IO口输出控制方法;2.理解并能够编写简单的程序控制LED灯的亮灭;3.实现一个基本的信号灯系统。

实验材料•STC89C52 单片机开发板•LED 灯(红、黄、绿各1个)•电阻•连接线实验原理与分析单片机IO口输出控制方法单片机通过IO口来控制外部设备,其中有两种常见的方式: 1. 直接驱动:将IO 口设置为输出模式,并将电平设置为高或低,以直接驱动外部设备。

2. 经过放大驱动:通过外部元件(如三极管)放大电流,再驱动外部设备。

在本实验中,我们使用直接驱动方式来控制LED灯。

LED 灯驱动原理LED(Light Emitting Diode)是一种能够发光的二极管。

当正向电压施加在LED 上时,电子和空穴结合并释放出光子,产生可见光。

LED灯有两个引脚,其中一个是正极(长脚),另一个是负极(短脚)。

为了使LED灯正常工作,需要限流电阻来控制通过LED的电流。

通常情况下,使用220欧姆的电阻与LED串联,以限制电流在安全范围内。

信号灯系统设计信号灯系统由红、黄、绿三个状态组成。

每个状态持续一定时间后切换到下一个状态。

在本实验中,我们使用单片机控制三个LED灯分别表示红、黄、绿三种状态。

通过程序控制IO口输出高低电平来实现LED灯的亮灭。

具体设计如下: - 当红灯亮时,其他两个灯应该熄灭; - 当黄灯亮时,其他两个灯应该熄灭; - 当绿灯亮时,其他两个灯应该熄灭。

实验步骤1.连接硬件:将单片机开发板上的IO口与对应的LED灯连接,在LED与单片机之间串联220欧姆电阻。

2.编写程序:使用C语言编写程序,通过控制IO口输出高低电平来实现信号灯的切换。

3.烧录程序:使用烧录器将程序烧录到单片机中。

单片机交通灯实验报告

单片机交通灯实验报告

单片机交通灯实验报告本实验旨在通过单片机控制,实现交通信号灯的模拟,以达到以下目的:通过模拟交通信号灯的控制,理解交通信号灯的工作原理和优化交通流量的方法。

本实验采用单片机作为主控芯片,通过编程设定各个交通信号灯的亮灭时间,以模拟交通信号灯的工作。

实验中采用LED灯模拟交通信号灯,红灯表示停止,绿灯表示通行,黄灯表示警告。

通过单片机的控制,可以实现交通信号灯的顺序切换,从而达到控制交通的目的。

准备材料:单片机、LED灯(红、绿、黄三个)、电阻、杜邦线、面包板、电脑及编程软件。

搭建电路:将LED灯分别连接到单片机的P1端口,并添加电阻以保护LED灯。

使用杜邦线将单片机与电脑连接,以便进行编程。

编程:使用C语言编写程序,控制交通信号灯的亮灭时间和顺序。

程序中应包含初始化函数、主函数和延时函数等基本元素。

其中,初始化函数用于设置LED灯的初始状态;主函数用于循环读取按键输入并控制LED灯的亮灭;延时函数用于实现交通信号灯的顺序切换。

调试:将程序下载到单片机中,观察交通信号灯的实际运行情况。

如有问题,可通过调整程序中的参数或重新编写程序进行优化。

数据记录与分析:记录每次实验的数据,包括LED灯的亮灭时间、交通流量等。

分析实验数据,得出结论并提出改进意见。

在本次实验中,我们成功地实现了交通信号灯的模拟。

通过调整程序中的参数,我们观察到交通信号灯的亮灭时间和顺序对交通流量的影响。

在早高峰时段,我们将红灯时间设置为较长时间,以减缓交通压力;在平峰时段,我们将绿灯时间设置为较长时间,以加快车辆通行速度。

同时,我们也注意到黄灯设置的重要性,它能够提醒司机注意交通安全。

在实验过程中,我们还发现了一些问题,例如在某些情况下,车辆在绿灯亮起时未能及时启动,导致交通拥堵。

针对这一问题,我们建议在程序中增加一个启动提醒功能,以提醒司机及时启动车辆。

通过本次实验,我们深入了解了单片机的原理和应用,并成功地模拟了交通信号灯的工作过程。

信号灯单片机实训报告

信号灯单片机实训报告

一、实训背景随着城市化进程的加快,交通流量日益增大,交通信号灯系统作为城市交通管理的重要手段,对于提高道路通行效率、保障交通安全具有至关重要的作用。

为了让学生更好地了解和掌握单片机在交通信号灯控制系统中的应用,我们进行了信号灯单片机实训。

二、实训目的1. 熟悉单片机的硬件结构和编程方法。

2. 掌握交通信号灯控制系统的设计原理和实现方法。

3. 培养学生的动手能力和创新意识。

三、实训内容1. 硬件设计本实训选用51单片机作为主控单元,利用P1口输出控制红、黄、绿三色LED 灯的亮灭。

同时,通过P2口连接4个7段数码管,用于显示倒计时时间。

硬件电路主要包括以下部分:- 51单片机- 4个LED灯(红、黄、绿)- 4个7段数码管- 电阻、电容等元件2. 软件设计软件设计主要包括以下功能:- 红绿灯控制:根据预设的时间,控制红、黄、绿三色LED灯的亮灭。

- 倒计时显示:在数码管上显示倒计时时间。

- 中断控制:通过外部中断实现紧急情况下的信号灯控制。

软件设计流程如下:1. 初始化硬件资源,包括单片机端口、LED灯和数码管。

2. 设置定时器,实现定时中断。

3. 在定时中断服务程序中,根据预设的时间控制红、黄、绿三色LED灯的亮灭。

4. 在数码管上显示倒计时时间。

5. 设置外部中断,实现紧急情况下的信号灯控制。

四、实训过程1. 硬件搭建首先,根据设计电路图,将51单片机、LED灯、数码管等元件焊接在电路板上。

注意,在焊接过程中要注意元件的极性,避免损坏元件。

2. 软件编程使用C语言编写程序,实现信号灯控制功能。

在编程过程中,注意以下要点:- 熟悉单片机的指令系统和寄存器。

- 掌握定时器、中断等功能的实现方法。

- 注意程序的逻辑性和可读性。

3. 调试与测试将编写好的程序烧录到单片机中,进行调试和测试。

在测试过程中,观察信号灯的亮灭情况、倒计时时间的显示以及紧急情况下的信号灯控制。

五、实训结果经过调试和测试,信号灯单片机实训取得了以下成果:1. 成功实现了红、黄、绿三色LED灯的控制,并根据预设的时间进行倒计时显示。

单片机单点交通灯实习报告

单片机单点交通灯实习报告

单片机交通灯实习报告一、前言随着我国经济的快速发展,汽车数量的猛增,城市交通压力越来越大。

为了提高交通效率和安全性,智能交通控制系统的需求日益迫切。

单片机交通灯控制系统作为一种智能交通管理手段,能够根据实时交通流量自动调整红绿灯的切换时间,实现交通信号的智能化管理。

本实习报告围绕单片机交通灯控制系统的设计与实现展开,详细介绍了系统的设计思路、硬件选型、软件编程及实验结果。

二、系统设计1. 设计目标本设计旨在通过单片机技术实现对交通灯的智能控制,提高交通路口的通行效率和安全性。

系统能够根据实时交通流量自动调整红绿灯的切换时间,实现交通信号的智能化管理。

2. 系统组成(1)单片机:作为系统的核心控制器,负责接收传感器信号、处理数据、输出控制指令。

(2)交通灯模块:包括红灯、黄灯和绿灯,用于指示车辆和行人的通行状态。

(3)传感器模块:可包括车辆检测传感器、行人检测传感器等,用于实时检测交通路口的车辆和行人流量。

(4)显示模块:可选配,用于显示当前交通状态、剩余时间等信息,方便驾驶员和行人了解交通情况。

(5)按键模块:用于设置和修改交通灯的工作模式和参数。

(6)电源模块:为整个系统提供稳定的电力供应。

3. 工作原理系统上电后,单片机进行初始化操作,包括设置初始参数、检测硬件连接状态等。

然后通过传感器模块实时检测交通路口的车辆和行人流量,将数据传输给单片机。

单片机根据接收到的交通流量数据,结合预设的算法和规则,计算出当前红绿灯的切换时间,并输出控制指令,控制交通灯模块的显示状态。

同时,显示模块可以显示当前交通状态和剩余时间,方便驾驶员和行人了解交通情况。

三、硬件设计1. 单片机选型本设计采用STC89C51单片机,该单片机具有丰富的外设资源、强大的功能和较低的成本,非常适合用于交通灯控制系统。

2. 交通灯模块交通灯模块包括红灯、黄灯和绿灯,通过继电器实现灯色的切换。

继电器驱动电路采用晶体管驱动,具有驱动能力强、响应速度快的特点。

单片机简易信号灯实验报告

单片机简易信号灯实验报告

单片机简易信号灯实验报告单片机简易信号灯实验报告一、引言信号灯是城市交通管理中非常重要的一种交通设施,它能够有效地引导车辆和行人的通行,提高交通效率和安全性。

本实验旨在通过使用单片机来模拟一个简易的信号灯系统,探索单片机在控制系统中的应用。

二、实验目的1. 理解并掌握单片机的基本工作原理;2. 学习使用C语言编程控制单片机;3. 实现一个简易的信号灯系统,并能够正常运行。

三、实验器材与软件1. 单片机开发板:AT89C52;2. LED灯:红色、黄色和绿色各一个;3. 电阻:220Ω;4. 连接线等。

四、实验步骤1. 连接电路:a) 将开发板上的P0口与红色LED灯连接,使用220Ω电阻限流;b) 将开发板上的P1口与黄色LED灯连接,使用220Ω电阻限流;c) 将开发板上的P2口与绿色LED灯连接,使用220Ω电阻限流。

2. 编写程序:a) 在程序中定义P0、P1和P2口分别为输出口;b) 使用循环结构控制LED灯的闪烁顺序,按照红、黄、绿的顺序循环闪烁。

3. 烧录程序:a) 将编写好的程序通过编译器生成二进制文件;b) 将二进制文件通过下载器烧录到单片机开发板中。

4. 运行实验:a) 连接电源,启动单片机开发板;b) 观察LED灯的闪烁情况,确保红、黄、绿三个LED灯按照正确的顺序闪烁。

五、实验结果与分析经过实验,我们成功实现了一个简易的信号灯系统。

在程序运行时,红色LED灯先亮起,表示停止;接着黄色LED灯亮起,表示准备行驶;最后绿色LED灯亮起,表示可以通行。

然后循环回到红色灯亮起的状态,不断重复。

六、实验总结本实验通过使用单片机来模拟一个简易的信号灯系统,加深了对单片机工作原理和C语言编程的理解。

通过编写程序控制LED灯的闪烁顺序,并成功运行该程序,验证了设计和编程的正确性。

在实验过程中,我们也加深了对电路连接和烧录程序的操作技能。

通过这个实验,我们不仅学会了如何使用单片机来控制信号灯系统,还掌握了单片机在控制系统中的应用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

沈阳理工大学应用技术学院
单片机原理及应用实训报告
题目单片机实训
院系能源工程系
专业弹药工程与爆炸技术
学生姓名孙兹超
学号
指导教师殷老师
完成日期2012年07月06日一.系统设计
实训题目:汽车信号灯设计
1.实训目的
通过实训掌握并行I/O口的使用和软件延时法的应用,掌握多分支程序的设计方法。

2. 实训要求
用发光二极管模拟汽车信号灯,用逻辑电平开关模拟控制开关,设计一个汽车信号灯控制系统。

实验箱晶振频率。

具体要求如下:(1)正常驾驶时,接通左转弯开关,左转弯灯、左头灯、左尾灯同时闪烁;接通右转弯开关,右转弯灯、右头
灯、右尾灯同时闪烁,闪烁频率为2Hz。

(2)刹车时,接通刹车开关,左尾灯、右尾灯同时亮。

(3)停靠站时,接通停靠开关,左头灯、右头灯、左尾灯、右尾灯同时闪烁,闪烁频率为2Hz。

(4)出现紧急情况时,接通紧急开关,左转弯灯、右转弯灯、左头灯、右头灯、左尾灯、右尾灯同时闪烁,闪
烁频率为10Hz。

3. 设计思路
用八位逻辑电平输出模块的前五位开关做发光二极管的控制开关,用电平显示模块的LED7、LED6、LED5分别代表汽车的左转弯灯、左头灯、左尾灯。

用LED2、LED1、LED0分别代表右转向灯、
右头灯、右尾灯。

注意:由于K5、K6、K7未用到,初始化为高电平。

如改变为低电平,程序无法正常使用。

延迟时间是由DJNZ命令来控制的,此命令执行需要两个机器周期,即2μs。

用此命令的执行次数来控制执行时间,来达到实验题目所要求的闪烁频率。

二.硬件设计
1.硬件设计方法
用P1口作输入口,用8P数据线连接CPU的P1口和八位逻辑电平输出模块,控制二极管的亮与灭。

用P0口作输出口,用8P数据线连接CPU的P0口和八位逻辑电平显示模块,输出二极管的闪烁频率。

用串行数据通信线连接计算机与仿真器,并将USB线连接到计算机和仿真器,把仿真头插到模块的锁紧插座中,实现软件控制硬件。

2.实验电路
1313131313113331
222
2
2222
65321
874K0
K1
K2
K3
K4
K5
K6
K7
P 1.7P0.0P 1.6P0.1P 1.5P0.2P 1.3P0.4P 1.4P 0.3P 1.2P 0.5P 1.1P 0.6P1.0
P 0.7
D 0Q 0D1Q1D 2Q 2D3Q 3D 4Q 4D5Q 5D 6Q6D 7
Q 7
456789
32RP2E5510
RP1E510K
U274LS573
U189C51
1918171615141312
L E D0LE D 2LE D 4L E D 6
LE D 1
L E D 3
L E D 5L E D7
GND
GND
G N D 10
1
11
20
3938373635343332
O E
V C C
L E
3.实验照片
三.软件设计
1.主程序流程图
2.延时子程序流程图
3.源程序
ORG 0000H
LJMP MAIN
ORG 0030H
MAIN:MOV P0,#0FFH
MOV P1,#0FFH
LOOP0:MOV A,P1
CJNE A,#0FEH,LOOP1
MOV 50H,#04H
MOV P0,#1FH
ACALL SHIJIAN
MOV P0,#0FFH
ACALL SHIJIAN LOOP1:CJNE A,#0FDH,LOOP2 MOV 50H,#04H
MOV P0,#0F8H
ACALL SHIJIAN
MOV P0,#0FFH
ACALL SHIJIAN LOOP2:CJNE A,#0FBH,LOOP3 MOV P0,#0DEH LOOP3:CJNE A,#0F7H,LOOP4 MOV 50H,#04H
MOV P0,#9CH
ACALL SHIJIAN
MOV P0,#0FFH
ACALL SHIJIAN LOOP4:CJNE A,#0EFH,LOOP5 MOV 50H,#01H
MOV P0,#18H
ACALL SHIJIAN
MOV P0,#0FFH
ACALL SHIJIAN
LOOP5:CJNE A,#0FFH,LOOP0
MOV P0,#0FFH
LJMP LOOP0
SHIJIAN:MOV R6,#0FFH
MOV R7,#0FFH
MOV R5,50H
DINGSHI:DJNZ R7,DINGSHI
DJNZ R6,DINGSHI
DJNZ R5,DINGSHI
RET
END
四.总结
一周的单片机实训结束了,在我和我们组的组员的共同努力下,在老师的指导和同学的帮助下,我们成功的完成了汽车信号灯控制系统的设计任务。

本学期我们学习了AT89C51单片机的编程设计,看似简单的题目自己动手编写却没想象的那么简单。

刚拿到设计题目时,有种似曾相识的感觉,我们做的题目和以前实验课上做的实验很相似,通过调用几个实验的程序
就能完成这个设计。

我们先讨论了并决定了设计方案,但在自己编程时,却发现自己平时上课学习的知识掌握的不扎实的,在编写时常常出现这样那样的错误。

调用时程序格式错误,子程序编写错误等等。

最终,我们还是成功完成了本次设计,很有成就感。

通过这次设计,我再一次学习了单片机的程序设计,特别是多分支程序的设计方法,对一些知识又加深了印象,加深了对所学理论知识的巩固和理解。

本次实训虽然只有短短的一周,但在这一周中通过自己的努力完成的程序设计是这一学期课程学习的成果,是对自己本学期的肯定,同时又提高了自己的动手和动脑能力,更主要的是增强了对这门课程学习的信心。

同时团队的合作也是十分重要的。

了解到了单片机在平时日常生活中的应用是如此的广泛,在信息技术日益发达的现代社会,学习一门技术是多么的重要。

在今后的学习生活中,我们要更加开阔视野,拓展自己的思路,活跃自己的大脑,锻炼自己的思维能力。

认真学习知识,把学到的知识运用到日常的生活中,为以后的毕业工作打好扎实的基础。

相关文档
最新文档