8255A与8259芯片在交通灯控制系统中的应用

需积分: 15 14 下载量 72 浏览量 更新于2024-07-31 收藏 993KB DOC 举报
"交通灯实时控制系统设计" 交通灯实时控制系统设计是一个典型的计算机控制系统项目,旨在通过硬件和软件的结合来模拟实际交通路况。这个课程设计的主要目标是让学生巩固理论知识,学习并掌握计算机控制系统的软硬件设计方法,以及增强查阅和运用资料的能力。 设计任务集中在以下几个关键点: 1. **硬件原理图**:需要设计接口芯片和外设部分的原理图,包括8259中断控制器、8253定时/计数器和8255可编程并行接口。这些芯片将用于控制交通灯的状态变化和时间计数。 2. **交通灯控制逻辑**:交通灯控制系统采用四个路口轮流通行的方式,每个方向的绿灯亮起时,其他方向的红灯亮起。每个方向的通行时间不同,例如东西方向30秒,南北方向20秒。同时,需要在每个方向的绿灯即将结束时(最后5秒)闪烁,以提醒驾驶员。 3. **时间显示**:使用2位7段LED数码管显示当前路口的通行剩余时间,进行倒计时。这要求能够精确控制时间显示和更新。 4. **异常处理**:在任何路口允许通行期间,如果出现异常情况(例如,通过模拟开关产生中断信号),所有交通灯将闪烁10秒,然后恢复到之前的状态,确保安全。 设计报告需按照指定格式撰写,包括但不限于设计任务、总体方案、硬件原理图、实验电路图、软件流程图、源程序清单和问题分析等。设计过程需要在规定的时间内完成,如6月21日至6月25日,最后一天进行答辩并撰写设计报告。 在实施过程中,8259芯片用于管理中断请求,8253芯片负责定时和计数,以实现交通灯的定时切换;而8255芯片则作为通用I/O接口,控制LED数码管显示和交通灯的状态。软件部分主要包括中断服务程序、计时器初始化、状态更新和异常处理等模块。 交通灯实时控制系统设计是一个综合性的项目,它要求学生将微处理器原理、数字电路、中断系统、定时器/计数器等多方面的知识结合起来,实现一个能够有效管理交通流的实时系统。通过这个设计,学生不仅能够提升技术技能,还能锻炼团队协作和解决问题的能力。
2009-10-30 上传
硬件设计:采用Proteus进行电路原理图设计与仿真 1)单片机选用AT89C51,它与8051系列单片机全兼容,但其内部带有4KB的FLASH ROM,设计时无需外接程序存储器。 2)显示部分:南北向和东西向各采用2个LED数码管计时,对该方向的指示灯的点亮时间进行倒计时,最长计时范围为99秒。 3)键盘部分:设置键、增加键、减少键。 本系统的工作流程: 1)系统启动后,系统按程序给定的时间工作,即东西向通行60秒,南北向通行40秒,黄灯亮4秒,工作模式如表1所示。首先东西向通行,然后南北向通行,如此循环。 2)通行时间的设置:当需要更改主、次干道的通行时间时,可以用设置键、增加键、减少键”进行设置。 第一次按“设置键”时,东西向的绿灯亮,东西向的LED数码管显示当前东西向的通行时间,并且按每秒3次的频率闪烁(每秒钟亮3次暗3次),其余的信号指示灯和南北向的LED数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向的通行时间,每按一次键,数码管的显示时间增加1秒或减少1秒,长按键(按下的时间超过1秒钟以上),则数码管显示的时间按每秒钟增加或减少10的速度快速变化。 第二次按“设置键”时,东西向的黄灯亮,东西向的数码管显示当前东西向黄灯的点亮时间,并且按每秒3次的频率闪烁,其余的信号指示灯和南北向的数码管熄灭,此时可以用“增加键”和“减少键”来改变东西向黄灯的点亮时间。 第三次按“设置键”时,南北向的绿灯亮,南北向的数码管显示当前南北向绿灯的通行时间,并且按每秒3次的频率闪烁,其余的信号指示灯和东西向的数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向绿灯的通行时间。 第四次按“设置键”时,南北向的黄灯亮,南北向的数码管显示当前南北向黄灯的点亮时间,并且按每秒3次的频率闪烁,其余的信号指示灯和东西向的数码管熄灭,此时可以用“增加键”和“减少键”来改变南北向黄灯的点亮时间。 第五次按“设置键”时,系统退出设置状态,回到交通信号灯状态,并且东西向先通行,南北向后通行 软件设计:采用Keil C开发环境与语言 1)软件模块:根据上述工作流程和设计要求,软件设计可以分为以下几个功能模块: 主程序:初始化及键盘监控。 计时程序模块:为定时器的中断服务子程序。 显示程序模块:完成12个发光二极管和4个LED数码管的显示驱动。 键盘扫描程序模块:判断是否有键按下,并求取键号。 键处理程序模块:分别是“设置键”、“增加键”、“减少键”的处理子程序。