交通灯控制 (8253、8255、8259)
交通灯控制系统设计 交通灯控制系统是使用微处理器和相关外围设备来控制交通灯的亮灭和显示的系统。本文将基于 8253、8255、8259 三个芯片来设计一个交通灯控制系统,通过硬件连接和软件编程来实现交通灯的控制和显示。 一、硬件连接 流量控制系统的硬件连接主要包括三个部分:8253 定时器、8255 parallel port 和 8259 中断控制器。其中,8253 定时器用于生成定时信号,8255 parallel port 用于控制八个发光二极管的亮灭,8259 中断控制器用于处理中断请求和控制数码管的显示。 在硬件连接图中,8253 的定时器通道 0 输入频率为 1.19MHz,输出产生 0.05 秒的定时信号,通过 8259 的 IR0 向 CPU 申请中断,即每产生一次中断,则说明定时 0.05 秒。8255 的 A 口输出,控制八个发光二极管的亮灭,作为指示灯,实际只用两个绿灯和红灯。8259 的 B 口输出,作为四个数码管的笔划码,其显示码与显示数据的关系如下表所示。 二、软件设计 软件设计主要包括三个部分:中断处理程序、主程序流程和显示程序。 中断处理程序的主要功能是处理 8253 定时器的中断请求,每产生一次中断,则说明定时 0.05 秒。在中断处理程序中,我们设置了一个 FLAG 标志,用于判断当前是否闪烁,并且根据开关 K1~K4 的值,设置通行时间从 00~90 秒,间隔 10 秒。 主程序流程主要包括初始化、定时器设置、8255 输出设置和主循环四个部分。在主循环中,我们使用了一个 NOWTIME 变量来记录当前计时时间,并根据 FLAG 标志来判断当前是否闪烁,如果闪烁,则显示当前时间,否则,显示设置的通行时间。 显示程序主要用于显示当前时间和设置的通行时间。我们使用了一个 TIME1 变量来记录当前时间,每 0.5 秒增加一次,并使用一个 TIME2 变量来记录设置的通行时间,每 1 秒增加一次。在显示程序中,我们使用了一个 TAB 数组来存储 0~9 的显示码,并使用 8259 的 B 口输出来显示当前时间和设置的通行时间。 三、程序流程图 程序流程图主要展示了交通灯控制系统的总体结构和流程。从图中可以看到,系统的主要流程包括初始化、定时器设置、8255 输出设置、中断处理和主循环五个部分。在中断处理程序中,我们处理 8253 定时器的中断请求,并根据开关 K1~K4 的值,设置通行时间从 00~90 秒,间隔 10 秒。在主循环中,我们使用了一个 NOWTIME 变量来记录当前计时时间,并根据 FLAG 标志来判断当前是否闪烁,如果闪烁,则显示当前时间,否则,显示设置的通行时间。 四、结语 本文设计了一个交通灯控制系统,使用 8253、8255、8259 三个芯片来实现交通灯的控制和显示。该系统的硬件连接简单、软件设计灵活,可以满足交通灯控制的需求。
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
- 1
- 2
- 3
前往页