交通信号灯控制综合设计性实验的研究与实践
摘要 从培养学生综合运用微机原理接口技术相关知识的能力入手,提出一种采用可编程接口芯片8259A、82
5
3、8255A进行交通信号灯控制综合设计性实验的方案。
关键词 交通信号灯控制;定时;中断;状态 Research and Practice on Traffic Signal Control Comprehensive Designing Experiment//Hou Baosheng
Abstract From the students principles of the integrated use of microcomputer principle and interface technology knowledge and the ability to interface to start, this paper presents a programmable interface chip 8259A, 8253, 8255A traffic light control to design a program of comprehensive experiments.
Key words traffic signal control; timing; interrupt; state
Author’s address Department of Electronic and Information Engineering, Shaanxi University of Technology, Hanzhong, Shaanxi, China 723003
1 引言
“微机原理与接口技术”是一门实践性很强的专业平台课程,所以在教学过程中,要及时安排实验,理论与实践相结合,使学生对所学内容的理解更深刻。在实验环节上要注重实验的实用性和创造性,使学生对理论教学的基本概念、基本理论的理解和掌握更加透彻,培养学生综合运用微机原理接口技术相ฝ关知识的能力。
本文从二相位交通信号灯控制原理出发,采用微机原理与接口技术课程中可编程接口芯片8259A、82
5
3、8255A,提出交通信号灯控制综合性实验的一种实现方案,对硬件电路设计原理、程序设计方法等进行较详细的论述。
2 单点交通信号灯控制基本原理
单点交通信号灯以单个交叉口为控制对象,是交通信号灯控制的基本形式。控制原理是根据交叉口的流量和流向,确定配时相位次序方案,设定每个相位的绿信比时间,尽量使得交叉口各个方向交通流的通行能力最大,延误最小。车行信号灯所控制的车流是以路口停车线作为控制参照物的,即红灯时被控车流必须及时减速并在停车线后面停车,而绿灯时必须及时跨越停车线通行。相对其他种类的信号而言,它具有最严格的停车时间和位置限定,其控制等级最高。因此,为了便于严格执行这种信号灯的指令,在绿灯转红灯之间设计3秒黄灯预告,以便让驾驶员预先估计自己车辆到达路口的时间,从而决定红灯时能否在停车线后面平稳停车。交通信号灯相位是指在一个周期时间内按路口需求设定和按次序设定的绿灯通行权序列组(图1)。交通信号周期是指交叉口信号给交叉口所有路口依次分配一次通行❦权时间的总和时间。 3 硬件电路的设计 本实验系统的硬件电路由定时模块、发光二极管模块、数码管显示模块和中断模块组成。定时模块采用可编程计数器/定时器8253实现定时或计数。发光二极管模块由8255A的PA口控制发光二极管来实现。数码管显示模块用4个七段数码管来倒计时显示模块实现,东西路和南北路分别用2个数码管。数码管采用动态显示方案连接,用8255A的PB口输出段码,8255A的PC口的PC3~PC0输出位码。中断模块是由8259中断控制器组成。
为了更深刻地理解可编程定时计数器8253工作方式的特点,时钟信号采用双稳态消抖电路,如图4所示。8253工作时,拨动KK输出矩形方波就可以使8253进行减1计数。 4 软件的设计
本程序由主程序、中断服务子程序组成。主程序主要负责系统初始化、倒计时显示和等待中断。中断服务子程序主要负责红绿黄灯各种状态切换和计数器初值的改变。
本系统中的可编程ฒ中断控制器8259A、可编程定时/计数器82
5
3、可编程并行接口芯片8255A使用前先必须确定其工作方式,设置工作方式控制字。可编程并行接口芯片8255A有两个作用:一是用PA口来驱动发光二极管做交通灯使用,工作方式0输出;二是PB口和PC口的下半部分用进行倒计时显示,PB口输出段码,✫PC口的PC3~PC0输出位码,故8255A的端口PA、PC工作在方式0输出。为了使编程定时/计数器8253定时时间到后能产生中断请求,8253工作于方式0计数结束产生中断请求。可编程中断控制器8259A进行单一中断处理。
主程序中系统初始化主要完成8259A、8255A、8253的工作方式控制字的设置,中断向量的设置,8259中断屏蔽寄存器的设置,8253计数初值的设置及启动,用8255端口PA驱动发光二极管显示交通信号灯的初始状态。倒计时显示根据8253当前计数器的计数值修正并在8255的PA口上显示。在CPU读取计数值前先用锁存命令锁存减1计数器的当前值,否则得不到正确的结果;CPU取走数据后,锁存功能自动失锁。读入数据的程序设计过程,先要锁存,然后才开始读入。当交通信号灯的状态为S
1、S3时,红灯的剩余时间应为计数器当前值加上黄灯的时间。
主程序流程图如图5所示。
中断服务子程序是本设计的重点,负责信号灯各个状态的♥处理切换、定时/计数器计数初值的设定及启动。中断程序的流程图如图6所示。根据当前的状态跳转到相应的处理程序段,在处理程序中完成定时初值和状态的切换。根据状态标志,先点亮对应的交通灯,再设置8253定时计数器新的计数初值。由于CPU在响应中断请求过程中,将中断允许标志IF和跟踪标志TF清0,所以为了能使定时计数器下一次定时时间到达后CPU又能响应中断请求,在中断返回前应采用软件方式将中断允许标准位IF置为1。中断返回前还应发送中断结束命令EOI,将当前中断服务寄存器ISR的对应位清0。
5 实验结果 通过表1可以看出,若8253设置的计数初值设为N,则拨动开关的次数为N+1。这可以使学生对8253定时计数器的计数初值与计数脉冲数之间的关系有更加深入的理解。
6 结论
实验教学效果表明, 将微机原理与接口技术的核心器件82
5
9、82
5
5、8253用在交通信号灯控制实验中,教学效果良好,可较好地激发学生的学习兴趣。这种从工程实际出发,结合微机原理课程的学习,使学生不仅能够了解交通信号灯控制的原理,而且可以使学生很好地理解和掌握微机原理接口技术的相关内容,为今后进行微机系统设计的学习打下良好的基础。中国www.LWlm.Com
参考文献 [2]叶爱芹,等.微机原理与接口技术课程综合设计性实验初探[J].中国科技信息,2009
:263-264
[3]周荷琴,吴秀清.微型计算机原理与接口技术[M].4版.合肥:中国科技大学出版社,2008