8255,8253交通灯模拟实验报告_第1页
8255,8253交通灯模拟实验报告_第2页
8255,8253交通灯模拟实验报告_第3页
8255,8253交通灯模拟实验报告_第4页
8255,8253交通灯模拟实验报告_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、(a)项目介绍.2(2)设计方案.2(3)具体设计.41.电路原理.42.程序原则:.63.系统原理.81) 8259、8255A、8254工作原理:.84.关键技术分析.131)设计的实时控制和管理.132)发光二极管闪烁程序.143)源程序.15(4)测试.211.记录测试中遇到的问题.212.测试结果22(五)总结.22(6)设计经验.23(7)参考文献.24(1)课题简介十字路口的交通灯是交通法规的无声命令,也是司机和行人的行为准则。路口交通灯控制是保证交通安全和道路畅通的关键。目前,中国大部分城市都在采用“自动”红灯和绿灯,它们有固定的“红-绿”切换间隔并自动切换。它们一般由三部分组

2、成:“通过和禁止时间的控制显示、红、黄、绿信号灯和方向指示灯”。在交通灯通过和禁止时间的控制显示中,东西和南北方向通常需要50秒。或者根据交通规则,时间控制是固定的,东西方向60秒,南北方向40秒。交通灯的时间控制表明,固定的时间值在单片机中是预先“固化”的,每次只在一定时间内交替变化。然而,实际上,不同时期的车辆流通情况是非常复杂的、高度非线性的和随机的,并且经常受到思想因素的影响。定时控制的使用经常导致有效道路应用时间的浪费,绿灯方向的车辆较少,红灯方向的车辆积压。它忽略了当前道路上交通车辆数量的实际变化,其最大的缺陷是当道路状况发生变化时,不能满足驾驶员和行人的实际需求,造成时间的浪费,

3、而严重的则直接导致交通拥堵和城市交通效率的下降。目前,有一种利用模糊控制技术来控制交通灯的方法。它可以根据交叉口双向车辆的动态情况自动判断红绿灯的时间间隔,从而保证最大的交通流量,减少交叉口的交通拥堵。然而,与定时控制不同,数字显示器可以用来显示当前灯颜色的剩余时间,以便驾驶员可以随时掌握他们的驾驶行为,并及时停止或启动。(2)设计方案8259A中断控制器、8254计数器和8255可编程并行接口用于实现南北向和东西向流量的独立定时和控制。该设计采用定时和中断控制的方式,双向车辆的通行时间分别定时,双向通行时间可以任意改变。城市十字路口交通灯控制系统主要负责控制东西方向和南北方向交通灯的状态和切

4、换顺序。关键是在每种状态之间切换,并执行适当的时间延迟。基于以上考虑,采用以下设计:L 1.即,同时点亮东西方向的绿灯和南北方向的红灯1分钟;2.1分钟后,东西方向的黄灯闪烁5秒钟。这时,南北方向的红灯仍然亮着。3.东西方向的黄灯闪烁5秒后,转向东西方向的红灯和南北方向的绿灯同时亮起20秒;4.20秒钟后,转向南北方向的黄灯闪烁5秒钟,而红灯在东西方向保持点亮。5.南北方向的黄灯闪烁5秒后,东西方向的绿灯和南北方向的红灯同时亮起1分钟。这个循环会重复。基于红、黄、绿001红色、黄色和绿色100状态1红、黄、绿011红色、黄色和绿色100状态2红色、黄色和绿色100红、黄、绿001状态3红色、黄

5、色和绿色100红、黄、绿011表(1)交通灯控制器的四种状态状态2状态3状态0状态1图(1)(3)具体设计1.电路原理本课题的设计可以由实验平台上的一些功能模块电路组成。因为每个模块电路都是内部连接的,所以用户在使用时只需要设计模块之间的电路连接。因此,硬件电路的设计和实现相对简单。整个系统的硬件连接如图1所示。硬件电路由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。计时模块使用8254的计数器0来实现100毫秒的计时。Clk0连接到实验平台分频电路的输出Q6,f=46875hz。GATE0连接到8255的PA0,8255的输出控制计数器的启动和停止。OUT0连接到8259的IR

6、Q2,定期完成中断申请,并进入中断服务程序。发光二极管显示模块由8255的输出控制。当8255的输出处于低电平时,相应的发光二极管点亮,否则熄灭。8255的接口电路如图2所示。交通灯对应如下:L7L6L5L2腰神经2劳拉西泮PC7PC6PC5PC2PC1PC013红灯13黄灯13绿灯24红灯24黄灯24绿灯实验平台上提供了一组六个发光二极管数码管。插孔CS1用于数字管段选择的输出选通,插孔CS2用于数字管位选择信号的输出选通。这种设计使用四个数码管来倒计时。紧急中断模块由单脉冲发生单元和8259中断控制器组成。单脉冲发生器主要用于请求中断,然后进行紧急处理。图2 8255接口电路2.程序原则:

7、让计数器0的初始计数值为25000。由于CLK0与脉冲信号相连,频率为2.5兆赫兹,每隔10毫秒中断一次,用CX计数不同的状态时间,实现计数器0到1分钟、20秒和5秒的计时。中断子程序分为数字显示刷新部分和红、绿、黄灯状态切换部分。每次输入中断时,发光二极管显示屏都会刷新。东西车道和南北车道的黄灯闪烁由标志位置来判断,符合比较条件时为暗,不符合条件时为亮。8254计数的开始和停止由8255的PA0控制。当8255的PA0输出1时,8254开始计数,交通灯根据正常状态切换。当PA0输出0时,计数器停止工作,交通灯不再按正常状态切换。8254开始计数后,每100毫秒发出一个中断应用信号。在中断子程

8、序中,首先刷新数码管,然后判断当前状态,进入相应的处理程序进行处理。主程序负责系统的初始化,然后输出和显示数码管数据,同时检测电脑键盘按键。如果有密钥,程序将退出。主程序的流程图如图3所示。定时中断子程序是本次设计的重点,负责刷新数码管的输出数据,并切换各状态的处理。中断子程序包括数码管输出数据刷新程序和各状态处理程序。数码管输出数据刷新子程序是倒计时25秒,用LEDOUT表示输出数据,用cnt进行软件计时1秒,即10 100毫秒。发光二极管输出将输出数据转换成段选择代码。根据当前状态跳转到相应的处理程序,并在处理程序中切换时序和状态。状态1和3的流程是相同的。首先,点亮相应的交通灯,然后判断

9、时间到了,然后你可以切换。在状态2和4中,为了实现黄灯的闪烁,每隔一段时间打开和关闭就足够了。图6示出了状态1和3处理程序(以状态1为例)的流程图,其中NUM是对应于状态1的PC端口输出。外部中断服务子程序主要用于处理紧急情况,双向停车和点亮所有红灯。在下一次测试中恢复以前的状态1.数据总线缓冲器:8259A和系统数据总线之间的接口是一个8位双向三态缓冲器。中央处理器和8259A之间的控制命令信息、状态信息和中断类型信息都通过缓冲器传输。2.读/写控制逻辑:通过它实现对8259A的读/写操作。3.级联缓冲器:用于实现8259A芯片之间的级联,使中断源可以从8级扩展到64级。4.控制逻辑电路:协

10、调和控制整个芯片中每个部件的工作。5.中断请求寄存器的位IRR:8用于分别存储8个中断请求信号。当响应中断请求的输入引脚上有中断请求时,该寄存器的相应位设为1。6.中断屏蔽寄存器IMR:8位,相应的位用于屏蔽8个中断源的中断请求信号。当某个位置为“0”时,可以向中央处理器提出相应的中断请求;否则,相应的中断请求被屏蔽,也就是说,不允许向中央处理器发出中断请求。该寄存器的内容是8259A的操作命令字OCW1,可由程序设置或改变。7.中断服务寄存器ISR:8位。当中央处理器处理来自中断源的中断请求时,ISR寄存器中的相应位置被设置为1。8.它用于比较正在处理的中断和刚刚输入的中断请求之间的优先级,

11、以便决定是生成多个中断还是中断嵌套。二。8255a的工作原理1.8255A 3360的内部结构1)数据总线缓冲器:这是一个双向三态8位数据缓冲器,是8255A与微机系统数据总线之间的接口。输入输出数据、中央处理器输出的控制字和中央处理器输入的状态信息都通过这个缓冲器传输。2)三个端口A、B和C:A包含一个8位数据输出锁存器和缓冲器,以及一个8位数据输入锁存器。端口B包含一个8位数据输入/输出锁存器和缓冲器,以及一个8位数据输入缓冲器。端口C包含一个8位数据输出锁存器和缓冲器,以及一个8位数据输入缓冲器(输入端没有锁存器)。3)A组和B组控制电路:这两组电路根据中央处理器输出的控制字控制8255

12、的工作模式。对于中央处理器,它们共享一个具有相同端口地址的控制字寄存器,并接收中央处理器输出的一个字节的控制字或一个用于C端口的位复位字命令。模式控制字的高5位决定组a的工作模式,低3位决定组B的工作模式.在C端口上逐位重置命令字可以设置或重置C端口的每一位。a组控制电路控制端口a和C的上半部分,而b组控制电路控制端口b和C的下半部分.4)读写控制逻辑:用于控制中央处理器输出的控制字或数据发送到相应的端口,也用于控制状态信息或输入数据通过相应的端口发送到中央处理器。2.8255A 3360的工作模式模式0-基本输入和输出模式;模式1-门控输入和输出模式;模式2-双向门控输入和输出模式。3.Pi

13、n信号8255A的引脚分为数据线、地址线、读/写控制线、输入/输出端口线和电源线,如图7.5所示。D7 d0(数据总线):三态双向数据线,与中央处理器数据总线相连,用于传输数据。(芯片选择):芯片选择信号线;当低电平有效时,选择芯片。A1,A0(端口地址):地址行,用于选择内部端口。(读取):读取信号线,当低电平有效时,允许数据读取。(写):写信号线;当低电平有效时,允许数据写入。复位(RESET):复位信号线。当高电平有效时,所有内部寄存器(包括控制寄存器)清0。Pa7 pa0(端口a):端口a的输入/输出信号线。Pb7 pb0(端口b):端口b的输入/输出信号线。Pc7 pc0(端口c):

14、端口c的输入/输出信号线。Vcc: 5v电源。GND:电源地面。三、工作原理。8254:8254是一款可编程计数器/定时器,具有三个独立的16位计数器/定时器通道。每个计数器通道可以以六种不同的方式工作,并且可以以二进制或十进制计数。CLK0CLK2是计数器0 2的时钟脉冲输入端,GATE0GATE2是门脉冲输入端,OUT0OUT2是输出端。4.关键技术分析1)实时控制和管理设计a)芯片选择和端口选择1.使用实验系统8255A来控制信号灯(所用的端口是自定的);2位数字显示器由8255A控制。2.使用实验系统8235的计数器2向实验系统的主芯片8259A的IRQ7请求中断,以实现所需的1分钟、5秒和20秒的计时。实验系统8235的计数器2的CLK2连接到OPCLK,频率为1.19318兆赫;GATE2连接至5v;定时是通过软件和硬件相结合来实现的。3.用实验系统的发光二极管模拟交通灯。注:8259A的端口地址为:218、2198255A的端口地址是:端口A-200H、端口B-201H、端口C-202H和控制端口-203H8254的端口地

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论