模拟交通灯控制实验

合集下载

交通灯控制实验报告

交通灯控制实验报告

交通灯控制实验报告交通灯控制实验报告引言:交通灯是城市交通管理的重要组成部分,通过对交通流量的控制,有效地维护交通秩序和安全。

本次实验旨在通过搭建一个简单的交通灯控制系统,探究不同交通流量下的信号灯变化规律,并分析其对交通流畅度和效率的影响。

实验装置:实验装置由红、黄、绿三种颜色的LED灯组成,分别代表红灯、黄灯和绿灯。

通过按键控制,可以切换不同灯光的显示状态。

在实验过程中,我们将模拟不同交通流量情况下的信号灯变化。

实验过程:1. 低交通流量情况下:首先,我们模拟低交通流量情况。

设置红灯时间为20秒,绿灯时间为30秒,黄灯时间为5秒。

在这种情况下,红灯的时间较长,确保道路上的车辆能够安全通过。

绿灯时间相对较短,以充分利用交通资源,提高交通效率。

黄灯时间较短,用于过渡信号灯变化。

2. 中等交通流量情况下:接下来,我们模拟中等交通流量情况。

设置红灯时间为30秒,绿灯时间为40秒,黄灯时间为5秒。

在这种情况下,红灯时间相对较长,确保道路上的车辆能够顺利通过。

绿灯时间适中,以保持交通的流畅性。

黄灯时间依然较短,用于过渡信号灯变化。

3. 高交通流量情况下:最后,我们模拟高交通流量情况。

设置红灯时间为40秒,绿灯时间为50秒,黄灯时间为5秒。

在这种情况下,红灯时间最长,确保道路上的车辆能够完全通过。

绿灯时间相对较长,以缓解交通压力,提高交通效率。

黄灯时间仍然较短,用于过渡信号灯变化。

实验结果:通过实验观察,我们发现不同交通流量下的信号灯变化对交通流畅度和效率有着明显的影响。

在低交通流量情况下,红灯时间较长,确保车辆安全通过,但可能导致交通效率稍有降低。

在中等交通流量情况下,信号灯的设置更加平衡,保证了交通的流畅性和效率。

而在高交通流量情况下,红灯时间最长,确保车辆完全通过,但也导致交通效率相对较低。

结论:通过本次实验,我们得出了以下结论:交通灯的设置应根据不同交通流量情况进行合理调整,以保证交通的流畅性和效率。

LED模拟交通灯实验实训报告

LED模拟交通灯实验实训报告

LED模拟交通灯实验实训报告实验报告:LED模拟交通灯实训1.实验目的本实验旨在通过搭建一个LED模拟交通灯电路,了解LED的使用原理和掌握LED的亮灭控制方法,同时培养学生的实际动手能力和问题解决能力。

2.实验原理LED即发光二极管,是一种能够将电能转化为光能的器件。

它通过直流电流的作用下,在两个半导体材料之间产生电子的跃迁并发出光效果。

模拟交通灯一般由红、黄、绿三种颜色的灯组成,分别代表停、等待和通行三种状态。

在电路中,通过对LED正、负极的控制,可以使LED达到闪烁或亮灭的效果。

3.实验器材- Arduino开发板-面包板-LED灯(红、黄、绿各一个)-杜邦线-220欧姆电阻(3个)4.实验步骤(1)将Arduino开发板与面包板相连。

(2)使用杜邦线将三个LED灯插入面包板上。

(3)将每个LED的一个端口连接到Arduino上的数字输出口。

(4)通过220欧姆电阻的插入,将每个LED的另一个端口与地板(GND)连接。

(5)通过Arduino开发环境编写程序,实现交通灯的闪烁或亮灭效果。

(6)将Arduino开发板与电脑相连,将程序上传至Arduino。

(7)通过Arduino的电源供电,观察LED的亮灭效果。

5.实验结果实验中搭建了一个模拟交通灯电路,通过Arduino控制LED的亮灭效果。

实验结果如下:-红灯亮5秒,绿灯灭;-红灯灭,黄灯亮3秒;-绿灯亮5秒,黄灯灭;-绿灯灭,红灯亮5秒。

6.实验分析本实验通过搭建一个LED模拟交通灯电路,实现了交通灯亮灭的效果,通过Arduino编程控制灯的状态以达到交通灯运行的效果。

实验结果符合预期。

在实验过程中,需要注意以下问题:(1)正确连接LED灯和电阻,确保电流能够正确流过LED灯,避免LED损坏。

(2)编写程序时,需要注意正确选择数字输出口和对应的LED灯,以避免控制错误。

7.实验总结通过本次实验,我了解了LED的使用原理和掌握了LED的亮灭控制方法。

实验二 交通灯的模拟控制实验

实验二 交通灯的模拟控制实验

实验二交通灯的模拟控制实验一、实验目的1、用PLC构成交通灯控制系统;2、采用PLC编程语言编制控制程序并运行。

二、实验要求1、通过实验,加深理解学过的理论知识,掌握实验的基本原理。

2、受到必要的专业实验技能训练。

3、要求独立思考、独立动手来解决实际问题。

4、要学会正确使用仪器设备。

5、控制要求起动后,南北红灯亮并维持25s。

在南北红灯亮的同时,东西绿灯也亮,1s后,乙车灯亮,表示乙车可以行走。

到20s时,东西绿灯闪亮,3s后熄灭,在东西绿灯熄灭后东西黄灯亮,同时乙车灯灭,表示乙车停止通行。

黄灯亮2s后灭东西红灯亮。

与此同时,南北红灯灭,南北绿灯亮。

1s后甲车灯亮,表示甲车可以行走。

南北绿灯亮了25s后闪亮,3s后熄灭,同时甲车灯灭,表示甲车停止通行。

黄灯亮2s后熄灭,南北红灯亮,东西绿灯亮,循环。

四、实验所用仪器1、PLC编程电脑一台2、PLC实验箱一个3、交通灯控制系统模块一块4、实验连接导线一套五、实验步骤和方法1、编制并调试程序2、联好仪器,接通电源3、运行程序六、实验注意事项经指导教师检查同意后,方可接通电源,进行实验。

七、实验预习要求预先编制控制程序再到实验室进行实验上机调试参考程序清单:八、实验报告要求实验报告的主要内容1、实验目的2、实验用仪器、设备、记录规格、型号、数量等3、实验原理方法简要说明4、实验程序及实验结果分析,根据实验目的和实验内容,对实验数据和曲线进行分析,并作出结论。

实验报告册样式实验步骤:1、控制要求起动后,南北红灯亮并维持25s。

在南北红灯亮的同时,东西绿灯也亮,1s后,乙车灯亮,表示乙车可以行走。

到20s时,东西绿灯闪亮,3s后熄灭,在东西绿灯熄灭后东西黄灯亮,同时乙车灯灭,表示乙车停止通行。

黄灯亮2s后灭东西红灯亮。

与此同时,南北红灯灭,南北绿灯亮。

1s后甲车灯亮,表示甲车可以行走。

南北绿灯亮了25s后闪亮,3s后熄灭,同时甲车灯灭,表示甲车停止通行。

黄灯亮2s后熄灭,南北红灯亮,东西绿灯亮,循环。

交通灯实训实验报告

交通灯实训实验报告

一、实验目的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. 探讨交通灯在交通管理中的优势和不足。

实验过程:在实验室中,我们使用了一套模拟交通灯系统进行实验。

该系统包括红、黄、绿三种信号灯和相应的控制器。

首先,我们观察了交通灯的信号灯变化规律。

根据实验室提供的资料,红灯表示停止,黄灯表示准备,绿灯表示通行。

交通灯的变化规律是:红灯亮→绿灯亮→黄灯亮→红灯亮。

这个变化过程是有序的,为车辆和行人提供了明确的信号。

接下来,我们进行了交通灯对车辆和行人通行的引导实验。

在实验室中,我们设置了一段模拟道路和人行横道,并安装了交通灯。

通过控制器,我们模拟了不同的交通情况,观察交通灯对车辆和行人通行的影响。

实验结果显示,当红灯亮起时,车辆停止通行,行人等待过马路;当绿灯亮起时,车辆可以通行,行人可以过马路;当黄灯亮起时,车辆应减速停车,行人应尽快过马路。

交通灯的引导作用使得车辆和行人的通行更加有序和安全。

讨论:交通灯作为一种交通管理工具,具有一定的优势和不足。

首先,交通灯通过明确的信号灯变化规律,为车辆和行人提供了明确的指示,减少了交通事故的发生。

其次,交通灯可以根据交通流量的变化进行智能调控,提高道路的通行效率。

此外,交通灯还可以与其他交通设施相结合,形成综合交通管理系统,进一步提升交通管理水平。

然而,交通灯也存在一些不足之处。

首先,当交通流量较大时,交通灯的信号周期较长,可能导致车辆和行人等待时间过长,影响通行效率。

其次,交通灯对车辆和行人的通行进行了简化处理,不能完全满足各种交通情况的需求。

例如,在某些情况下,行人可能需要额外的通行时间,以确保安全过马路。

结论:通过本次实验,我们深入了解了交通灯的工作原理和效果。

模拟交通灯控制实验PPT课件

模拟交通灯控制实验PPT课件

-
1
实验目的
在以往单元电路的基础上综合运用 8255A可编程并行接口芯片,8254 定时/计数器芯片,中断系统。 学习实际计算机控制系统设计方法。
-
2
实验原理
在本次实验中,我们利用发光二极管 模拟交通灯,实验箱上所用的是双色 二极管,红、绿两线均接高电平时发 黄光,实验中的发光二极管是利用 8255驱动,工作于方式1,利用8253 作为0.5S脉冲发生器。
-
11
L1 : JMP L1
L2 : MOV SI,0
INT7: MOV AX,DATA
MOV DS,AX
MOV DX,288H
MOV AL,LED1[SI]
OUT DX,AL
INC SI
CMP AL,0FFH
JZ L2
MOV AL,20H
OUT 20H,AL
MOV AH,1
INT 16H
JZ NEXT
IN AL,21H
OR AL,80H
OUT 21H,AL
STI
MOV AH,4CH
INT 21H
NEXT:IRET
CODE ENDS
END START
-
12
④ 26S~30S取南北红灯亮、东西黄灯闪的数(82H,80H) 每隔0.5S取一个数,也就是1S黄灯闪一次,要取10个此 数字。
⑤ 转①重复
-
6
实验步骤
1、输入源程序,并检查无误后,保存到E:\。 2、汇编,连接后形成EXE的可执行文件。 3、按图一所示的实验接线图连接实验线路。
检查无误后打开实验箱的电源。 4、执行可执行文件,观察六个发光二极管的
① 前10S中取 南北绿、东西红的数(24H),那么要取 10÷0.5=20个此数字。

plc红绿灯实验报告

plc红绿灯实验报告

plc红绿灯实验报告篇一:PLC交通灯实验报告十字路口交通灯控制的模拟实验报告一、实验目的1、熟练使用各基本指令,定时器,计数器,内部指令等。

2、根据控制要求,掌握PLC的编程方法和程序调试方法。

3、掌握交通灯的实验设计与三菱PLC的连线方法。

二、实验要求交通灯模拟控制实验区中,下框中的南北红、黄、绿灯R、Y、G分别接主机的输出点Y2、Y1、Y0,东西红、黄、绿灯R、Y、G分别接主机的输出点Y5、Y4、Y3,模拟南北向行驶车的灯接主机的输(本文来自:小草范文网:plc红绿灯实验报告)出点Y6,模拟东西向行驶车的灯接主机的输出点Y7;下框中的SD接主机的输入端X0。

上框中的东西南北三组红绿黄三色发光二极管模拟十字路口的交通灯。

信号灯受一个启动开关控制,当启动开关接通时,信号灯系统开始空座,且先南北红灯亮,东西绿灯亮。

当启动开关断开时,所有信号灯都熄灭。

南北红灯亮维持25秒,在南北红灯亮的同时东西绿灯也亮,并维持20秒。

到20秒时,东西绿灯闪亮,闪亮3秒后熄灭。

在东西绿灯熄灭时,东西黄灯亮,并维持2秒。

到2秒时,东西黄灯熄灭,东西红灯亮,同时,南北红灯熄灭,绿灯亮。

东西红灯亮维持30秒。

南北绿灯亮维持25秒,然后闪亮3秒后熄灭。

同时南北黄灯亮,维持2秒后熄灭,这时南北红灯亮,东西绿灯亮。

周而复始。

1三、程序设计步骤 1、过程分析:过程一:东西向车行驶2、设置定时器当司机看到红灯变为绿灯的时候需要有时间反应,启动车辆等。

因此在车子行驶和交通灯变化之间设置1s的间隔。

②设置T22、T222、T221、T223的原因是:T2和T7只能控制交通灯的闪亮时间,并不能使其控制。

T22一个定时器并不能同时控制东西绿灯与南北绿灯的闪烁,要分别设置控制器,所以通过T22、T222的分别作用,使东西绿灯与南北绿灯分别在高、低电平交替的时候闪亮。

24、按照设置的I/O分配进行接线。

5、打开PLC实验箱和实验面板上的电源开关,将预先编好的实验程序写入计算机,再下载到PLC中。

8086汇编语言-模拟交通灯_实验报告

8086汇编语言-模拟交通灯_实验报告

计算机接口技术实验模拟交通灯控制一、实验目的:综合运用接口芯片,提高实践能力。

二、实验设备:TDN86/51教学实验系统一台。

三、实验要求:自行设计实验电路,独立编写程序,实现模拟交通灯控制系统。

模拟交通灯有三个状态往复循环:1、初始时,东西方向的绿灯亮,同时,南北方向及人行道上的红灯全亮。

持续5S。

2、然后,南北方向的绿灯亮,同时,东西方向及人行道上的红灯全亮。

持续8S。

3、最后,人行道方向的绿灯亮,同时,东西方向及南北的红灯全亮。

持续6S。

四、实验步骤:1. 系统分析:根据TDN86/51教学实验系统中的LED单元进行的约定如下:状态1时LED单元的状态如下:即1000 0111B=87H状态2时LED单元的状态如下:2即0100 1011B=4BH状态1时LED单元的状态如下:即0011 1100B=D3H电路连接如下图:2. 芯片工作状态分析:8253:芯片端口地址:40H~43H。

工作在方式0,0号计数器,工作方式命令字:30H。

CLK0为1.19MHZ,故最大计数时间为:65536/(1.19x106) =55ms。

可令其产生50ms定时,计数初值约为:0.05x1.19x106=59500。

从而,5s定时外循环次数为100次,8s定时外循环次数为160次,6s定时外循环次数为120次。

8259:芯片端口地址:20H、21H实验IRQ0中断,初始化时需要开IRQ0中断。

8255:芯片端口地址:60H~63HA口工作在方式0状态,输出,工作方式控制字:80H。

3. 程序流程图:主程序流程图:IRQ0中断服务程序流程图:五、实验程序源代码:STACK SEGMENT STACKDW 64 DUP (?)STACK ENDSCODE SEGMENTASSUME CS:CODESTART:CLI ;关中断,开始填0中断矢量PUSH DSMOV AX,00H ;填偏移量MOV DS,AXMOV AX,OFFSET IRQ0ADD AX,2000HMOV SI,20HMOV [SI],AXMOV AX,00H ;填CS段基址MOV SI,22HMOV [SI],AXPOP DSIN AL,21H ;读8259中断屏蔽字AND AL,0FEH ;开中断0OUT 21H,ALMOV AL,80H ;初始化8255OUT 63H,ALMOV AL,30H ;初始化8253OUT 43H,ALMOV AL,0FFH ;循环前把所有的灯关闭OUT 60H,ALA0:MOV CX,100 ;开始进入1状态,CX初值为100A1:MOV AX,59500 ;8253载入初值OUT 40H,ALMOV AL,AHOUT 40H,ALMOV AL,87H ;状态1的数据存入AL,等待输出STI ;开中断HLT ;停机等待中断LOOP A1 ;根据CX的值循环本状态MOV CX,160 ;开始进入2状态,CX初值为160A2:MOV AX,59500 ;8253载入初值OUT 40H,ALMOV AL,AHOUT 40H,ALMOV AL,4BH ;状态2的数据存入AL,等待输出STIHLTLOOP A2MOV CX,120 ;开始进入3状态,CX初值为120 A3:MOV AX,59500OUT 40H,ALMOV AL,AHOUT 40H,ALSTIHLTLOOP A3JMP A0IRQ0: ;中断服务程序OUT 60H,AL ;输出AL数据到8255,改变灯状态MOV AL,20H ;发EOIOUT 20H,ALIRET ;中断返回CODE ENDSEND START。

3 IO接口实验(交通灯控制实验)

3 IO接口实验(交通灯控制实验)

实验框图:
开始
初始状态东西 南北都是红灯 状态1南北绿灯, 东西红灯 状态2南北绿灯闪转黄 灯,东西红灯 状态3南北红灯, 东西绿灯 状态4南北红灯, 东西绿灯闪转黄灯
附实验代码:(红色为实验添加代码)
ORG ORG START: MOV SP,#100H ;初始状态(都是红灯) ;南北绿灯,东西红灯 ;南北绿灯闪转黄灯,东西红灯 ;南北红灯,东西绿灯 ;南北红灯,东西绿灯闪转黄灯 ;南北红灯,东西红灯 DPTR,#8300H A,#0FH @DPTR,A R2,#01H ;延时1秒 LCALL STATUS0 CIRCLE: LCALL STATUS1 LCALL STATUS2 LCALL STATUS3 LCALL STATUS4 LJMP CIRCLE STATUS0: MOV MOV MOVX ;MOV NOP RET 0000H 0040H LJMP START
MOV
R3,#05H
;绿灯闪3次 A,#0AFH
FLASH: MOV MOVX ;MOV
@DPTR,A R2,#03H
LCALL DELAY MOV MOVX ;MOV A,#0AFH @DPTR,A R2,#03H
LCALL DELAY DJNZ MOV MOVX ;MOV R3,FLASH A,#5AH @DPTR,A R2,#03H
;MOV
LCALL DELAY NOP RET STATUS3: MOV MOV MOVX ;MOV ;南北红灯,东西绿灯 DPTR,#8300H A,#0A5H @DPTR,A R2,#01H ;延时5秒
RET
;延时子程序 DELAY: MOV DELAY2: MOV DJNZ DJNZ R1,#07H R0,#F0H

基于触摸屏的交通灯模拟实验

基于触摸屏的交通灯模拟实验

基于触摸屏的交通灯模拟实验
该实验可以设计一个基于触摸屏的交通灯模拟程序,用户通过触
摸屏上的控制按钮来模拟不同的交通灯信号。

具体实现步骤如下:
1. 设计交通灯模板
首先需要设计出交通灯的模板,可以使用Photoshop等工具进行
设计。

交通灯分红灯、黄灯和绿灯三种,每种灯的状态可以用不同的
图形来表示。

设计好交通灯模板后,将其导入到触摸屏的应用程序中。

2. 程序显示交通灯
将交通灯模板显示在屏幕上,并添加控制按钮。

用户可以通过点
击按钮来切换交通灯的状态。

3. 编写程序控制交通灯状态
当用户点击控制按钮时,程序需要根据当前交通灯的状态来切换
到下一个状态。

例如,从红灯到绿灯时需要经过黄灯状态。

程序需要
记录当前交通灯的状态,并根据用户的操作来改变交通灯的状态。

4. 添加声音效果
在程序中添加交通灯切换时的声音效果,可以增强用户的交互体验。

5. 确认程序可靠性
验证程序是否能够正确地模拟不同的交通灯信号,并且在用户使
用时能够稳定地工作。

6. 进行优化
根据用户反馈和测试结果,对程序进行优化。

例如,可以增加交
通灯切换速度的控制按钮,或者增加更多的灯状态等。

通过以上步骤,我们可以设计出一个基于触摸屏的交通灯模拟实验,让用户可以通过触摸屏来模拟交通灯的不同状态,从而更好地学
习交通规则和安全常识。

微机实验 交通灯实验报告

微机实验 交通灯实验报告

微机实验交通灯实验报告微机实验交通灯实验报告引言交通灯作为城市交通管理的重要组成部分,对于保障交通安全和顺畅起着至关重要的作用。

本次实验旨在通过微机控制,模拟交通灯的工作原理,并实现交通灯的自动控制。

一、实验目的本次实验的主要目的是通过搭建一套微机控制系统,实现交通灯的自动控制,并通过实验验证交通灯在不同道路情况下的工作原理和效果。

二、实验原理1. 交通灯的工作原理交通灯通常由红、黄、绿三个信号灯组成。

红灯表示停止,黄灯表示准备,绿灯表示可以通行。

交通灯通过不同颜色的灯光变化,指示车辆和行人何时可以通行,以保障交通的有序进行。

2. 微机控制系统微机控制系统是利用计算机和相应的软硬件实现对设备、机器等的控制和管理。

在交通灯实验中,我们可以通过编程控制计算机输出不同的信号,从而实现交通灯的自动控制。

三、实验器材和步骤1. 实验器材- 微机控制系统:包括计算机、编程软件和控制接口等。

- 交通灯模型:模拟真实的交通灯,包括红、黄、绿三个信号灯。

2. 实验步骤- 连接交通灯模型和微机控制系统。

- 编写程序,设置交通灯的工作时间和信号灯变化规律。

- 运行程序,观察交通灯的工作状态和变化过程。

四、实验结果和分析通过实验,我们成功地实现了交通灯的自动控制。

在程序中,我们设置了红灯亮10秒,黄灯亮3秒,绿灯亮15秒的时间间隔,模拟了真实交通灯的工作规律。

在实验过程中,我们观察到交通灯按照预设的时间间隔循环变化,红灯亮起时车辆停止,绿灯亮起时车辆可以通行。

这样的交通灯控制方式可以有效地维持交通的有序进行,减少交通事故的发生。

五、实验总结通过本次实验,我们深入了解了交通灯的工作原理和微机控制系统的应用。

微机控制系统作为一种高效、精确的控制手段,可以广泛应用于各个领域,提高设备的自动化程度和工作效率。

在今后的学习和工作中,我们将继续深入学习微机控制系统的原理和应用,掌握更多的编程技巧和控制方法,为实现更多实际问题的自动化解决方案做出贡献。

模拟交通灯实验报告

模拟交通灯实验报告

模拟交通灯实验报告模拟交通灯实验报告引言:交通安全一直是社会关注的焦点,而交通信号灯作为交通管理的重要手段,对于维护交通秩序和减少交通事故起着至关重要的作用。

本实验旨在通过模拟交通灯实验,研究交通灯的工作原理和对交通流量的控制效果,以期提高交通系统的效率和安全性。

一、实验目的本实验的主要目的是研究交通灯在不同条件下的工作原理,探究交通灯对交通流量的控制效果以及对交通系统的影响。

二、实验器材和方法1. 实验器材:- 电脑模拟软件- 交通灯模拟装置2. 实验方法:- 设定不同的交通流量条件,模拟不同的交通灯工作模式;- 观察并记录交通灯在不同情况下的工作状态和交通流量情况;- 分析交通灯对交通流量的控制效果。

三、实验过程与结果1. 实验过程:- 首先,我们设置了一个高峰时段的交通流量条件,模拟交通灯的工作。

根据交通流量的变化,交通灯会自动切换不同的信号灯状态,包括红灯、绿灯和黄灯。

- 其次,我们调整了交通灯的周期时长和绿灯时间长度,观察交通流量的变化和交通灯的工作效果。

- 最后,我们分析了不同交通灯工作模式下的交通流量情况,并对交通灯的控制效果进行了评估。

2. 实验结果:- 在高峰时段,交通灯的工作起到了明显的交通流量控制作用。

绿灯时,交通流量明显增加,车辆通行速度加快,而红灯时,车辆停止通行,交通流量减少。

- 调整交通灯的周期时长和绿灯时间长度对交通流量的控制效果有显著影响。

周期时长过长会导致车辆等待时间过长,造成交通拥堵;而周期时长过短会导致交通流量无法得到有效控制。

- 合理调整绿灯时间长度可以有效平衡交通流量,减少交通拥堵和事故发生的可能性。

四、实验讨论与结论1. 实验讨论:- 交通灯作为交通管理的重要手段,对交通流量的控制效果直接影响着交通系统的效率和安全性。

通过本次实验,我们发现交通灯能够有效地控制交通流量,减少交通事故的发生。

- 合理调整交通灯的周期时长和绿灯时间长度,可以最大程度地平衡交通流量,提高交通系统的运行效率。

模拟交通灯实验报告

模拟交通灯实验报告

单片机综合实验报告题目: 模拟真实交通灯班级:姓名:学号:指导老师:时间:一、实验内容:用8255芯片的PA、PB口低四位做输出口,控制十二个发光二极管燃灭,模拟十字路口交通灯管理,并利用数码显示器进行倒计时显示(采用单片机内部定时器定时)。

通过外部中断能使交通灯暂停运行,并点亮4个红灯。

通过16*16点阵中的图形模拟控制行人过马路的人形“走”、“停”指示灯,可参考下图所示。

选做增加项目:在交通灯开始之前可通过开关对红绿灯亮灭时间的初始值进行增、减设定或者交通灯暂停时加上乐曲报警。

二、实验电路及功能说明电路:74LS138译码器电路8255与发光二极管连线图数码LED显示器电路(不需接线)16×16LED点阵显示电要求:交通灯亮灭过程同“8255控制交通灯实验”,倒计时显示只需两位数(0~99),用定时器定时进行倒计时,每秒钟减1。

在16*16点阵中显示的人形“走”、“停”标志可自定义,由专门软件可转换为相应显示代码,不需自己推理。

三、实验程序流程图:主程序:子程序:详细程序请参考程序清单。

四、实验结果分析对程序进行仿真可以观察到:点阵中交替显示如图(a)、(b)所示图像,且交替显示时间为30秒。

当显示图像为(a)时,表示可以容行人通过,限时30秒;当显示图像为(b)时,表示不容行人通过,也限时30秒。

如此,在十字路口各置一对点阵即可模拟实景。

五、心得体会通过此次实验,对单片机的I/O口的使用的条件有了更深的理解,对单片机的各个管脚功能的理解也加深了,以及在常用编程设计思路技巧的掌握方面也向前迈了一大步。

这次的课程设计让我把单片机的理论知识应用在实践中,实现了理论和实践相结合,从中更懂得理论是实践的基础,实践有助于检验理论的正确性的道理,对我以后参加工作或者继续学习深造将产生巨大的帮助和影响。

六、程序清单#include <reg51.h>#include <absacc.h>#define uchar unsigned char#define uint unsigned int#define ROW1 XBYTE[0XFFE3]#define ROW2 XBYTE[0XFFE0]#define COL1 XBYTE[0XFFE2]#define COL2 XBYTE[0XFFE1]#define PA XBYTE[0xffd8]#define PB XBYTE[0xffd9]#define CTL XBYTE[0xffdb]#define SEG XBYTE[0xffdc]#define BIT XBYTE[0xffdd]#define allredend 10#define ewredend 2*ewstarter+allredend#define snyellowend ewredend+10#define snredend snyellowend+2*snstarter#define ewyellowend snredend+10sbit KEY1=P1^0;sbit KEY2=P1^1;sbit KEY3=P1^2;sbit P32=P3^2;uchar tongBu;uchar code ewTable[]={0xb6,0x75,0xf3,0xf7,0xae,0x9e,0xbe};uchar code nsTable[]={0xd,0xd,0xc,0xd,0xb,0x7,0xf};//uchar tempa,tempb;int time=1,cnt,change,intflag,inttime=1,ewstarter=10,snstarter=15;int tempseg;uchar key1=0;uchar buffer[]={0,0,0,0,0,0};uchar table[]={0xC0,0xF9,0xA4,0xB0,0x99,0x92,0x82,0xF8,0x80,0x90,0xff};/*-- 行走--*//*-- 宽度x高度=16x16 --*/uchar code led1[]={0x01,0x80,0x02,0x40,0x02,0x40,0x01,0x80,0x03,0xC0,0x06,0x60,0x0A,0x50,0x0A,0x5 0,0x0B,0xD0,0x12,0x48,0x02,0x40,0x02,0x60,0x04,0x20,0x04,0x20,0x08,0x20,0x18,0x60};/*-- 停止--*//*-- 宽度x高度=16x16 --*/uchar code led2[]={0x01,0x80,0x02,0x40,0x02,0x40,0x01,0x80,0x07,0xE0,0x7E,0x7E,0x02,0x40,0x02,0x40 ,0x03,0xC0,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x01,0x80,0x03,0xC0};/*-- 文字: 高--*//*-- Fixedsys12; 此字体下对应的点阵为:宽x高=16x16 --uchar code led2[]={0x02,0x00,0x01,0x00,0xFF,0xFE,0x00,0x00,0x0F,0xE0,0x08,0x20,0x0F,0xE0,0x00,0x0 0,0x7F,0xFC,0x40,0x04,0x4F,0xE4,0x48,0x24,0x48,0x24,0x4F,0xE4,0x40,0x14,0x40,0x08};*/ void delayshort(){char n;for(n=50;n>0;n--);}uchar changeleft(uchar led){uchar temp;temp=0;temp|=(led<<7)&0x80;temp|=(led<<5)&0x40;temp|=(led<<3)&0x20;temp|=(led<<1)&0x10;temp|=(led>>1)&0x08;temp|=(led>>3)&0x04;temp|=(led>>5)&0x02;temp|=(led>>7)&0x01;return(temp);}void led16_16display(uchar *table,uchar length){uchar i=length/2,scan1=0x1,scan2=0x1;for(i=0;i<16;i++){if(i<8){ROW1=0;ROW2=0;COL1=scan1;COL2=0;ROW1=changeleft(table[2*i]);ROW2=table[2*i+1];COL1=scan1;COL2=0;delayshort();scan1<<=1;}else{ROW1=0;ROW2=0;COL1=0;COL2=scan2;ROW1=changeleft(table[2*i]);ROW2=table[2*i+1];COL1=0;COL2=scan2;delayshort();scan2<<=1;}}}void changeseg(){if(key1==0){buffer[3]=10;buffer[0]=10;buffer[5]=tempseg%10;buffer[4]=tempseg/10;buffer[2]=tempseg%10;buffer[1]=tempseg/10;}else if(key1==1){buffer[3]=10;buffer[0]=10;buffer[5]=ewstarter%10;buffer[4]=ewstarter/10;buffer[2]=ewstarter%10;buffer[1]=ewstarter/10;}else{buffer[3]=10;buffer[0]=10;buffer[5]=snstarter%10;buffer[4]=snstarter/10;buffer[2]=snstarter%10;buffer[1]=snstarter/10;}}void timer1()interrupt 3{static uchar temp=0x20,cnt1;TH1=(65536-1000)/256;TL1=(65536-1000)%256;changeseg();SEG=0xff;SEG=table[buffer[cnt1]];cnt1++;if(cnt1==6)cnt1=0;BIT=temp;temp>>=1;if(temp==0)temp=0x20;}void int_0()interrupt 0{delayshort();if(P32==0){PA=0xB6;PB=0xd;PT0=1;PT1=1;intflag=1;while(inttime<=20)led16_16display(led2,32);inttime=1;intflag=0;PT0=0;PT1=0;PA=ewTable[tongBu];PB=nsTable[tongBu];}}void timer0()interrupt 1{TH0=(65536-50000)/256;TL0=(65536-50000)%256;cnt++;if(cnt==5){cnt=0;if(intflag==1){inttime++;tempseg=10-inttime/2;}else{time++;if(time<=allredend){tongBu=0;PA=ewTable[tongBu];PB=nsTable[tongBu];tempseg=allredend/2-(time+1)/2;}else if((time>allredend)&&(time<=ewredend)){tongBu=1;PA=ewTable[tongBu];PB=nsTable[tongBu];tempseg=ewstarter+allredend/2-(time+1)/2;}else if((time>ewredend)&&(time<=snyellowend)){if(change==0){tongBu=2;PA=ewTable[tongBu];PB=nsTable[tongBu];change=1;}else{tongBu=3;PA=ewTable[tongBu];PB=nsTable[tongBu];change=0;}tempseg=ewstarter+allredend/2+5-(time+1)/2;}else if((time>snyellowend)&&(time<=snredend)){tongBu=4;PA=ewTable[tongBu];PB=nsTable[tongBu];tempseg=ewstarter+allredend/2+5+snstarter-(time+1)/2;}else if((time>snredend)&&(time<=ewyellowend)){if(change==0){tongBu=5;PA=ewTable[tongBu];PB=nsTable[tongBu];change=1;}else{tongBu=6;PA=ewTable[tongBu];PB=nsTable[tongBu];change=0;}tempseg=ewstarter+10+allredend/2+snstarter-(time+1)/2;}else{tongBu=1;time=allredend+1;PA=ewTable[tongBu];PB=nsTable[tongBu];tempseg=ewstarter+allredend/2-(time+1)/2;}}}}void key(){uchar keynum;keynum=~(P1|0XF8);switch(keynum){case 0x1:while(KEY1==0)led16_16display(led2,32);key1++;TR0=0;if(key1==3){key1=0;TR0=1;}break;case 0x2:while(KEY2==0)led16_16display(led2,32);if(key1==1){ewstarter++;if(ewstarter==100)ewstarter=0;}if(key1==2){snstarter++;if(snstarter==100)snstarter=0;}break;case 0x4:while(KEY3==0)led16_16display(led2,32);if(key1==1){ewstarter--;if(ewstarter==-1)ewstarter=99;}if(key1==2){snstarter--;if(snstarter==-1)snstarter=99;}break;default:break;}}void main(){IE=0x8b;IT0=1;TMOD=0x11;TH0=(65536-50000)/256;TL0=(65536-50000)%256;TH1=(65536-1000)/256;TL1=(65536-1000)%256;CTL=0x80;tongBu=0;TR1=1;PA=ewTable[tongBu];PB=nsTable[tongBu];tempseg=allredend/2-(time+1)/2;TR0=1;while(1){key();if(intflag==0){if(key1==0){if(time<=allredend)led16_16display(led2,32);else if(time>allredend&&time<=snyellowend)led16_16display(led1,32);else if(time>snyellowend&&time<=ewyellowend)led16_16display(led2,32);}elseled16_16display(led2,32);}}}。

交通灯模拟控制plc实验报告

交通灯模拟控制plc实验报告

交通灯模拟控制plc实验报告交通灯模拟控制PLC实验报告一、实验背景与目的交通灯是城市道路交通管理的重要设施,安全的交通灯控制是保障行人和车辆安全通行的重要保障。

本实验是以PLC控制器为核心设计的交通灯模拟控制实验,旨在通过实验学习PLC的基础知识,了解PLC在交通灯控制中的运用方式,掌握常用的PLC控制方法,进一步提高学生的工程实践能力。

二、实验原理1.交通灯控制方式通常情况下,交通灯主要采用三种控制方式:定时控制、信号协调控制和应急控制。

其中,定时控制是指交通灯按固定的时间间隔进行交替控制,适用于交通量少、时间规律的路段;信号协调控制是基于交通流量实时监测和协调控制交通灯,以提高交通能力和效率,适用于交通量较大、较为复杂的路段,如城市繁忙路口、高速公路入口等;应急控制是指在一定情况下强制交通灯进行跳闸或其他应急控制方法,以保障交通安全和畅通。

2.PLC控制原理PLC,全称可编程逻辑控制器,是一种工业控制计算机,广泛应用于现代制造业、工业自动化等领域。

PLC可通过编写相应的程序来实现对机器人、自动化生产线、传感器等设备的控制,可以有效提高生产效率和控制精度。

在交通灯控制中,PLC主要通过接收来自传感器等外部设备的输入信号和内部程序自动判断下一步操作,并通过控制输出口控制交通灯的开关状态,以实现交通灯的自动控制。

三、实验器材PLC控制器、交通灯模拟器、计算机、连线电缆等。

四、实验步骤本次实验的PLC控制程序采用三段式控制方式,分别为红灯亮、倒计时、绿灯亮,时间周期均为10秒。

具体实验步骤如下:1.将PLC控制器与计算机通过连线电缆连接,使得PLC控制器能够接收计算机传来的控制程序。

2.将模拟交通灯的控制线路连接至PLC控制器的输入口,将交通灯的灯泡接到PLC输出口;3.在计算机上编写PLC控制程序,实现三段式控制方式,并将程序加载至PLC控制器;4.打开PLC控制程序,通过模拟交通灯的测试,验证PLC 控制程序的正确性;5.在实验结束后,关闭实验设备,并将连线电缆拔出。

一交通灯的模拟控制

一交通灯的模拟控制

实验一交通灯的模拟控制一、实验目的使用图1-1 交通灯示意图二、实验内容1.控制要求起动后,南北红灯亮并维持15s。

在南北红灯亮的同时,东西绿灯也亮。

到10s 时,东西绿灯闪亮,3s后熄灭,在东西绿灯熄灭后东西黄灯亮。

黄灯亮2s后灭东西红灯亮。

与此同时,南北红灯灭,南北绿灯亮。

南北绿灯亮了10s后闪亮,3s 后熄灭,黄灯亮2s后熄灭,南北红灯亮,东西绿灯亮,循环。

停止后东西南北的黄灯闪烁红绿灯熄灭。

图1-2 交通灯工作流程图2.I/O分配输入输出起动:start 北红灯:b_north_red 东红灯:b_east_red停止:stop 北黄灯:b_north_yellow 东黄灯:b_east_yellow北绿灯:b_north_green 东绿灯:b_east_green南红灯:b_south_red 西红灯:b_west_red南黄灯:b_south_yellow 西黄灯:b_west_yellow南绿灯:b_south_green 西绿灯:b_west_yellow图1-3 逻辑时序图3.根据示意图绘制HMI图形并链接变量图1-4 交通灯HMI示意图4.编写并运行程序编写程序来实现控制要求。

相关程序参考文件:《交通灯.pro》。

编写主程序时需要注意:编写主程序时先把红绿等功能完成。

最后编写停止时黄灯闪烁的功能。

建议使用Case语句,将各个时间段的灯的亮灭状态都进行声明,方便之后使用者的修改。

实验二抢答器一、实验目的使用TwinCAT编写一个可供六人参与的抢答器。

二、实验内容1. 控制要求当主持人按下开始按钮以后,1~6号按钮任意一个按钮被触发,按钮对应的灯则亮起。

同时将其他按钮锁定,再继续按其他按钮不会使对应的灯亮起。

当主持人按下复位按钮后,可以将抢答器复位,然后可以重复以上步骤。

图2-1 抢答器流程图2.I/O分配输入输出开始按钮:start 抢答灯:light[1..6]复位按钮:reset抢答按钮:button[1..6]3.根据示意图绘制HMI图形并链接变量图2-2 抢答器HMI图4.编写并运行程序编写程序来实现控制要求。

实验报告二-模拟交通灯实验

实验报告二-模拟交通灯实验

实验报告二-模拟交通灯实验实验目的:本次实验旨在通过模拟交通灯实验,了解交通灯的工作原理、设计及调节方法。

实验原理:交通灯是城市交通管理中不可缺少的部分,广泛应用于道路、路口等地方,用以调整交通流量和保障行人和车辆的交通安全。

基本上,每个交通灯系统都由信号控制器、信号球、绿地检测器组成。

信号控制器是交通灯系统的核心部分,通过控制信号球的点灯和熄灭,向车辆、行人发出指令。

实验器材:1. Arduino控制板;2. LED灯若干;3. 面包板;4. 杜邦线;5. 电阻。

实验步骤:1. 通过面包板将Arduino控制板与电阻、LED灯连接;2. 在Arduino控制板上编写程序,实现交通灯模拟;3. 连接电源,通过Arduino IDE输入程序运行。

实验结果:经过程序处理,LED灯按照交通灯的颜色进行变换,使得其能够模拟实际交通灯的工作状态,达到预期效果。

实验教训:在实验过程中,我们发现LED灯的管脚与面包板接触不良时,会出现程序不能正常运行的情况。

因此,我们在连接器件时要确保接触良好,并注意防静电。

实验思考:本次实验通过模拟交通灯,我们深刻认识到交通灯的工作原理以及对道路交通的重要意义。

合理设置交通灯,不仅能够保障行人和车辆安全,而且还能提高道路的通行效率。

因此,在今后的实践活动中,我们应该更加注重交通灯的科学研究和实际应用。

结语:通过本次实验,我们进一步认识到交通灯对于城市交通管理的重要性,同时也掌握了基本的交通灯原理和设计方法。

相信在今后的学习和研究中,我们将能够更好地提高交通管理的水平和效率。

PLC交通灯实验报告

PLC交通灯实验报告

实验二十字路口交通灯控制实验1. 实验目的(1)练习定时器、计数器的基本使用方法。

(2)掌握PLC的编程和调试方法。

(3)对应用PLC解决实际问题的全过程有个初步了解。

2. 实验设备(1)编程器1台(PC机)。

(2)实验装置1台(含S7-200 24点CPU)。

(3)交通灯实验模板一块。

(4)导线若干。

图1.12 交通灯模拟控制板3. 控制要求及参考交通路口红、黄、绿灯的基本控制要求如下:路口某方向绿灯显示(另一方向亮红灯)10秒后,黄灯以占空比为50%的一秒周期(0.5秒脉冲宽度)闪烁3次(另一方向亮红灯),然后变为红灯(另一方向绿灯亮、黄灯闪烁),如此循环工作。

PLC I/O端口分配:SB1 I0.0 起动按钮SB2 I0.1 停止按钮HL1(HL7)Q0.0 东西红灯HL2(HL8)Q0.1 东西黄灯HL3(HL9)Q0.2 东西绿灯HL4(HL10)Q0.4 南北红灯HL5(HL11)Q0.5 南北黄灯HL6(HL12)Q0.6 南北绿灯PLC 参考电路:图1.13 红绿灯控制PLC 电气原理图4. 实验内容及要求(1)按参考电路图完成PLC 电路接线(配合通用器件板开关元器件)。

(2)输入参考程序并编辑。

(3)编译、下载、调试应用程序。

功能表图如下:Q0.51L 1M+24V NL12L GND Q0.6SB2SB1Q0.1I0.1Q0.4Q0.2PLCI0.0Q0.0HL5220VACHL6+24VHL2HL4HL3HL1梯形图如下:指令代码程序如下:LD I0.0O M0.0AN I0.1= M0.0LD M0.0LPSAN Q0.3AN T41TON T37 , +250 LRDA T37TON T38 , +250 LRD A T38TON T39 , +30 LRDA T39TON T40 , +20 LRDA T37TON T41 , +300 LRDA T44TON T42 , +20 LRDAN Q0.3AN T37TON T43 , +200 LRDA T43TON T44 , +30 LRDAN T46TON T45 , +5 LRDA T45TON T46 , +5 LRDAN T37AN Q0.3= Q0.2 LRDLD Q0.6 AN T38LD T 38 AN T39A T45 OLDALD= Q0.0 LRD AN T38 AN T40 = Q0.1 LRDLD Q0.2 AN T43 LD T43 AN T44 A T45 OLDALD= Q0.4 LPPLPSA T44 AN T42 = Q0.5 LRDA T37 = Q0.6 LPPA Q0.0 A Q0.4 = Q0.35.思考练习(1)采用经验设计法应该如何实现?、。

交通灯控制实验(8255)

交通灯控制实验(8255)
微机接口实验
实验二
交通灯控制实验(8255) 交通灯控制实验(8255)
一、实验目的
掌握8255方式0的工作原理及使用方法。 掌握8255方式0的工作原理及使用方法。 8255方式
二、实验内容
微机接口实验
实验二
交通灯控制实验(8255) 交通灯控制实验(8255)
一、实验目的 掌握8255方式0的工作原理及使用方法。 掌握8255方式0的工作原理及使用方法。 8255方式 二、实验内容 通过并行接口8255 通过并行接口8255实现十字路口交通 8255实现十字路口交通 灯的模拟控制。如图,L7、L6、L5作为南 灯的模拟控制。如图,L7、L6、L5作为南 北路口的交通灯与PC7 PC6、PC5相连 PC7、 相连, 北路口的交通灯与PC7、PC6、PC5相连, L2、L1、L0作为东西路口的交通灯与 作为东西路口的交通灯与PC2 L2、L1、L0作为东西路口的交通灯与PC2 PC1、PC0相连 相连。 、PC1、PC0相连。编程使六个灯按交通灯 变化规律燃灭。 变化规律燃灭。
交通灯控制
二、实验内容
通过并行接口8255 通过并行接口8255实现十字路口交通 8255实现十字路口交通 灯的模拟控制。 L7、L6、L5作为 灯的模拟控制。如下图,L7、L6、L5作为 南北路口的交通灯与PC7 PC6、PC5相连 PC7、 南北路口的交通灯与PC7、PC6、PC5相连 L2、L1、L0作为东西路口的交通灯与 ,L2、L1、L0作为东西路口的交通灯与 PC2、PC1、PC0相连 相连。 PC2、PC1、PC0相连。编程使六个灯按交 通灯变化规律燃灭。 通灯变化规律燃灭。
交通灯控制
三、实验电路
8255 地址: 地址:
控制寄存器: 控制寄存器: C口地址: 口地址: 28BH 28BH 288H 288H

LED模拟交通灯实验报告

LED模拟交通灯实验报告
{
switch(Operation_Type)
{
case 1: //东西向绿灯与南北向红灯亮
RED_A=1;YELLOW_A=1;GREEN_A=0;
RED_B=0;YELLOW_B=1;GREEN_B=1;
DelayMS(2000);
Operation_Type=2;
break;
case 2: //东西向黄灯闪烁,绿灯关闭
DelayMS(300);
YELLOW_A=~YELLOW_A;GREEN_A=1;
if(++Flash_Count!=10) return; //闪烁5次
Flash_Count=0;
Operation_Type=3;
break;
case 3: //东西向红灯,南北向绿灯亮
RED_A=0;YELLOW_A=1;GREEN_A=1;
一、LED模拟交通灯实验实验
一、实验目的及要求
1、学习P0口的使用方法
2、学习延时子程序的编写
本实验中12只LED分成东西向和南北向两组,各组指示灯均有相向的2只红色、2只黄色与2只绿色的LED,实验对相应的LED单独进行定义,程序运行时模拟了十字路口交通信号灯的切换过程与显示交果。
源程序中用6行sbit对东西和南北向的红、黄、绿指示灯分别进行定义,这样便于对Fra bibliotek们进行单独控制。
sbit GREEN_B=P0^5;
uchar Flash_Count=0,Operation_Type=1; //闪烁次数,操作类型变量
//延时
void DelayMS(uint x)
{
uchar i;
while(x--) for(i=0;i<120;i++);

实验四、交通灯控制实验 报告

实验四、交通灯控制实验  报告

实验名称:四、交通灯控制实验日期:见实验数据得分:同组人:不填指导教师:马惠兰一、实验目的1.掌握51单片机的P1口作为输入/输出接口使用的方法。

2.学习和掌握Keil uvision3单片机仿真软件硬件仿真操作方法和步骤。

3.学习和掌握模拟交通灯控制的实现方法。

4.熟悉TD-NMC单片机实验系统的结构和实验方法。

二、实验设备PC机一台,TD-NMC单片机实验系统一套三、实验内容将单片机的P1口作为输出口,模拟交通灯控制。

根据灯的不同状态,表示路口的通行或禁行。

四、实验原理设一个十字路口的交通灯设置如图1所示:图 1 一个十字路口交通灯设置实验利用单片机的并行口P1的各位模拟东西南北四个路口的红灯和绿灯,P1口各位的定义如图2所示,P1口输出与单片机实验箱上的8个LED灯(D0~D7)相连。

通过控制各路口红灯、绿灯亮与灭的时间长短来控制相应路口的禁行、通行时间,从而实现一个十字路口的交通灯模拟控制。

D0 D1 D2 D3 D4 D5 D6 D7南北东西南北东西图 2 P1口各位定义实验中先打开交通灯,8个灯闪烁5次;接着东西通行、南北禁行设定的时间;然后南北准备通行,东西的4个灯闪烁10次、南北的灯不变;接着南北通行、东西禁行设定的时间;然后东西准备通行,南北的4个灯闪烁10次,东西的灯不变;最后循环进入东西通行、南北禁行状态,如此循环进行。

实验可以编程改变各路口的通行时间。

实验电路连接如图3所示。

系统单元LED-开关单元图3 交通灯控制实验接线图根据此实验原理编写的实验源程序清单见附页。

五、实验步骤1.在F盘下为工程建立文件夹马惠兰4;2.新建工程项目文件马惠兰4.uv2,保存在文件夹马惠兰4中,并为工程选择目标器件为SST公司的SST89E554RC;3.编辑源程序,建立源文件马惠兰4.ASM,保存在文件夹马惠兰4中;4.将源文件马惠兰4.ASM添加到工程项目组中;5.设置调试环境,选择调试模式为硬件仿真,选择实验箱和计算机连接的串口,设置串行口波特率为38400bps;6.打开实验箱,进行电路连接,接通电源,汇编、连接、调试,进入调试状态;7.运行程序,观察发光管显示的状态是否符合交通灯的控制规则,验证实验的正确性,并记录实验现象;8.实验数据经过实验指导教师检查正确后,实验结束。

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

实验内容及要求
设计一个软硬件系统,控制十字路口的红绿 灯。 要求: ① 南北路口的绿灯,东西路口的红灯同时亮8秒 左右。 ② 南北路口黄灯闪烁3,同时东西路口的红灯继 续亮。 ③ 南北路口红灯亮,东西路口的绿灯同时亮8秒。 ④ 南北路口红灯继续亮,东西路口黄灯闪烁3。 ⑤ 转①重复
实验分析
为了确保十字路口的车辆顺利畅通地行驶,往往 都采用自动控制的交通信号灯来进行指挥交通。 其中红灯(R)亮,表示该条道路禁止通行;黄 灯(R G)亮表示即将禁行(黄灯是有双色发光 二极管红、绿灯同时点亮形成的);绿灯(G) 亮表示允许通行。.其中L0,L1,L2,作为东西路口的 红绿灯,与PA0,PA1,PA2相连。L5,L6,L7作为南 北路口的红绿灯,与PA5,PA6,PA7相连,具体如 图所示。8255采用方式1中断方式传送数据,故 INTEA=1(即PC6=1),所以C口按位置位/复 位字为0DH,而INTRA(即PC3)作为中断申请 线向总线的IRQ7作中断申请。PA口要驱动发光 二极管,则PA应工作于输出状态,选择工作方式 1,所以8255的方式命令字设置为0A0H。利用 8254产生一个半秒的发生器可以使红、绿灯保持 定时时间亮,黄灯闪的现象。
MOV DS,AX MOV DX,OFFSET INT7 MOV AX,250FH INT 21H CLI
IN AL,21H AND AL,7FH OUT 21H,AL MOV DX,283H MOV AL,36H OUT DX,AL MOV DX,280H MOV AX,500 OUT DX,AL MOV AL,AH OUT DX,AL MOV DX,283H MOV AL,76H OUT DX,AL MOV DX,281H MOV AX,1000 OUT DX,AL MOV AL,AH OUT DX,AL MOV DX,28BH MOV AL,0A0H OUT DX,AL MOV AL,0DH OUT DX,AL STI
交通灯状态具体设计思想如下:
实验中要满足两个方向的工作时序:东西方向红灯亮的时 间应等于南北方向黄、绿灯亮的时间之和;南北方向红灯 亮的时间应等于东西方向黄、绿灯亮的时间之和。具体步 骤如下: 用8254产生一个0.5S的秒脉冲发生器。让其每隔0.5S取 一个数。 ① 前10S中取 南北绿、东西红的数(24H),那么要取 10÷0.5=20个此数字。 ② 11S~15S取南北黄灯闪、东西红灯亮的数字(44H, 04H),每隔0.5S取一个数,也就是1S黄灯闪一次,要 取10个此数字。 ③ 16S~25S取南北红、东西绿的数(81H),同样要取20 个此数字,才能保证是此灯亮10秒。 ④ 26S~30S取南北红灯亮、东西黄灯闪的数(82H,80H) 每隔0.5S取一个数,也就是1S黄灯闪一次,要取10个此 数字。 ⑤ 转①重复
——综合性实验
实验目的
在以往单元电路的基础上综合运用 8255A可编程并行接口芯片,8254 定时/计数器芯片,中断系统。 学习实际计算机控制系统设计方法。
实验原理
在本次实验中,我们利用发光二极管 模拟交通灯,实验箱上所用的是双色 二极管,红、绿两线均接高电平时发 黄光,实验中的发光二极管是利用 8255驱动,工作于方式1,利用8253 作为0.5S脉冲发生器。
SI=0
开放IRQ7中断

设8255A口方式1输出

将8255的PC6置位


设8253计数器0工作方式3


向计数器0送初值500 先送低字节后送高字节


设8253计数器1工作方式3
将数据段中的数从PA 口中送出
比较PA口输出的数 是否为0FFH
发中断结束命令
判断是否有键 按下?
关闭IRQ7中断

) 输 出 主 程 序 SI=0
向计数器1送初值
开中断
中断返回
循环等待
返回DOS
查考程序
DATA SEGMENT LED1 DB 24H, 24H, 24H, 24H, 24H, 24H, 24H, 24H,24H, 24H, 24H, 24H, 24H,24H, 24H, 24H, 24H, 24H,24H, 24H DB 44H,04H,44H,04H,44H,04H ,44H,04H,44H,04H DB 81H, 81H, 81H, 81H, 81H, 81H, 81H, 81H, 81H, 81H, 81H, 81H, 81H,81H, 81H, 81H, 81H, 81H, 81H, 81H DB 82H,80H,82H,80H,82H,80H,82H,80H,82H,80H DB 0FFH DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,CS
谢谢观看! 2020
L1 : JMP L1 L2 : MOV SI,0 INT7: MOV AX,DATA
MOV DS,AX MOV DX,288H MOV AL,LED1[SI] OUT DX,AL INC SI CMP AL,0FFH JZ L2 MOV AL,20H OUT 20H,AL MOV AH,1 INT 16H JZ NEXT IN AL,21H OR AL,80H OUT 21H,AL STI MOV AH,4CH INT 21H NEXT:IRET CODE ENDS END START
实验步骤
1、输入源程序,并检查无误后,保存到E:\。 2、汇编,连接后形成EXE的可执行文件。 3、按图一所示的实验接线图连接实验线路。
检查无误后打开实验箱的电源。 4、执行可执行文件,观察六个发光二极管的
状态。在实验结果中说出交通灯的工作时序。
实验接线图
A (B)
开 始 参考流程图
设置IRQ7的中断向量
相关文档
最新文档