1、微机原理课程设计 1 一、 课程设计题目课程设计题目 交通灯控制交通灯控制 二、二、 课程设计目的课程设计目的 综合运用微机原理与应用课程知识,利用集成电路设计实 现一些中小规模电子电路或者完成一定功能的程序, 以复习巩 固课堂所学的理论知识,提高程序设计能力及实现系统、 绘制 系统电路图的能力,为实际应用奠定一定的基础。 掌握 8255A 方式 0 的使用与编程方法 PC 机及配套的接口电路实验装置 IC 芯片:8255A 应用和 8253 三、三、 课程设计内容课程设计内容 采用 8255A 设计交通灯控制的接口方案 采用 8253 设计延时电路 插接电路 编写控制程序 四、四、 课程设计
2、过程课程设计过程 1、设计原理设计原理 8255 8255 是 Intel 公司生产的可编程并行 I/O 接口芯片,有 3 个 8 位并行 I/O 口。 具有 3 个通道 3 种工作方式的可编程 并行接口芯片(40 引脚) 。其内部与引脚图如图所示: 微机原理课程设计 2 8255 有三个端口 A、B、C 端口,3 种不同的工作方式, 在其控制字的作用下使某一个端口工作于某一种工作状态 下。 8253 intel8253 是 NMOS 工艺制成的可编程计数器/定时器,其 内部有三个计数器,分别成为计数器 0、计数器 1 和计数 器 2,他们的机构完全相同,如图所示: 微机原理课程设计 3 每个
3、计数器的输入和输出都决定于设置在控制寄存器中的控 制字,互相之间工作完全独立,采用减 1 计数方式。控制字如 图所示: 在门控信号有效时, 每输入 1 个计数脉冲, 通道作 1 次计数操 作。当计数脉冲是已知周期的时钟信号时,计数就成为定时。 各通道可有 6 种可供选择的工作方式, 以完成定时、计数或 脉冲发生器等多种功能。在这里我们主要采用方式 0:计数结 微机原理课程设计 4 束产生中断 (由低电平变为高电平)。其波形图如图所示: a. 写 CW 后:OUT=0,直到计数到 0 b. 写 N 后:下 1 个 CLK 脉冲下降沿开始计数 c. 计数过程中,可重写 N,重写 N 后,同 b.
4、d. GATE 的作用:GATE=1 计数、=0 暂停计数 e. 计数到 0:OUT=1,直到再写 CW 或 N 2、方案设计、方案设计 考虑普通十字路口,交通灯的控制可分东西向和南北向两 组,每组可用红、黄、绿三个灯进行交通管理,所以本方 案要点是至少对六个交通灯进行控制。由于灯光控制只需 要开、关两个状态,所以可以采用开关量实施控制。开关 微机原理课程设计 5 量的输出可以采用 8255A 的端口,由于开关量有 6 位,所 以采用 8 位端口,又因为灯光控制不需要联络信号,所以 按照方式 0 输出即可。由于题目要求时间的控制精确,所 以我们在这里运用 8253 芯片定时控制。首先我们确定使
5、 用 8255 端口 A 与交通灯的连接方式,如下表所示(假定 发光状态为高电平有效) : 由上表可知状态变换流程为: 其中状态 1 和 4 持续 30 秒, 其它状态持续 0.5 秒; 又状态 2 各状态 3, 没 用 NS(南北) WE(东西) 码 字 G Y R G Y R 状态 PA7 PA6 PA5 PA4 PA3 PA2 PA1 PA0 PA 状态说明 0 0 0 0 0 0 0 0 0 00 关灯 1 0 0 0 1 0 1 0 0 14 NS: R; WE:G 2 0 0 0 1 0 0 1 0 12 NS: R; WE:Y 3 0 0 0 1 0 0 0 0 10 NS: R
6、; WE:N 4 0 1 0 0 0 0 0 1 41 NS: G; WE:R 5 0 0 1 0 0 0 0 1 21 NS: Y; WE:R 6 0 0 0 0 0 0 0 1 01 NS: N; WE:R 说明: NS:南北;WE:东西;R:红;G:绿; Y:黄;N:关 微机原理课程设计 6 状态 5 和状态 6 之间各循环 5 次。 整个控制过程, 要按照上面的流程, 依次把相应的控制码输出到 8255 的端口 A,时间由 8253 定时控制, 6 个交通灯就能够按照要求实现交通管理了。 3、电路插接、电路插接 4、编程与运行、编程与运行 data segment out_code db 14h,5dup(12h,10h),41h,5dup(21h,01h),0 data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax 微机原理课程设计 7 mov dx,307h ;8255 控制端口地址控制端口地址 mov