您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 其它相关文档 > 8255A交通灯课程设计
目录摘要………………………………………………………(3)第一章问题概述………………………………………(4)1.1设计题目…………………………………………………(4)1.2设计目的…………………………………………………(4)1.3仪器、设备及器材………………………………………(4)1.4设计内容…………………………………………………(4)1.5设计步骤…………………………………………………(4)1.6思考题……………………………………………………(4)第二章交通灯设计方案…………………………………(4)2.1方案设计…………………………………………………(5)2.2状态分析…………………………………………………(5)第三章交通灯控制系统的实现………………………………(7)3.1扩展并行I/O口8255……………………………………(7)3.28255A芯片的工作方式0………………………………(8)3.3电路插接…………………………………………………(8)3.4程序设计…………………………………………………(8)3.5程序运行测试……………………………………………(10)3.6运行结果分析与问题回答………………………………(11)第四章课程设计小结……………………………………(12)2摘要随着社会的发展,城市规模的不断扩大,城市交通成为制约城市发展的一大因素。人口和汽车日益增长,市区交通也日益拥挤,人们的安全问题当然也日益重要。因此,红绿交通信号灯成为交管部门管理交通的重要工具之一。有了交通灯,人们的安全出行也有了很大的保障。自从交通灯诞生以来,其内部的电路控制系统就不断的被改进,设计方法也开始多种多样,从而使交通灯显得更加智能化。尤其是近几年来,随着电子与计算机技术的飞速发展,电子电路分析和设计方法有了很大的改进,电子设计自动化也已经成为现代电子系统中不可或缺的工具和手段,这些都为交通灯控制系统的设计提供了一定的技术基础。本课程设计运用可编程并行接口芯片8255A作为扩展输出口,通过十二个发光二极管来模拟进行交通灯的燃灭管理,并详细阐述了其工作原理、基本功能框图、关键设计技术及软件工作流程,对选用芯片的特点进行了分析,并最后进行了软件实现,达到了系统要求的功能。关键词:交通灯、8255A3第一章问题概述1.1、设计题目8255A应用——交通灯控制1.2、设计目的●掌握8255A方式0的使用与编程方法●PC机及配套的接口电路实验装置●IC芯片:8255A应用1.3、仪器、设备及器材●PC机及配套的接口电路实验装置●IC芯片:8255A1.4、设计内容●采用8255A设计交通灯控制的接口方案●插接电路●编写控制程序1.5、设计步骤(1)方案设计考虑普通十字路口,交通灯的控制可分东西向和南北向两组,每组可用红、黄、绿三个灯进行交通管理,所以本方案要点是对六个交通灯进行控制。由于灯光控制只需要开、关两个状态,所以可以采用开关量实施控制。开关量的输出可以采用8255A的端口,由于开关量有6位,所以采用8位端口,又因为灯光控制不需要联络信号,所以按照方式0输出即可。(2)电路插接本实验利用装置提供的8255A芯片和逻辑电平显示器进行。(3)编程与运行1.6、思考题:(1)代码在实验中起什么作用?(2)代码应当根据什么因素加以确定?4第二章交通灯设计方案2.1、方案设计考虑普通十字路口,假设为东西南北走向,在四个方向上分别需要红、黄、绿三盏交通灯来控制,这样共需要12盏交通灯,如图1所示。考虑到东西走向、南北走向分别一致,即东、西两走向相对应的交通灯信号相同可分别简化成一个灯,南、北走向的亦然。因此简化后,交通灯的控制可分东西向和南北向两组,每组可用红、黄、绿三个灯进行交通管理,所以本方案要点是对六个交通灯进行控制。由于灯光控制只需要开、关两个状态,所以可以采用开关量实施控制。开关量的输出可以采用8255A的端口,由于开关量有6位,所以采用8位端口,又因为灯光控制不需要联络信号,所以按照方式0输出即可。设计的交通信号灯自动控制系统主要完成十字路口东、西、南、北四个方向红、黄、绿灯的时间控制,控制图如下所示:绿色25秒,黄色闪烁5秒红色30秒东西方向东西方向红色30秒绿色25秒,黄色闪烁5秒南北方向南北方向2.2状态分析首先确定8255A端口与交通灯的连接方式。假定采用端口A,按以下方式连接:东西向:红灯接PA0,黄灯接PA1,绿灯接PA2;图1十字路口交通灯5南北向:红灯接PA4,黄灯接PA5,绿灯接PA6。下面列出6个交通灯所有可能的状态(假定发光状态为高电平有效):状态PA7PA6PA5PA4PA3PA2PA1PA0PA状态说明00000000000关灯10001010014南北:红东西:绿20001001012南北:红东西:黄30001000010南北:红东西:关40100000141南北:绿东西:红50010000121南北:黄东西:红60000000101南北:关东西:红控制方案为一个东西南北走向的十字路,初始状态0为四个路口所有灯都熄灭。然后转状态1东西绿通车,南北红灯。经过一段延时转状态2东西绿灯灭,黄灯闪烁几次,南北仍然红灯。再延时转状态3东西灯熄灭,南北仍然红灯。过一段延时转状态4南北绿灯亮可以通车,东西红灯亮禁止通车。再延时转状态5南北黄灯闪烁几次,东西仍然红灯。再延时转状态6南北灯熄灭,东西仍然红灯。最后循环至状态1。状态变换的流程如图2所示:初始状态为0时,所有的交通灯都处于熄灭状态,状态1和状态4各持续30秒,其它状态持续0.5秒,状态2和3、状态5和6之间各循环5次。整个控制过程,如果按照上面的流程,依次把相应的控制码输出到端口A,6个交通灯就能按照要求实现交通管理。图2状态变换流程图6第三章交通灯控制系统的实现3.1扩展并行I/O口82558255A芯片是一个采用NMOS工艺制造的、40引脚双列直插式封装组建的大规模集成电路,采用单一+5V电源供电。40个引脚中有24个为与外围设备的接口。D0D1D2D3D4D5D6D7A0A1__RD___WR__CSPA0PA1PA2PA3PA4PA5PA6PA7PB0PB1PB2PB3PB4PB5PB6PB7PC0PC1PC2PC3PC4PC5PC6PC73658927282930313233346373839401234181920212223242514151617131211108255RESET1.数据总线缓冲器这是一个三态双向缓冲器,其宽度是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、图38255A芯片引脚图701、10时,分别选择数据端口PA、PB、PC;当A1A0为11时,选择控制口。6)Vcc、GND:电源和地线。3.端口PA,PB与PC8255A有三个与外围设备相连的端口PA,PB,PC。各端口可以独立工作,由程序控制位将它设成各种不同的工作方式。端口A,B一般用做独立的输入或输出端口,每个端口包括一个四位琐存器,分别与A口,B口配合使用,作为与外设之间的联络信号。3.28255A芯片的工作方式0方式0——基本的输入/输出方式:不需要任何联络(选通、握手)信号,相当于该端口在单片机与外设之间建立一个直接的数据通信,端口A、B、C都可作为输入或输出口使用。应用场合:1)无条件传送数据:默认为传送数据的双方均已准备好。2)查询方式传送数据:可以由程序定义C口的某些位作为联络信号线,以配合A口、B口完成查询方式下的数据传送。3.3电路插接本课程设计利用实验装置提供的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,输出图58255A交通控制灯电路8“14H”和“41H”后延时30秒,输出其它码字后延时0.5秒,整个过程循环进行。假设8255A的口地址为304——307H。控制流程图如图6所示。控制程序代码如下:DATASEGMENTTIME1EQU10TIME2EQU80OUT_CODEDB14H,5DUP(12H,10H),41H,5DUP(21H,01H),0DATAENDSCODESEGMENTASSUMECS:CODE,DS:DATASTART:MOVAX,DATAMOVDS,AXMOVDX,307HMOVAL,80H;送方式字OUTDX,ALMOVDX,304HLOOP0:LEASI,OUT_CODE图6交通灯控制流程图9LOOP1:MOVAL,[SI]ANDAL,ALJZLOOP0OUTDX,ALINCSIMOVCX,TIME1TESTAL,44H;测码字为14H或41HJZDELAY1;均非MOVCX,TIME2DELAY1:PUSHCXPUSHAXMOVCX,0040HA1:MOVAX,056CHA2:DECAXJNZA2LOOPA1POPAXPOPCXLOOPDELAY1MOVAH,0BH;检测是否有键盘输入INT21HANDAL,ALJZLOOP1XORAL,AL;关灯退出OUTDX,ALMOVAH,4CHINT21HCODEENDSENDSTART3.5程序运行测试初始时,所有的灯都处于熄灭状态,在debug环境下运行程序,可以看到只有L2(东西,绿色)、L4(南北,红色)亮,一段时间后只有L1(东西,黄色)、L4(南北,红色)亮,接着只有L4(南北,红色)亮,再过一段时间只有L0(东西,红色)、L6(南北,绿色)亮,又过一段时间只有L0(东西,红色)、L5(南北,黄色)亮,过一段时间后只有L0(东西,红色)亮,接着进入下一次循环。直到有键盘输入时停止。循环过程表示如图7。103.6运行结果分析与问题回答1.控制代码在实验中起什么作用?按上述接线方式连接好电路后,运行程序,可以看到交通灯在按设计的要求进行变化,可以模拟出十字路口交通灯的信号指示情况,完成交通指示的任务,表明设计是合理的。而控制代码可以对8255A进行控制,使8255A的输出端口输出不同的电平信号,从而控制与之相连的逻辑电平显示器显示不同的信号,也就是说发光二极管的状态最终是由程序来控制的。2.控制代码应当根据什么因素加以确定?在测试过程中,由于计算机运行速度的影响,交通灯亮灭的时间与设计时预期的时间有一定的误差,可以改变程序中的TIME值从而可以调整延时时间,按键盘任意键,程序运行终止。控制代码是控制8255A的工作,因此程序代码还和8255A的工作方式有关。图7运行结果循环框图11第四章课程设计小结本设计完成了十字路口交通信号灯的控制功能,主要包括控制器的选择,功能特性的应用。论文采用软件工程的设计方法,通过使用8255A对交通信号灯进行控制,提出用数字信号自动控制十字路口两组红、黄、绿交通灯的状态转换方法,指挥各种车辆和行人安全通
本文标题:8255A交通灯课程设计
链接地址:https://www.777doc.com/doc-4460549 .html