1、 一、设计题目:一、设计题目:十字路口交通灯控制器 二、设计要求:二、设计要求: 通过对红绿黄 LED 发光二极管的控制,熟练掌握 8255A 可编程 并行接口的编程方法。编写程序控制 8255A 可编程并行接口芯片, 使实验台上的红、绿、黄发光二极管按照十字路口交通信号灯的燃灭 规律发光。 三、硬件方案:三、硬件方案: (一)设计原理: 通过 8255A 并口来控制 LED 发光二极管的亮灭。 A 口控制红灯, B 口控制黄灯, C 口控制绿灯。 输出为 0则亮, 输出为 1 则灭。 用 8253 定时来控制变换时间 。 设有一个十字路口,1、3 为南,北方向,2、4 为东西方向,初 始态为
2、 4 个路口的红灯全亮。之后,1、3 路口的绿灯亮,2、4 路口 的红灯亮,1、3 路口方向通车。 延迟 30 秒后,1、3 路口的绿灯熄灭, 而 1,3 路口的黄灯开始闪烁(1HZ) 。闪烁 5次后,1、3 路口的红灯 亮,同时 2、4 路口的绿灯亮,2、4 路口方向开始通车。延迟 30 秒 时间后,2、4 路口的绿灯熄灭,而黄灯开始闪烁。闪烁 5 次后,再 切换到 1、3 路口方向。之后,重复上述过程。 要求使用可编程并行接口 8255,8088CPU,双色灯,PC 机等实 现。 (二) 部分所使用的芯片极其原理: (1)8255 的基本功能: Intel 公司生产的可编程并行接口芯片 8
3、255A 已广泛应用于实际 工程中, 例如 8255A 与 A/D、 D/A 配合构成数据采集系统, 通过 8255A 连接的两个或多个系统构成相互之间的通信,系统与外设之间通过 8255A 交换信息,等等,所有这些系统都将 8255A 用作为并行接口。 8255A为一可编程的通用接口芯片。 它有三个数据端口A、 B、 C, 每个端口为8位,并均可设成输入和输出方式, 但各个端口仍有差异: 端口A(PA0PA7):8位数据输出锁存/缓冲器,8位数据输入锁 存器; 端口B(PB0PB7):8位数据I/O锁存/缓冲器,8位数据输入缓 冲器; 端口C(PC0PC7):8位输出锁存/缓冲器,8位输入缓
4、冲器(输 入时没有锁存) ;在模式控制下这个端口又可以分成两个4位的端口, 它们可单独用作为输出控制和状态输入。 端口A、B、C又可组成两组端口(12位):A组和B组,参见图 A.2。在每组中,端口A和端口B用作为数据端口,端口C用作为控制 和状态联络线。 在8255A中,除了这三个端口外,还有一个控制寄存器,用于控 制8255A的工作方式。因此8255A共有4个端口寄存器,分别用A0和 A1指定: A1=0,A0=0,表示访问端口A; A1=0,A0=1,表示访问端口B; A1=1,A0=0,表示访问端口C; A1=1,A0=1,表示访问控制寄存器; 在本实验中使用的工作方式为方式0-基本输
5、入输出:将端口信 号线分成4组,分别由方式控制字的D3、D2、D1、D0控制其传送方 向,当某位为1时,相应的端口数据线设置成输入方式;当某位为0 时,相应的端口数据线设置成输出方式。例如,当方式控制字设置成 1000 1010B时,端口A与端口C的低4位数据线设置成输出方式,端口 B与端口C的高4位数据线设置成输入方式。 特别注意,当将C口的低 4位设置成同一传送方向时,则端口C可用作为独立的端口,因此, 8255A提供了3个独立的8为端口。 (2)8253的基本功能: 含有3个独立的16位计数器,能够进行3个16位的独立计数。 每一个 计数器具有六种工作方式; 能进行二进制十进制计数(减法
6、计数); 计数频率为02 MHz; 可作计数器或定时器。其内部结构如图: 8253支持二进制计数或十进制计数。 二进制计数很容易理解,每 来一个计数脉冲计数器的值减l。所谓十进制计数,是指BCD码计数, 每个计数器可表示4位十进制数的BCD码,每来一个计数脉冲时,按 照 十 进 制 数 减 1 规 律 进 行 计 数 。 例 如 , 当 前 的 计 数 值 为 1000 0lOl 0000 0000(8500),来一个计数脉冲后,变为1000 0100 1001 1001(8499)。 8253的引脚信号与内部结构:8253为24脚,双列直插封装。和 8255A一样,其内部有一个三态数据缓冲器,以保证未选中时内部数 据线和系统数据总线是“脱开”的。三个计数器在使用时是独立的。每 一个计数器对外有三个引脚:CLK为计数脉冲输入,GATE为门控信 号(允许禁止计数),OUT为输出信号。每一个计数器占用一个IO 端口地址,加上控制字口,一片8253共占用4个IO端口地址。和 8255A一样,8253也设置了两个用于端口寻址的引脚A1和A0。这