1、微机原理与接口实验项目设计报告 十字路口的交通灯控制系统 2018 年 6 月 21 日 目录 一、引言 . 4 二、组员分工 . 4 三、设计目的与要求 . 4 1. 设计目的 . 4 2. 设计要求 . 4 四、设计思路 . 5 五、实验原理 . 5 1. 硬件 . 5 1) 8088CPU . 5 2) 8255A. 6 2. 程序设 计流程框图 . 8 六、实验内容 . 8 1. 硬件原理图 . 8 2. 程序源代码(后附) . 9 七、实验感想 . 23 程序源代码: . 24 一、引言 此次微机原理与接口技术实验项目设计我们组选择了“十字路口的交通灯控制系统”作为我们组的设计题目。
2、 在现代社会中,交通灯是城市交通 中的重要指挥系统,它与人们日常生活密切相关随着人们生活水平的提高,对交通管制也提出了更高 的要求,因此提供一个可靠、安全、便捷的多功能交通灯控制系统有着现实的必要性。 对于复杂的城市交通系统,为了确保安全, 保证正常的交通秩序,十字路口的信号控制必需按照一定的规律变化,以便于车辆行人能顺利地通过十字路口。 本次实验项目的设计就是运用所学习的微机原理与接口技术的知识,通过8088CPU 以及 8255、 8253、 8259 等接口电路,通过汇编语言编写程序实现对十字路口的交通灯的控制。 二、组员分工 本次实验内容较多,本组成员的分工如下: 1. 周德福:原理图
3、设计、程序设计 2. 王傲霜:程序设计 、 代码编译 3. 任 杰: 资料查询、软件环境安装 4. 关瑾瑜: 资料查询、设计要求分析 三、设计目的与要求 1. 设计目的 通过利用微机原理与接口技术所学知识实现完成十字路口的交通灯的控制系统。 2. 设计要求 画出系统实现的硬件原理图( SCH)以及印刷版图( PCB),并编写系统控制程序并调试通过(生成 EXE)。 基本要求: 1)每个方向两位 LED 数字显示,以秒倒数计数; 2)每个方向设有红绿灯提示; 3)采用 8088 最大模式系统总线连接 四、设计思路 设有一个十字路口, 1、 3 为南,北方向, 2、 4 为东,西方向。 初始化之后
4、, 1、 3 路口的绿灯亮, 2、 4 路口的红灯亮, 1、 3 路口方向通车。 延迟一段时间( 15 秒)后, 1、 3 路口的绿灯熄灭,而 1、 3 路口的黄灯开始 亮 。 延迟 5秒 后, 1、 3 路口的红灯亮, 同时 2、 4 路口的绿灯亮, 2、 4 路口方向开始通车。 延迟一段时间( 30 秒)后 , 2、 4 路口的绿灯熄灭,而黄灯开始 亮 。 5秒 后,再切换到 1、 3 路口方向。 之后, 按键退出,否则 重复上述过程 。 五、实验原理 1. 硬件 本实验采用 CPU 为 8088CPU,芯片为 8255A。 1) 8088CPU 8088CPU 的结构示意图如下图所示,共
5、有 40 个引脚(其中 VCC 和 GND 在图中没给出)其中有 8 个数据 /地址复用引脚 AD0-AD7, 8 条地址引脚 A8-A15, 4 条地址/状态复用引脚 A16/S3-A19/S6。系统总线引脚采用三态缓冲器式总线电路,输出可有逻辑 “0” ,逻辑 “1” ,高阻态三种状态,保证仅有此刻进行信息交换的设备占用总线,其余设备 “ 脱离 ” 总线。其余引脚,如 RD、 WR 为读写信号, READY表示就绪, TEST 测试信号, RESET 复位信号, MN/MX 最大 /最小模式信号,以及CLK 时钟信号。 8088CPU 按功能分为执行部件和总线接口部件两部分组成。 EU 包
6、括算术逻辑单元( ALU)、 16 位标志寄存器、寄存器阵列( 4 个 16 位通用寄存器、 2 个 16 位指针寄存器和 2 个 16 位变址寄存器)、指令译码器及控制电路。 BIU 包括 4 个 16位段寄存器、 1 个 16 位指令指针、 1 个地址加法器、 1 个指令流队列和总线控制电路。 EU 是执行指令的部件,它从 BIU 的指令流队列中取指令,发出相应的控制命令序列,从而执行指令。执行指令中所需操作数地址由 EU 单元计算出 16位偏移量部分送 BIU,由 BIU 将其与段基址(段寄存器内容)合成,最后形 成一个 20 位的内存单元物理地址。同时, BIU 根据物理地址与内存单元
7、交换数据。此外, BIU 也可根据 EU 请求与 I/O 接口电路交换数据。 8088 的内部结构: 2) 8255A 8255A 是一种通用可编程并行 I/O 接口电路( NMOS)芯片,又称 “ 可编程外围接口 PPI” 。 它是 Intel 公司为 8085、 80X86 系列微处理器配套的接口芯片。它也可以和其他微处理器系 统相配。 80X86 系统中常采用 8255A 作为键盘、扬声器、打印机等外设的接口电路芯片。 8255A 的内部结构: 8055A 的引脚: 2. 程序设计流程框图 六、实验内容 1. 硬件原理图 由于十字路口,相对方向的交通灯信号是一致的,所以硬件只选用了两组交
8、通灯开始 初始化 1, 3 路口红灯亮,2, 4 路口绿灯亮 延时 15 秒,黄灯亮,延时 5 秒 1, 3 路口绿灯亮,2, 4 路口红灯亮 延时 15 秒,黄灯亮,延时 5 秒 有无键盘结束 代表四个路口的交通信号。另外四个路口交通灯倒计时信号也是一致的,所以只有两个七段数码管代表十位和个位共一组数字的变化。 SCH 图: PCB 图: 2. 程序源代码(后附) 我们采用软件延时,循环的方法,键盘输入任意之后程序结束。假设 8255A 的入口地址为304H-307H,即 304H 对应 PA, 305H 对应 PB, 306H 对应 PC, 307H 为方式控制字地址 STACK SEGMENT DW 32 DUP(0) STACK ENDS CODE SEGMENT ASSUME CS:CODE,SS:STACK START: PUSH DS MOV AX,DATA MOV DS,AX SUB AX,AX PUSH AX MOV DX,307H ;写控制字 MOV AL,80H ;送方式字,选择 0 工作方式 OUT DX,AL MOV DX,3O4H ; PA、 PB、 PC 全部初始化 MOV AL,0 OUT DX,AL MOV DX,3O5H MOV AL,0 OUT DX,AL