微机原理十字路口交通灯课.doc

上传人:b****1 文档编号:2342786 上传时间:2022-10-28 格式:DOC 页数:18 大小:75KB
下载 相关 举报
微机原理十字路口交通灯课.doc_第1页
第1页 / 共18页
微机原理十字路口交通灯课.doc_第2页
第2页 / 共18页
微机原理十字路口交通灯课.doc_第3页
第3页 / 共18页
微机原理十字路口交通灯课.doc_第4页
第4页 / 共18页
微机原理十字路口交通灯课.doc_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

微机原理十字路口交通灯课.doc

《微机原理十字路口交通灯课.doc》由会员分享,可在线阅读,更多相关《微机原理十字路口交通灯课.doc(18页珍藏版)》请在冰豆网上搜索。

微机原理十字路口交通灯课.doc

课程题目:

模拟交通灯

1.1课程设计目的模拟交通灯一般由“通行与禁止时间控制显示、红黄绿三色信号灯和方向指示灯”三部分组成。

交通灯的时间控制显示,以固定时间值预先“固化”,每次只是以一定周期交替变化,指挥道路交通。

1.2设计内容及要求

1东西方向车辆放行60秒钟。

即东西方向的绿灯和南北方向的红灯同时点亮1分钟。

  2.1分钟后,东西方向的黄灯闪烁5秒钟,以警示车辆将切换红绿灯。

此时南北方向仍维持红灯点亮。

  3.东西方向的黄灯闪烁5秒钟后,转为南北方向放行20秒钟。

即东西方向的红灯和南北方向的绿灯同时点亮20秒钟。

  4.南北方向放行20秒钟后,转为南北方向的黄灯闪烁5秒钟,以警示将切换红绿灯。

此时东西方向仍维持红灯点亮。

  5.南北方向的黄灯闪烁5秒钟后,再转为东西方向车辆放行1分钟。

如此循环重复。

2.1设计思想及实施方案

在模拟交通等设计中,如何使红灯、绿灯保持一定时间,黄灯闪烁的时间是一个非常关键的问题。

本任务要求交通信号灯能实现自行定时、延时、切换等功能,即能实现交通信号灯自动控制。

一般计算机控制系统实现定时或延时有两种基本方法:

利用软件定时和硬件定时。

软件定时,即让机器执行一段程序,程序没有具体的执行目的,利用执行每条指令CPU所花费的时间,可实现延时功能。

这种方法容易实现,仅需选用恰当指令并安排循环即可实现,定时时间调整方便,但不能做到精确定时。

另外,时间调整是以一条指令执行时间为基准,占用CPU资源,降低CPU利用率。

硬件定时,即使用可编程定时/计数器硬件芯片定时。

这种芯片内部有一个可编程定时器,其定时值、定时范围可以很容易地由软件程序改变,定时时间到时可发出某种形式的信号通知外设或CPU。

定时器的输出频率和波形等均由程序设定,因而使用灵活,功能强。

本次课程设计根据我们所学知识、所查资料以及水平所限,我们利用了入栈、出栈所消耗的时间再加上确定次数的循环控制,达到我们所需要的延时时间。

3.18255的引线结构

8255的引线结构如图1所示。

共有40个引脚,其功能分别如下:

D0~D7:

三态双向数据总线,8255与CPU数据传送的通道,当CPU执行输入输出指令时,通过它实现8位数据的读/写操作,控制字和状态信息也通过数据总线传送。

RD:

读信号线,当这个输入引脚为低电平时,即RD=0且CS=0时,允许8255通过数据总线向CPU发送数据或状态信息,即CPU从8255读取信息或数据。

CS:

芯片选择信号线,当这个输入引脚为低电平时,即CS=0时,表示芯片被选中,允许8255与CPU进行通讯;CS=1时,8255无法与CPU做数据传输。

PA0~PA7:

端口A输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入锁存器。

  

PB0~PB7:

端口B输入输出线,一个8位的I/O锁存器,一个8位的输入输出缓冲器。

PC0~PC7:

端口C输入输出线,一个8位的数据输出锁存器/缓冲器,一个8位的数据输入缓冲器。

端口C可以通过工作方式设定而分成2个4位的端口,每个4位的端口包含一个4位的锁存器,分别与端口A和端口B配合使用,可作为控制信号输出或状态信号输入端口。

RESET:

复位输入线,当该输入端处于高电平时,所有内部寄存器(包括控制寄存器)均被清除,所有I/O口均被置成输入方式。

  

A1,A0:

地址选择线,用来选择8255的PA口,PB口,PC口和控制寄存器。

 

当A1=0,A0=0时,PA口被选择;  

当A1=0,A0=1时,PB口被选择;  

当A1=1,A0=0时,PC口被选择;  

当A1=1.A0=1时,控制寄存器被选择;

在本次课程设计当中,设计采用的是软件定时(即通过汇编指令)实现的。

而灯的亮与灭以及闪烁是用8255的A口和B口控制的,工作在方式0,A口和B口均为输出。

并行接口是以数据的字节为单位与I/O设备或被控制对象之间传递信息。

8255可编程外围接口芯片是Intel公司生产的通用并行I/O接口芯片,它具有A、B、C三个并行接口,用+5V单电源供电,能在以下三种方式下工作:

方式0--基本输入/出方式、方式1--选通输入/出方式、方式2--双向选通工作方式。

8255的内部结构及引脚如图1所示。

3.2电路接线图

图3红绿灯模拟设计总电路图

上电路图为红绿灯模拟设计总电路图,通过8086CPU系统总线来控制8255的A端口、B端口,而A、B端口分别接LED发光二极管来控制十字路口红绿灯。

红、黄、绿灯的表示情况如下:

由于仪器上面只有16个发光二级管,且从高到低依次为:

D15D14D13D12D11D10D9D8D7D6D5D4D3D2D1D0。

在设计的过程中做了如下的规定:

R表示红灯,G表示绿灯,Y表示黄灯;E表示方向东,W表示方向西,S表示方向南,N表示方向北,例如:

ER表示东方向为红灯,WG表示西方向为绿灯,SY表示南方向为黄灯,其余的类似。

所以在设计中采用如下的规定:

D15D14表示ER,D13D12表示SR,D11D10表示EG,D9D8表示SG,D7D6表示WR,D5D4表示NR,D3D2表示WG,D1D0表示NG,D15D14D11D10表示EY,D7D6D3D2表示WY,D13D12D9D8表示SY,D5D4D1D0表示NY。

具体连线及表示如下图所示(圆圈表示发光二极管)。

图4十字路口红黄绿灯的表示

3.3使用说明

这是一个交通红绿灯的模拟显示实验,由8255控制16个LED发光二极管的亮与暗来表达十字路口的交通信号,A口表示东、南方向,B口表示西、北方向,绿灯和红灯共同表示黄灯。

可以通过发光二极管来判断具体是哪个方向、哪个灯亮。

第四章软件设计

芯片初始化

东西方向绿灯亮,南北方向红灯亮60秒

东西方向黄灯闪烁,南北方向红灯亮5秒

东西方向红灯亮,南北方向绿灯亮20秒

东西方向红灯亮,南北方向黄灯闪烁5秒

有键按下?

返回到DOS

结束

4.2源程序清单和注释

IOY0EQU0DA00H;片选IOY0对应的端口始地址

MY8255_AEQUIOY0+00H*4;8255的A口地址

MY8255_BEQUIOY0+01H*4;8255的B口地址

MY8255_CEQUIOY0+02H*4;8255的C口地址

MY8255_MODEEQUIOY0+03H*4;8255的控制寄存器地址

STACK1SEGMENTSTACK

DW256DUP(?

STACK1ENDS

DATASEGMENT

LADB?

;定义数据变量

LBDB?

DATAENDS

CODESEGMENT

ASSUMECS:

CODE,DS:

DATA

START:

MOVAX,DATA

MOVDS,AX

MOVDX,MY8255_MODE;定义8255工作方式

MOVAL,80H;工作方式0,A口和B口为输出

OUTDX,AL

LOOP1:

MOVDX,MY8255_A;写A口发出的数据,东方向绿灯亮,南方向红灯亮

MOVAL,3CH

OUTDX,AL

MOVDX,MY8255_B;写B口发出的数据,西方向绿灯亮,北方向红灯亮

MOVAL,3CH

OUTDX,AL

CALLDALLY1

L1:

MOVDX,MY8255_A;写A口发出的数据,东方向黄灯亮,南方向红灯亮

MOVAL,0FCH

OUTDX,AL

MOVDX,MY8255_B;写A口发出的数据,西方向黄灯亮,北方向红灯亮

MOVAL,0FCH

OUTDX,AL

CALLDALLY2

MOVDX,MY8255_A;写A口发出的数据,东方向黄灯灭,南北方向红灯亮

MOVAL,30H

OUTDX,AL

MOVDX,MY8255_B;写B口发出的数据,西方向黄灯灭,南北方向红灯亮

MOVAL,30H

OUTDX,AL

CALLDALLY2

LOOPL1

MOVDX,MY8255_A;写A口发出的数据,东方向红灯亮,南方向绿灯亮

MOVAL,0C3H

OUTDX,AL

MOVDX,MY8255_B;写B口发出的数据,西方向红灯亮,北方向绿灯亮

MOVAL,0C3H

OUTDX,AL

CALLDALLY3

L2:

MOVDX,MY8255_A;写A口发出的数据,南方向黄灯亮,东方向红灯亮

MOVAL,0F3H

OUTDX,AL

MOVDX,MY8255_B;写B口发出的数据,北方向黄灯亮,西方向红灯亮

MOVAL,0F3H

OUTDX,AL

CALLDALLY2

MOVDX,MY8255_A;写A口发出的数据,南北方向黄灯灭,东方向红灯亮

MOVAL,0C0H

OUTDX,AL

MOVDX,MY8255_B;写B口发出的数据,南北方向黄灯灭,西方向红灯亮

MOVAL,0C0H

OUTDX,AL

CALLDALLY2

LOOPL2

MOVAH,1;判断是否有按键按下,调用功能号1

INT16H;ROMBIOS功能调用

JZLOOP1;无按键则跳回继续循环,有则退出

QUIT:

MOVAX,4C00H;结束程序退出

INT21H;DOS系统功能调用

DALLYPROCNEAR;软件延时子程序

PUSHCX

PUSHAX

MOVCX,0FFFH

D1:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试认证 > IT认证

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1