×

交通灯控制器的设计与实现

消耗积分:10 | 格式:rar | 大小:333 | 2009-05-03

分享资料个

交通灯控制器的设计与实现
一、实验目的
1. 了解交通灯管理的基本工作原理。
2. 熟悉8253计数器/定时器、8259A中断控制器和8255A并行接口的工作方式及应用编程。
3. 掌握多位LED显示的方法。

二、 实验内容与要求
设计一个用于十字路口的交通灯控制器。
1.基本要求:
1) 东西和南北方向各有一组红,黄,绿灯用于指挥交通,红,黄,绿的持续时间分别为25s,5s,20s。
2) 当有紧急情况(如消防车)时,两个方向均为红灯亮,计时停止,当特殊情况结束后,控制器恢复原来状态,正常工作。
3) 一组数码管,以倒计时方式显示两个方向允许通行或禁止通行的时间。
2.提高部分:
1) 实时修改交通灯的持续时间。
2) 根据不同时段对主要交通方向的信号进行调整。
3) 可以使用LCD显示提示信息。

三、实验报告要求
 1.设计目的和内容
 2.总体设计
 3.硬件设计:原理图(接线图)及简要说明
 4.软件设计框图及程序清单
 5.设计结果和体会(包括遇到的问题及解决的方法)

四、总体设计
交通灯的工作过程如下:设十字路口的1、3为南,北方向,2、4为东西方向,初始态为4个路口的红灯全亮。之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车,2个路口的LED数码管开始倒计时25秒。延迟20秒后,1、3路口的绿灯熄灭,而1,3路口的黄灯开始闪烁(1HZ)。闪烁5次后,1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车,2个路口的LED数码管重新开始倒计时25秒。延迟20秒时间后,2、4路口的绿灯熄灭,而黄灯开始闪烁。闪烁5次后,再切换到1、3路口方向。之后,重复上述过程。当有紧急情况时,2个方向都红灯亮,倒计时停止,车辆禁止通行,当紧急情况结束后,控制器恢复以前的状态继续工作。
 在设计中采用6个发光二极管来模拟2个路口的黄红绿灯,每个路口用2个数码管来显示通行或禁止剩余的时间。紧急情况用一个单脉冲发生单元申请中断来模拟,紧急情况结束后,再发一个中断来恢复以前的状态。
 根据前面的介绍,本设计硬件由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。定时模块采用硬件定时和软件定时相结合的方法,用8253定时/计数器定时100ms,再用软件计时实现所需的定时。发光二极管模块由8255控制发光二极管来实现。数码管显示模块由实验平台上的LED显示模块实现。紧急中断模块是由单脉冲发生单元和8279中断控制器组成。
 程序主要是由定时子程序、发光二极管显示子程序、数码管显示子程序和中断服务程序组成。包括对8253、8255以及8259等可编程器件的编程。

五、硬件设计
 本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。完整系统的硬件连接如图1所示。硬件电路由定时模块、发光二极管模块、数码管显示模块和紧急中断模块组成。
 定时模块是由8253的计数器0来实现定时100ms。Clk0接实验平台分频电路输出Q6,f=46875hz。GATE0接8255的PA0,由8255输出来控制计数器的起停。OUT0接8259的IRQ2,定时完成申请中断,进入中断服务程序。
 发光二极管显示模块由8255输出来控制发光二极管的亮灭。8255输出为低电平时,对应的发光二极管就点亮,否则就熄灭。8255的接口电路如图2所示。交通灯的对应关系如下:
L7 L6 L5 L2 L1 L0
PC7 PC6 PC5 PC2 PC1 PC0
13红灯 13黄灯 13绿灯 24红灯 24黄灯 24绿灯
 
 实验平台上提供一组六个LED数码管。插孔CS1用于数码管段选的输出选通,插孔CS2用于数码管位选信号的输出选通。本设计用4个数码管来倒计时。
 紧急中断模块是由单脉冲发生单元和8259中断控制器,单脉冲发生单元主要用来请求中断,然后做出紧急情况处理。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(1)
发评论
我碳 2013-05-19
0 回复 举报
hao 收起回复

下载排行榜

全部1条评论

快来发表一下你的评论吧 !