欢迎来到天天文库
浏览记录
ID:18802717
大小:188.50 KB
页数:11页
时间:2018-09-24
《交通信号灯实时控制系统设计报告》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、交通信号灯实时控制系统设计报告组员:李波李敏一、实验目的现代城市交通日益拥挤,为保证交通安全,防止交通堵塞,使城市井然有序,交通信号灯在城市交通管理中的作用越来越重要。通过本实验:⒈掌握交通信号灯实时控制系统的设计思想与实现方法。⒉掌握定时/计时器和并行接口在实时控制系统中的应用。⒊加深对定时/计时器和并行接口芯片的工作方式和编程方法的了解。⒋加深对中断机理及应用方法的了解。二、实验任务设计制作一个交通信号灯实时控制系统。要求:⒈在一个十字路口的一条主干道和一条支干道上分别装一套红,黄,绿3种信号灯;用钮开关模拟十字路口的车辆检测传感器信号。⒉在一般情况下,主干道上的绿灯常亮,而支干
2、道上总是红灯。⒊当检测到支干道上来车时(用按键开关模拟),主干道的绿灯转为黄,持续4秒后,又变成红灯,同时支干道由红灯变为绿灯。⒋支干道绿灯亮后,或者检测到主干道上来了3辆车(用3个钮子开关模拟),或者虽未来3辆车,但绿灯已持续了25秒,则支干道立即变为黄灯,4秒后转为红灯,同时主干道由红灯变为绿灯。三、实验设备器材⒈80X86系列微机一台。⒉微机硬件实验平台。⒊定时/计时器和并行接口芯片。⒋按键开关1个(单脉冲源),钮子开关(高低电平开关)3个及红,黄,绿发光二极管(即实验平台上的三色显示灯)。四、实验原理根据实验任务要求,在本实验系统中,微机需要检测4个开关送来的主,支干道车辆到
3、达信号,并按一定的条件发出主,支干道6个信号灯的控制信号。显然,用一片8255A足以满足上述要求。对8255A各端口不妨作如下安排:令端口A工作于方式0的无条件数据输出方式,用以控制交通灯的亮灭;端口B工作于方式1的输入方式,并设置为允许中断;将端口C的PC2接到中断请求线上,使得当支干道上有车来时,由中断请求线向CPU发出中断,CPU响应中断后发出控制信号来控制主,支干道交通灯变换状态。端口C的高4位用作输入口,从PC7,PC6,PC5接入3个钮子开关,当钮子开关打到高电平时,表示主干道有车辆到来。具体设置如下:端口A的地址为:250H端口B的地址为:251H端口C的地址为:252
4、H控制寄存器地址为;253H有关定时/计时器的功能,可以采用8253计时/定时器结合中断服务程序计数的方法来实现。可设想用8253来产生秒时钟信号,为此可以设置8253的定时器0工作方式3(方波方式),定时器1工作于方式2(分频方式),并将定时器0的输出端接到定时器1的时钟端。这样,就可以做到让定时器0每隔10ms向定时器1发出一个计数脉冲,而当定时器1计满100个数时,向主机发出一次中断请求信号,于是就实现了每隔1s发出一次中断请求的功能。然后在时钟中断服务程序中对秒信号作相应的计数。(通道1接10KHZ的方波脉冲源)。另外附加三色显示灯的变色原理:从8255芯片的PA1,PA2,
5、PA6,PA74个接口连出4根线接到三色显示灯的4个接口上,每两个控制一个灯。其中控制信号由程序中通过表示高低电平来设置好,如:红灯为1000绿灯0100黄灯1100综上所述,本试验系统的硬件结构框架如下图所示:IRQ3微机扩展总线IRQ98255PAPC0PA2PA7PA6PA58253CLK0OUT1OUT0CLK1译码电路分频电路发光二极管单脉冲源开关状态信号10KHZ8253通道0的端口地址为220H,通道1的为221H,控制寄存器的地址为223H。实验的主程序和支干道来车中断服务程序流程图则如下图:主程序设置两个中断向量初始化8253,设置两个计数器的工作方式保存原8259
6、中断屏蔽字将8255的PC2置1,允许中断开中断,等待从8255的A端口送出红绿灯信号(主干道绿灯,支干道红灯)恢复中断向量及屏蔽字发中断结束命令,恢复现场初始化8255,设置各端口的工作方式返回DOS有Ctrl-C键吗?中断服务程序保护现场读8255端口的数据清除秒计数器送主干道黄灯,支干道红灯数据秒计数器清0,并将主干道红灯,支干道绿灯数据秒计数器清0,并送主干道红灯,支干道黄灯数据秒计数器=4?秒计数器=25主干道有3辆吗?秒计数器=4?中断返回YNYN主干道有3辆吗?YN.modelsmall.stack.datacountdb0runningdb'running',13,1
7、0,'$'messagedb'inter',13,10,'$'timedb'.','$'.codemainprocfarstart:movax,@datamovds,axcli;中断标志置0IF<-0movah,09leadx,runningint21hmoval,0fh;0bHmovah,35hint21hpushespushbxpushds;设置两个中断向量movax,seginterprocmovds,axmovdx,offsetinterprocm
此文档下载收益归作者所有