基于8255A的应用交通灯的设计综述.docx

上传人:b****2 文档编号:2780373 上传时间:2023-05-04 格式:DOCX 页数:15 大小:312.31KB
下载 相关 举报
基于8255A的应用交通灯的设计综述.docx_第1页
第1页 / 共15页
基于8255A的应用交通灯的设计综述.docx_第2页
第2页 / 共15页
基于8255A的应用交通灯的设计综述.docx_第3页
第3页 / 共15页
基于8255A的应用交通灯的设计综述.docx_第4页
第4页 / 共15页
基于8255A的应用交通灯的设计综述.docx_第5页
第5页 / 共15页
基于8255A的应用交通灯的设计综述.docx_第6页
第6页 / 共15页
基于8255A的应用交通灯的设计综述.docx_第7页
第7页 / 共15页
基于8255A的应用交通灯的设计综述.docx_第8页
第8页 / 共15页
基于8255A的应用交通灯的设计综述.docx_第9页
第9页 / 共15页
基于8255A的应用交通灯的设计综述.docx_第10页
第10页 / 共15页
基于8255A的应用交通灯的设计综述.docx_第11页
第11页 / 共15页
基于8255A的应用交通灯的设计综述.docx_第12页
第12页 / 共15页
基于8255A的应用交通灯的设计综述.docx_第13页
第13页 / 共15页
基于8255A的应用交通灯的设计综述.docx_第14页
第14页 / 共15页
基于8255A的应用交通灯的设计综述.docx_第15页
第15页 / 共15页
亲,该文档总共15页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

基于8255A的应用交通灯的设计综述.docx

《基于8255A的应用交通灯的设计综述.docx》由会员分享,可在线阅读,更多相关《基于8255A的应用交通灯的设计综述.docx(15页珍藏版)》请在冰点文库上搜索。

基于8255A的应用交通灯的设计综述.docx

基于8255A的应用交通灯的设计综述

 

《微型计算机技术》

课程设计报告

 

题目:

基于8255A的应用—交通灯的设计

专业名称:

通信工程

班级:

学号:

姓名:

 

2013年1月

 

基于8255A的应用—交通灯的设计

胡晋

电子信息工程学系

摘要:

随着微型计算机技术的飞速发展。

为此,基于8255芯片原理来实现交通灯的的控制是这次设计基础。

因为交通灯的控制可以分东西方向和南北方向两种,每种可用红、绿、黄三个灯进行交通管理,所以用8255芯片的PB口对六个交通灯进行控制。

通过8255芯片的PA口来控制交通灯状态的切换。

关键词:

交通灯;8255芯片;控制;开关

1设计要求、目的和内容

1.1设计要求

基于微型计算机技术,利用8255芯片的原理实现交通的的控制,即8255芯片的应用—交通灯的的设计。

1.2设计目的

掌握8255芯片方式0的编程方法,PC机及配套的接口电路实验装置的连接于调试,IC芯片:

8255A芯片的原理应用

1.3设计内容

采用8255芯片设计交通灯控制的接口方案,硬件电路的设计和连接,程序的编写和调试。

2设计原理

2.18255内部框图介绍

 

图18255A的内部结构图

数据总线缓冲器:

这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。

输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。

三个端口A,B和C:

A端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入锁存器。

B端口包含一个8位数据输入/输出锁存器和缓冲器,一个8位数据输入缓冲器。

C端口包含一个8位数据输出锁存器和缓冲器,一个8位数据输入缓冲器(输入没有锁存器)。

A组和B组控制电路:

这是两组根据CPU输出的控制字控制8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU输出的一字节方式控制字或对C口按位复位字命令。

方式控制字的高5位决定A组的工作方式,低3位决定B组的工作方式。

[2]对C口按位复位命令字可对C口的每一位实现置位或复位。

A组控制电路控制A口和C口上半部,B组控制电路控制B口和C口下半部。

读写控制逻辑:

用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。

2.28255A的引脚及其功能

图28255A的引脚图

D0--D7:

三态双向数据线,与单片机数据总线连接,用来传送数据信息。

CS:

片选信号线,低电平有效,表示芯片被选中。

RD:

读出信号线,低电平有效,控制数据的读出。

WR:

写入信号线,低电平有效,控制数据的写入。

GND:

地线。

Vcc:

+5V电源。

PA0--PA7:

A口输入/输出线。

PB0--PB7:

B口输入/输出线。

PC0--PC7:

C口输入/输出线。

RESET:

复位信号线。

A1、A0:

地址线,用来选择8255内部端口。

2.38255控制字

图38255控制字

8255A的控制字是在编程时对8255芯片的初始化,主要是用来设计8255A的PA、PB、PC的输入和输出的设置。

2.48255A的

8255A有以下三种工作方式:

方式0:

基本输入/输出方式;

方式1:

选通输入/输出方式;

方式2:

双向选通输入/输出方式。

3方案的选取

目前设计交通灯的方案有很多,为此将进行方案的比较。

方案一:

CPLD是复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。

是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。

其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。

[3]为此利用PLC实现对交通灯控制系统的设计,通过编写Verilog语言代码来实现。

但是这种方案的硬件要求比较高。

方案二:

利用数电所学知识,将计数器(555定时器),译码器,与非门有机组合在一起,利用其输出的高低电平来控制LED灯的亮与灭,设计简单,但是时间不是很准确,精密度不高。

方案三:

利用所学的微机原理与接口技术知识,基于8255A的工作原理和8086控制芯片的组合来实现交通灯的设计,这种方案的硬件电路的设计简单(只需数据线的连接)和LED灯的连接,而且源代码使用的是汇编语言,编写简单。

基于以上的几种方案的对比,本次设计将采用方案三来实现交通灯的设计和控制。

4设计步骤

4.1设计思路

在一个十字路口如图4所示:

其中1、3为东、西方向,2、4为南、北方向。

初始化之后,1、3路口的绿灯亮,2、4路口的红灯亮,1、3路口方向通车。

当开关第一次按下时1、3路口的黄灯开始闪烁而绿灯熄灭;当开关第二次按下时1、3路口的红灯亮,同时2、4路口的绿灯亮,2、4路口方向开始通车。

当开关第三次按下时,2、4路口的黄灯开始闪烁而绿灯熄灭。

当开关第四次按下时,直接切换到初始化状态,之后重复上述过程。

图4交通灯十字路口示意图

基于以上的设计思路,本设计将利用8255芯片的PB口作为输出端与LED相连,作为LED的控制端口,PA口与开关相连,控制LED灯的切换。

因此将PB端口的PB7、PB6、PB5与东西方向的红灯、黄灯和绿灯相连接,PB3、PB2、PB1与南北方向的黄灯、绿灯和红灯相连接。

开关S0与PA5连接。

为此,便可得到如图5的流程图。

状态的初始化:

东西方向绿灯亮,南北方向的红灯亮30s

开关按下

东西方向的黄灯亮,同时南北方向红灯亮

开关按下

南北方向的绿灯亮,东西方向的红灯点亮

开关按下

南北方向的黄灯亮,东西方向红灯亮

开关按下

图5交通灯状态流程图

4.3源代码的编程

基于以上的设计思路,交通灯的状态有以下几种:

表一交通灯的控制图表

路口说明

东西路口

南北路口

开关

交通灯颜色

绿

绿

8255A接接

PB7

PB6

PB5

PB4

PB3

PB2

PB1

PB0

在交通灯状态转换时PB口的赋值

0

0

1

0

0

0

1

0

0

1

0

0

0

0

1

0

1

0

0

0

0

1

0

0

1

0

0

0

1

0

0

0

源程序代码:

数据端口和输入输出端口地址

L8255_CMDEQU2A3H;总数据端口地址

L8255_PAEQU2A0H;8255A的端口地址

L8255_PBEQU2A1H

L8255_PCEQU2A2H

8255A的初始化

MOVDX,L8255_CMD

MOVAL,90H;10010000,0方式,,PA输入,PB和PC口都为输出

OUTDX,AL

交通灯的初始化及开关的读入

MOVAL,22H;东西亮绿灯,南北两红灯

MOVDX,L8255_PB

OUTDX,AL

MOVDX,L8255_PA

INAL,DX

MOVBL,AL

MOVCL,0

开关状态的变换

PP:

MOVBL,AL

INCCL

CMPCL,1

JZSTY;STY程序是PB=42H,东西亮黄灯,南北亮红灯

CMPCL,2

JZHJ;HJ程序是PB=84H,东西亮红灯,南北亮绿灯

CMPCL,3

JZLWL;LWL程序是PB=88H,东西亮红灯,南北亮黄灯

CMPCL,4

JZZFB;ZFB程序是PB=22H,东西亮红灯,南北亮绿灯

JMPBJ

5调试及分析

打开湖北众友软件将源程序代码进行编译,连接和装载后便可选择全速运行,得其结果如下图6所示:

图6交通灯初始化状态

状态的初始化:

东西方向绿灯亮,南北方向的红灯亮,此时允许东西方向的车辆通行。

按下开关S0将得到下一个状态,如图7所示:

图7调试结果图

当按下开关时,此时交通灯的状态为:

东西方向黄灯亮,南北方向的红灯继续亮,此时东西方向的车辆仍然可以继续通行。

按下开关S0将得到下一个状态,如图8所示:

图8调试结果图

当再次按下开关时,此时交通灯的状态为:

东西方向红灯亮,南北方向的绿灯亮,此时南北方向的车辆可以通行。

按下开关S0将得到下一个状态,如图9所示:

图9调试结果图

当再次按下开关时,此时交通灯的状态为:

东西方向红灯亮,南北方向的黄灯亮,此时南北方向的车辆可以继续通行。

6调试结果的分析

从以上的调试结果可以看出,此次设计一共有四种状态,即东西亮绿灯,南北亮红灯,此时允许东西方向的车辆通行;当按下开关时,此时是东西亮黄灯,南北亮红灯,东西方向的车辆继续通行;再按下开关,此时是是东西亮红灯,南北亮绿灯,南北方向的车辆通行;当再次按下开关,此时是是东西亮红灯,南北亮黄灯,南北方向的车辆继续通行;这就是一个完整的周期,如果在按下开关,将回到初始状态,以此循环。

在于理论和实际是相符合的。

7心得体会

在此次课程设计过程中,我深深的了解了自己对微型计算机技术的不足之处,好多程序自己明明知道却写不出来。

也明白了自己想的与在仪器上运行出来的结果是那么有差别。

往往我自己觉得思路很清楚的情况下,但是运行出来的结果往往与我自己想的不一样,这可能就是人与机器的不同之处吧,而且我自己本身实力就不怎么好,有时候还会因为仪器的问题而出现不同的结果,弄的我自己都不知道是我编写的程序有问题还是仪器有问题。

浪费了不少时间。

 

附录

源程序代码

L8255_CMDEQU2A3H

L8255_PAEQU2A0H

L8255_PBEQU2A1H

L8255_PCEQU2A2H

CODESEGMENT

ASSUMECS:

CODE,DS:

CODE

BEGIN:

MOVCX,0FFH

SS:

LOOPSS

MOVDX,L8255_CMD

MOVAL,90H;10010000,0方式,PA输入,PB输出

OUTDX,AL

MOVAL,22H

MOVDX,L8255_PB

OUTDX,AL

MOVDX,L8255_PA

INAL,DX

MOVBL,AL

MOVCL,0

BJ:

MOVDX,L8255_PA

INAL,DX

CMPBL,AL

JNZPP

JMPBJ

PP:

MOVBL,AL

INCCL

CMPCL,1

JZSTY

CMPCL,2

JZHJ

CMPCL,3

JZLWL

CMPCL,4

JZZFB

JMPBJ

STY:

MOVAL,42H

MOVDX,L8255_PB

OUTDX,AL

JMPBJ

HJ:

MOVAL,84H

MOVDX,L8255_PB

OUTDX,AL

JMPBJ

LWL:

MOVAL,88H

MOVDX,L8255_PB

OUTDX,AL

JMPBJ

ZFB:

MOVCL,0

MOVAL,22H

MOVDX,L8255_PB

OUTDX,AL

JMPBJ

INT21H

CODEENDS

ENDBEGIN

 

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2