1、 - 1 - 一、设计要求 (1)南北路口的绿灯、东西路口的红灯同时亮5秒。 (2)南北路口的黄灯闪烁若干次,维持3秒,同时东西路口的 红灯。 (3)南北路口的红灯、东西路口的绿灯同时亮5秒。 (4)南北路口的红灯、同时东西路口的黄灯亮烁若干次,维持 3秒。 (5)转(1)重复。 (6)紧急情况可以手动控制红绿灯的变换。一个开关控制南 北绿,东西红,另一个按钮南北红,东西绿。 (7)黄灯闪烁时扬声器发声,提醒。 二、设计目的 (1)了解红绿灯电路的基本工作原理; (2)了解 8086 微型计算机的工作过程; (3)学习 8086CPU 与外围设备的接口技术。 (4)运用微机原理与接口技术、数字
2、电路、汇编语言程序设计 等课程学到的知识,掌握微型计算机接口的方法和原理,具备一 定的微机应用开发的实践能力,加深对理论课程的理解。 三、设计的具体实现 原理框图 CPUCPU 82558255 82538253 LEDLED 蜂 鸣 器蜂 鸣 器 开 关开 关 K K0 0K K1 1 - 2 - 3.1 系统概述本 次设计是模拟交通灯实时控制系统,以 8086CPU 为核心加以 并行接口芯片 8255、可编程计数器/定时器 8253、LED 灯、开关 等组成的系统。以 LED 灯模拟十字路口的红绿灯。对交通灯控制 的实 现主要是通过编写汇编语言程序对8255的I/O及8253进行控 制,从
3、而实现对灯的亮与灭进行控制。 PC 口做输入,读取定时,及应急开关状态。 用8253对扬声器的发声进行控制,利用软件编程给定8253芯 片某一频率的方波信号,并且设定8255芯片的门控信号PB0 =1, 则可控制扬声器发声。 利用8253的计数器1方式3、计数器0方式0实现对扬声器的控 制,以及对于交通灯亮灭时间的精确延时。 3.2 8086CPU介绍 8086由执行部件和总线接口部件组成(内部结构图如下图) 1 12 23 34 45 56 6 执 行 部 件执 行 部 件 控 制 电 路控 制 电 路 标 志标 志 运 算 寄 存 器运 算 寄 存 器 I I/ /O O 控 制控 制 电
4、 路电 路 ALUALU 1616位位 1616位位 2020位位 8 8位位 指 令 队 列指 令 队 列 地 址地 址 加 法 器加 法 器 外外 部部 设设 备备 执 行 部 件执 行 部 件 ( EUEU)总 线 接 口 部 件总 线 接 口 部 件 ( BIUBIU) CSCS DSDS SSSS ESES IPIP 内 部 寄内 部 寄 存 器存 器 段段 寄寄 存存 器器 AHAHALAL BHBHBLBL CHCHCLCL DHDHDLDL SPSP BPBP DIDI SISI AXAX BXBX CXCX DXDX 通 用通 用 寄 存 器寄 存 器 8086 内部结构图
5、1. 执行部件EU 由算术逻辑单元(ALU) 、标志寄存器、通用寄存器组和EU控 制器等部件组成。 - 3 - 主要功能是执行指令:一般顺序执行,EU不断地从指令队列 中取指令连续执行,而省去访问存储器取指令的时间。需要访问 存储器取操作数时, EU将访问地址送给BIU后, 将要等待操作数到 来后才能继续操作;遇到转移类指令时,要将指令队列中的后续 指令作废, 等待BIU重新从存储器取出目标地址中的指令代码进入 指令队列后,EU才能继续执行指令。 算术逻辑单元(ALU)完成16位或8位的二进制运算;16位暂 存寄存器用来暂存参加运算的操作数。运算结果通过内部总线送 到通用寄存器组或BIU的内部
6、寄存器中等待写入存储器。经ALU运 算后的结果特征置入标志寄存器中保存。 负责从BIU的指令队列中 取指令,并对指令译码;据指令要求向EU内部各部件发出控制命 令以完成各条指令的功能。 2. 总线接口部件 BIU 由地址加法器、专用寄存器组、指令队列缓冲器和总线控制 电路等部件组成;主要功能是形成访问存储器的物理地址,负责 与外部(存储器或 I/O 接口)打交道。 (1)指令队列 可存放 6 字节的指令代码。一般情况下指令队列中总是填满 指令,使 EU 可不断地得到执行的指令。 (2)16 位地址加法器 专门用来完成由逻辑地址变换成物理地址的功能。实际上是进行 一次地址加法, 将两个 16 位的逻辑地址转换为 20 位的物理地址, 以达到可寻址 1M 字节的存储空间。 (3)总线控制电路 将 8086CPU 的内部总线与外部总线相连,是 8086CPU 与外部交换 数据的必经之路。包括 16 条数据总线、20 条地址总线和若干条 控制总线。 3.3 可编程并行接口芯片 8255 3.3.1 8255 内部结构 8255 是 Intel 公司生产的可编程并行 I/O 接