交通灯

2019-05-17 19:32

武汉理工大学《微机原理与接口技术》课程设计说明书

摘 要

随着交通的不断发展和交通指挥的需要,交通灯的控制指挥系统自始至终都显得尤为重要。本课题旨在设计一种交通灯控制指挥系统,以实现对交通的有效控制。在十字路口,当南北方向红灯亮,东西方西绿灯亮时,南北方向车辆禁止通行,东西方向允许通行;反之,南北方向允许车辆通行,东西方向禁止车辆通行。当发生危急情况时,可使所有路口红灯点亮,禁止所有车辆通行。

本系统使用8255可编程接口进行数据的输入输出,计时器使用软件编程进行延时。通过本课程设计,可巩固和加深课堂所学知识;熟悉各种指令的应用及条件;深入了解与掌握8255A在PC机系统的典型接法和8255A的工作方法及应用编程。对仿真软件Proteus的熟练使用,掌握其基本规则,能解决一些常见问题与错误,能实现Proteus与emu8086的联合调试

关键词:交通灯 汇编语言 8255

1

武汉理工大学《微机原理与接口技术》课程设计说明书

1. 设计任务与要求

采用 16 位微处理器 8086 CPU 以及 86 系列微型计算机的指令系统;

软件设计平台可使用 EMU8086 等汇编语言软件,仿真设计平台可采用 Proteus 软件。 设计微型计算机最小系统,实现交通灯模拟功能,具体功能要求如下: (1)输入设备:启动、停止按钮;输出设备:指示灯(模拟交通灯) ;

(2)按下启动按钮,即按自定义的控制方式模拟交通灯变化,直至按下停止按钮,交通灯全灭。

2. 总体方案论证

城市十字交叉路口红绿灯控制系统,主要负责控制东西走向和南北走向的红绿灯的状态和转换顺序,关键是各个状态之间的转换和进行适当的时间延时,而方案的主要不同便是延时方法的不同,有以下两种方案:

方案一:考虑到题目要求黄灯闪烁的频率为1HZ,既每秒1次,那么前0.5秒黄灯亮,后0.5秒黄灯灭,所以最小的定时单位为0.5秒,频率为2HZ,30秒即为60个0.5秒。

显然一个计数器无法完成,所以采用两个计数器级联的方式,将计数器0的输出OUT0接到计数器1的输入端CLK1,CLK0=1MHZ,计数值为50000=C350H,OUT0=20HZ,CLK1=20HZ,记数值=10,OUT1=2HZ。并且计数器0工作于方式3用于产生方波信号,计数器1工作方式2,产生负脉冲信号,计数器1的输出端OUT1接入8255芯片的PC5口,用于读取负脉冲个数,以完成计时功能。 8086及8255设置同方案一,8086则每隔0.5秒变换一次黄灯的状态,持续五次,完成闪烁的功能。

方案二:因为程序中多次用到延时程序,鉴于某一段代码能完成一项特定的功能,并具有公用性,重复性,相对独立性的某段程序应设计成子程序。延时子程序模块的编写方法多种,8086CPU频率为5M,执行一条代码需要时间2.4us,若要实现短暂而精确的延时可以用nop,然而此处数码管的延时精度不要求那么高,所以写一个嵌套的延时子程序即可。在写此系统程序中,采用的是嵌套结构编写延时程序,把子程序两层循环所用到的寄存器中原有的值推入堆栈,延时过后再出栈。

1

武汉理工大学《微机原理与接口技术》课程设计说明书

这种子程序的结构会给程序设计和调试带来许多方便,实现比较简单,还可以简化硬件电路连接,所以选择了方案二。

3. 总体设计

3.1 基本原理

此方案是通过并行接口芯片8255A和8086计算机的硬件连接,以及通过软件延时的方法,来实现十字路口交通灯的模拟控制。本课题的设计可通过实验平台上的一些功能模块电路组成,由于各模块电路内部已经连接,用户在使用时只要设计模块间电路的连接,因此,硬件电路的设计及实现相对简单。七段数码管(不加小数点)加上段选一共八位,可以用一个P口来控制,两组数码管就分别占用了PA和PB,剩下的PC口用来控制交通灯。

3.2 实现思路

1) 输入设备:启动、停止按钮;这部分不需用8259来进行中断管理,直接用NMI即可。

输出设备:指示灯(模拟交通灯)和数码管;

2) 按下启动按钮,即按自定义的控制方式模拟交通灯变化,以下任意时刻按下停止按钮,

交通灯和数码管全灭;

3) 东西方向绿灯通车(time-13)秒钟(time的值可以在程序中设定),南北方向红灯禁行; 4) 一段时间后,数码管开始10秒倒计时,直至为零,绿灯变为黄灯; 5) 黄灯持续时间为3秒,此时数码管闪烁进入3秒倒计时 6) 南北方向绿灯通车(time-13)秒钟,东西方向红灯禁行;

7) 一段时间后,数码管开始10秒倒计时,直至为零,绿灯变为黄灯; 8) 黄灯持续亮3秒,此时数码管闪烁进入3秒倒计时,然后进入重复步骤3.

2

武汉理工大学《微机原理与接口技术》课程设计说明书

图2-1 东西通行图

南北通行的情况与上类似。

4. 单元电路设计与说明

4.1 8255A工作方式及数据I/O操作

8255A共有三种工作方式,即方式0、方式1、方式2. (a)方式0 基本输入/输出方式

方式0下,可供使用的是两个8位口(A口和B口)及两个4位口(C口高4位部分和低4位部分)。四个口可以是输入和输出的任何组合。

方式0适用于无条件数据传送,也可以把C口的某一位作为状态位,实现查询方式的数据传送。

(b)方式1 选通输入/输出方式

A口和B口分别用于数据的输入/输出。而C口则作为数据传送的联络信号。具体定义见表7–2。可见A口和B口的联络信号都是三个,如果A或B只有一个口按方式1使用,则剩下的另外13位口线仍然可按方式0使用。如果两个口都按方式1使用,则还剩下2位口线,这两位口线仍然可以进行位状态的输入输出。 方式1适用于查询或中断方式的数据输入/输出。 (c)方式2 双向数据传送方式

只有A口才能选择这种工作方式,这时A口既能输入数据又能输出数据。在这种方式下需使用C口的五位线作控制线,信号定义如表7–2所示。方式2适用于查询或中断方式的双向数据传送。如果把A口置于方式2下,则B口只能工作于方式0.

本设计中只需采用方式0即可完成全部功能,并且都是输出。

3

武汉理工大学《微机原理与接口技术》课程设计说明书

4.2 锁存控制电路

在微控制器单元(MCU)中,寄存器是十分重要的资源。寄存器的主要作用是快速寄存算术逻辑运算单元(ALU)运算过程中的数据,其锁存功能利用74LS273来实现, (1) 锁存使能控制端 LE。 (2) 控制输入端 (3) 数据输入端

通过锁存器74LS273把数据存储于集成块中,当LE锁存控制端为1, \\OE使能端为0时,其具有输入功能,反之其具有锁存功能,在此系统中充当一个桥梁的作用,将部分数据传送给8255A的A0,A1,和CS片选等等,从而驱动发光二级管显示不同的颜色。

因为在总线周期的前半部分,CPU总是送出地址信号和BHE(总线高允许)信号,为了通知地址已经准备好了,可以被所存,CPU会送出高电平允许所存信号ALE。此时地址信号和BHE信号被锁存。

由于有了锁存器对地址信号和BHE信号的锁存,CPU在总线周期的后半部分,地址和数据都在地址总线和数据总线上,确保了CPU对锁存器和I/O接口的读/写操作。

U6AD0AD1AD2AD3AD4AD5AD6AD7347813141718111D0D1D2D3D4D5D6D7CLKMR74273A13A14A15Q0Q1Q2Q3Q4Q5Q6Q7256912151619A8A9A10A11A12A13A14A15Q0Q1Q2Q3Q4Q5Q6Q7256912151619A0A1A2A3A4A5A6A7A9A10A11A12ADR[0..19]U3NOTU7AD83AD94AD107AD118AD1213AD1314AD1417AD1518111D0D1D2D3D4D5D6D7CLKMR74273U10AD16AD17AD18AD19347813141718111D0D1D2D3D4D5D6D7CLKMR74273Q0Q1Q2Q3Q4Q5Q6Q7256912151619A16A17A18A19BHE图3-1 锁存控制电路74LS273

4


交通灯.doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:西安市建设“美丽城区”市民满意度问卷

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: