交通灯课程设计.docx
- 文档编号:10605768
- 上传时间:2023-02-21
- 格式:DOCX
- 页数:15
- 大小:87.60KB
交通灯课程设计.docx
《交通灯课程设计.docx》由会员分享,可在线阅读,更多相关《交通灯课程设计.docx(15页珍藏版)》请在冰豆网上搜索。
交通灯课程设计
课程设计报告
设计课题:
交通灯的设计
系别:
电子电气工程系
专业:
电气工程及其自动化
班级:
姓名:
学 号:
设计时间:
目录
摘要………………………………………………………(3)
第1章问题概述………………………………………(4)
1.1设计题目…………………………………………………(4)
1.2设计目的…………………………………………………(4)
1.3仪器、设备及器材………………………………………(4)
1.4设计内容…………………………………………………(4)
1.5设计步骤…………………………………………………(4)
1.6思考题……………………………………………………(4)
第2章交通灯设计方案…………………………………(5)
2.1方案设计…………………………………………………(5)
2.2状态分析…………………………………………………(6)
第三章交通灯控制系统的实现………………………………(7)
3.1扩展并行I/O口8255……………………………………(7)
3.28255A芯片的工作方式0………………………………(8)
3.3电路插接…………………………………………………(8)
3.4程序设计…………………………………………………(9)
3.5程序运行测试……………………………………………(11)
3.6运行结果分析与问题回答………………………………(12)
第四章课程设计小结…………………………………(13)
摘要
随着社会的发展,城市规模的不断扩大,城市交通成为制约城市发展的一大因素。
人口和汽车日益增长,市区交通也日益拥挤,人们的安全问题当然也日益重要。
因此,红绿交通信号灯成为交管部门管理交通的重要工具之一。
有了交通灯,人们的安全出行也有了很大的保障。
自从交通灯诞生以来,其内部的电路控制系统就不断的被改进,设计方法也开始多种多样,从而使交通灯显得更加智能化。
尤其是近几年来,随着电子与计算机技术的飞速发展,电子电路分析和设计方法有了很大的改进,电子设计自动化也已经成为现代电子系统中不可或缺的工具和手段,这些都为交通灯控制系统的设计提供了一定的技术基础。
本课程设计运用可编程并行接口芯片8255A作为扩展输出口,通过十二个发光二极管来模拟进行交通灯的燃灭管理,并详细阐述了其工作原理、基本功能框图、关键设计技术及软件工作流程,对选用芯片的特点进行了分析,并最后进行了软件实现,达到了系统要求的功能。
关键词:
交通灯、8255A
第一章问题概述
1.1、设计题目
交通灯的设计
1.2、设计目的
通过该设计,掌握8255并行接口芯片的使用和数码管的使用,并掌握相应的程序设计和电路设计的技能。
是对8255并行接口芯片章节理论学习的总结和补充,为后续的硬件课程的学习打下基础。
1.3、仪器、设备及器材
●PC机及配套的接口电路实验装置
●IC芯片:
8255A
1.4、设计内容
●南北方向和东西方向的红绿黄灯由对应的2组LED表示,这6个LED灯由8255端口A控制
●插接电路
●编写控制程序
1.5、设计步骤
(1)方案设计
考虑普通十字路口,交通灯的控制可分东西向和南北向两组,每组可用红、黄、绿三个灯进行交通管理,所以本方案要点是对六个交通灯进行控制。
由于灯光控制只需要开、关两个状态,所以可以采用开关量实施控制。
开关量的输出可以采用8255A的端口,由于开关量有6位,所以采用8位端口,又因为灯光控制不需要联络信号,所以按照方式0输出即可。
(2)电路插接
本实验利用装置提供的8255A芯片和逻辑电平显示器进行。
(3)编程与运行
1.6、思考题:
(1)代码在实验中起什么作用?
(2)代码应当根据什么因素加以确定?
第2章交通灯设计方案
2.1、方案设计
考虑普通十字路口,假设为东西南北走向,在四个方向上分别需要红、黄、绿三盏交通灯来控制,这样共需要12盏交通灯,如图1所示。
考虑到东西走向、南北走向分别一致,即东、西两走向相对应的交通灯信号相同可分别简化成一个灯,南、北走向的亦然。
因此简化后,交通灯的控制可分东西向和南北向两组,每组可用红、黄、绿三个灯进行交通管理,所以本方案要点是对六个交通灯进行控制。
由于灯光控制只需要开、关两个状态,所以可以采用开关量实施控制。
开关量的输出可以采用8255A的端口,由于开关量有6位,所以采用8位端口,又因为灯光控制不需要联络信号,所以按照方式0输出即可。
图1十字路口交通灯
设计的交通信号灯自动控制系统主要完成十字路口东、西、南、北四个方向红、黄、绿灯的时间控制,控制图如下所示:
绿色25秒,黄色闪烁5秒红色30秒
东西方向东西方向
红色30秒绿色25秒,黄色闪烁5秒
南北方向南北方向
2.2状态分析
首先确定8255A端口与交通灯的连接方式。
假定采用端口A,按以下方式连接:
东西向:
红灯接PA0,黄灯接PA1,绿灯接PA2;
南北向:
红灯接PA4,黄灯接PA5,绿灯接PA6。
下面列出6个交通灯所有可能的状态(假定发光状态为高电平有效):
状态
PA7
PA6
PA5
PA4
PA3
PA2
PA1
PA0
PA
状态说明
0
0
0
0
0
0
0
0
0
00
关灯
1
0
0
0
1
0
1
0
0
14
南北:
红 东西:
绿
2
0
0
0
1
0
0
1
0
12
南北:
红 东西:
黄
3
0
0
0
1
0
0
0
0
10
南北:
红 东西:
关
4
0
1
0
0
0
0
0
1
41
南北:
绿 东西:
红
5
0
0
1
0
0
0
0
1
21
南北:
黄 东西:
红
6
0
0
0
0
0
0
0
1
01
南北:
关 东西:
红
控制方案为一个东西南北走向的十字路,初始状态0为四个路口所有灯都熄灭。
然后转状态1东西绿通车,南北红灯。
经过一段延时转状态2东西绿灯灭,黄灯闪烁几次,南北仍然红灯。
再延时转状态3东西灯熄灭,南北仍然红灯。
过一段延时转状态4南北绿灯亮可以通车,东西红灯亮禁止通车。
再延时转状态5南北黄灯闪烁几次,东西仍然红灯。
再延时转状态6南北灯熄灭,东西仍然红灯。
最后循环至状态1。
状态变换的流程如图2所示:
图2 状态变换流程图
初始状态为0时,所有的交通灯都处于熄灭状态,状态1和状态4各持续30秒,其它状态持续0.5秒,状态2和3、状态5和6之间各循环5次。
整个控制过程,如果按照上面的流程,依次把相应的控制码输出到端口A,6个交通灯就能按照要求实现交通管理。
第3章 交通灯控制系统的实现
3.1扩展并行I/O口8255
8255A芯片是一个采用NMOS工艺制造的、40引脚双列直插式封装组建的大规模集成电路,采用单一+5V电源供电。
40个引脚中有24个为与外围设备的接口。
图38255A芯片引脚图
1.数据总线缓冲器
这是一个三态双向缓冲器,其宽度是8位,用做8255的内部数据总线与系统中的数据总线相连时的缓冲部件。
缓冲器向数据总线送出数据,或从数据总线接收数据都是CPU指令控制下进行的。
2.读写逻辑控制
这一部件用来管理所有的数据、控制字或状态资的传送。
他接收来自CPU的各种控制信号,并以此为依据,控制数据总线缓冲器数据的传送方向。
与CPU相连的个引脚说明如下:
1)CS:
芯片选择信号。
来自地址译码器,低电平有效。
2)RD:
芯片读出信号。
来自系统总线,低电平有效。
3)WR:
芯片写入信号。
来自系统总线,低电平有效。
4)RESET复位信号。
当它为高电平时,清除所有内部寄存器的内容,并将3个数据端口PA,PB,PC置为输入方式。
5)A1,A0:
端口地址选择信号。
用于选择8255A的3个数据端口和1个控制口。
当A1A0为00、01、10时,分别选择数据端口PA、PB、PC;当A1A0为11时,选择控制口。
6)Vcc、GND:
电源和地线。
3.端口PA,PB与PC
8255A有三个与外围设备相连的端口PA,PB,PC。
各端口可以独立工作,由程序控制位将它设成各种不同的工作方式。
端口A,B一般用做独立的输入或输出端口,每个端口包括一个四位琐存器,分别与A口,B口配合使用,作为与外设之间的联络信号。
3.28255A芯片的工作方式0
方式0——基本的输入/输出方式:
不需要任何联络(选通、握手)信号,相当于该端口在单片机与外设之间建立一个直接的数据通信,端口A、B、C都可作为输入或输出口使用。
应用场合:
1)无条件传送数据:
默认为传送数据的双方均已准备好。
2)查询方式传送数据:
可以由程序定义C口的某些位作为联络信号线,以配合A口、B口完成查询方式下的数据传送。
3.3电路插接
图48255A交通控制灯电路
本课程设计利用实验装置提供的8255A芯片和逻辑电平显示器进行。
先将8255A的数据线、地址线、控制线连接好,插接工作只需连接8255A的端口A与6个逻辑电平显示器发光二极管之间的连线即可。
注意发光二极管是双色的,每个管对应有红、绿两个端子,要正确选用;对于黄灯,则同时连接红、绿两个端子,便可发出黄光。
有关电路图如图4所示。
3.4程序设计
首先构造整个流程对灯光进行控制的代码表:
14,12,10,12,10,12,10,12,10,12,10,41,21,01,21,01,21,01,21,01,21,01
以上均为十六进制且假设黄灯闪烁5次。
程序依次从代码表中取出控制码输出到端口A,输出“14H”和“41H”后延时30秒,输出其它码字后延时0.5秒,整个过程循环进行。
假设8255A的口地址为304——307H。
控制流程图如图5所示。
图5交通灯控制流程图
控制程序代码如下:
DATASEGMENT
TIME1EQU10
TIME2EQU80
OUT_CODEDB14H,5DUP(12H,10H),41H,5DUP(21H,01H),0
DATAENDS
CODESEGMENT
ASSUMECS:
CODE,DS:
DATA
START:
MOVAX,DATA
MOVDS,AX
MOVDX,307H
MOVAL,80H;送方式字
OUTDX,AL
MOVDX,304H
LOOP0:
LEASI,OUT_CODE
LOOP1:
MOVAL,[SI]
ANDAL,AL
JZLOOP0
OUTDX,AL
INCSI
MOVCX,TIME1
TESTAL,44H;测码字为14H或41H
JZDELAY1;均非
MOVCX,TIME2
DELAY1:
PUSHCX
PUSHAX
MOVCX,0040H
A1:
MOVAX,056CH
A2:
DECAX
JNZA2
LOOPA1
POPAX
POPCX
LOOPDELAY1
MOVAH,0BH;检测是否有键盘输入
INT21H
ANDAL,AL
JZLOOP1
XORAL,AL;关灯退出
OUTDX,AL
MOVAH,4CH
INT21H
CODEENDS
ENDSTART
3.5程序运行测试
初始时,所有的灯都处于熄灭状态,在debug环境下运行程序,可以看到只有L2(东西,绿色)、L4(南北,红色)亮,一段时间后只有L1(东西,黄色)、L4(南北,红色)亮,接着只有L4(南北,红色)亮,再过一段时间只有L0(东西,红色)、L6(南北,绿色)亮,又过一段时间只有L0(东西,红色)、L5(南北,黄色)亮,过一段时间后只有L0(东西,红色)亮,接着进入下一次循环。
直到有键盘输入时停止。
循环过程表示如图6。
图6运行结果循环框图
3.6运行结果分析与问题回答
1.控制代码在实验中起什么作用?
按上述接线方式连接好电路后,运行程序,可以看到交通灯在按设计的要求进行变化,可以模拟出十字路口交通灯的信号指示情况,完成交通指示的任务,表明设计是合理的。
而控制代码可以对8255A进行控制,使8255A的输出端口输出不同的电平信号,从而控制与之相连的逻辑电平显示器显示不同的信号,也就是说发光二极管的状态最终是由程序来控制的。
2.控制代码应当根据什么因素加以确定?
在测试过程中,由于计算机运行速度的影响,交通灯亮灭的时间与设计时预期的时间有一定的误差,可以改变程序中的TIME值从而可以调整延时时间,按键盘任意键,程序运行终止。
控制代码是控制8255A的工作,因此程序代码还和8255A的工作方式有关。
第四章课程设计小结
本设计完成了十字路口交通信号灯的控制功能,主要包括控制器的选择,功能特性的应用。
论文采用软件工程的设计方法,通过使用8255A对交通信号灯进行控制,提出用数字信号自动控制十字路口两组红、黄、绿交通灯的状态转换方法,指挥各种车辆和行人安全通行。
通过这次设计,使我了解到采用8255A控制交通信号灯,具有对外部环境适应性强的特性,特别可方便的实现对多岔路口的控制,通过编程控制可对信号灯实施全天候无人化管理。
实践证明,本设计所采用的8255A芯片对十字路口交通灯进行控制的方案是完全可行的,并且通过修改程序,可以随时改变交通灯的工作时间和工作状态。
该项工作为后续同一条道路上的信号灯组成局域网进行统一调度管理的研究提供了基础。
随着电子与计算机技术的飞速发展,交通信号灯的设计定会更加智能化,十字路口的管理也会更加无人化。
本课程设计在历经短短一周的时间后终于圆满完成,对我们所学的微机原理与接口技术课程有了很好的巩固与复习作用,也锻炼了我们思考问题的能力和实践动手能力,对以后学习单片机等后续课程都有很大的帮助。
参考文献:
田辉,微机原理与接口技术,高等教育出版社,2011
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 交通灯 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)