基于8255A的应用—交通灯的设计综述_第1页
基于8255A的应用—交通灯的设计综述_第2页
基于8255A的应用—交通灯的设计综述_第3页
基于8255A的应用—交通灯的设计综述_第4页
基于8255A的应用—交通灯的设计综述_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、微型计算机技术课程设计报告题 目:基于8255A的应用一交通灯的设计 专业名称:通信工程班 级:学 号:姓 名:2013年1月基于 8255A 的应用交通灯的设计胡晋电子信息工程学系摘要 :随着微型计算机技术的飞速发展。为此,基于8255 芯片原理来实现交通灯的的控制是这次设计基础。因为交通灯的控制可以分东西方向和南北方向两种,每种可用红、绿、黄三个灯进行交通管理,所以用8255芯片的PB口对六个交通灯进行控制。 通过8255芯片的PA 口来控制交通灯状态的切换。关键词: 交通灯; 8255 芯片 ; 控制;开关1 设计要求、目的和内容1.1 设计要求基于微型计算机技术, 利用 8255 芯片

2、的原理实现交通的的控制, 即 8255 芯片的应用交通灯的的设计。1.2 设计目的掌握8255芯片方式0的编程方法,PC机及配套的接口电路实验装置的连接于调试,IC芯片:8255A芯片的原理应用1.3 设计内容采用 8255 芯片设计交通灯控制的接口方案,硬件电路的设计和连接,程序的编写和调试。2 设计原理2.1 8255 内部框图介绍敌据总线Dt-DORD _yWR KDAiAoRESET数据总线缓冲關it/写7制逻WVOPAtPAoc in(高4位)C 口(低4位)I/OPC严PGI/OPCPCnI/OPBr-PBo看y图18255A的内部结构图数据总线缓冲器:这是一个双向三态的 8位数据

3、缓冲器,它是 8255A与微机系统数据总线的 接口。输入输出的数据、CPU输出的控制字以及 CPU俞入的状态信息都是通过这个缓冲器传送的。三个端口 A,B和C:A端口包含一个8位数据输出锁存器和缓冲器,一个 8位数据输入锁存 器。B端口包含一个8位数据输入/输出锁存器和缓冲器, 一个8位数据输入缓冲器。C端口包含 一个8位数据输出锁存器和缓冲器,一个 8位数据输入缓冲器(输入没有锁存器)。A组和B组控制电路:这是两组根据 CPU输出的控制字控制 8255工作方式的电路,它们对于CPU而言,共用一个端口地址相同的控制字寄存器,接收CPU俞出的一字节方式控制字或对c口按位复位字命令。方式控制字的高

4、5位决定A组的工作方式,低 3位决定B组的工作方式。2对C口按位复位命令字可对 C口的每一位实现置位或复位。 A组控制电路控制 A 口和C 口上半部, B组控制电路控制 B口和C口下半部。读写控制逻辑:用来控制把CPU输出的控制字或数据送至相应端口,也由它来控制把状态信息 或输入数据通过相应的端口送到CPU2.2 8255A的引脚及其功能3210业AHAr-二二三一 S010T6S+0123012 UBBAAyiiyi 3 PPL 尸 FF厂Hppp433333333332222222S2图2D0-D7:三态双向数据线,与单片机数据总线连接 CS:片选信号线,低电平有效,表示芯片被选中。 RD

5、 :读出信号线,低电平有效,控制数据的读出。 WR :写入信号线,低电平有效,控制数据的写入。Vcc : +5V 电源。PB0-PB7 : B 口输入/输出线。RESET :复位信号线。2.3 8255控制字8255A的引脚图,用来传送数据信息。GND :地线。PA0-PA7 : A 口输入/输出线。PC0-PC7: C 口输入/输出线。A1、A0 :地址线,用来选择 8255内部端口。8255A的工作方式控制字D7D6D5D4D3D2DIDO执组C 口高4位;1:输入.0:输小方式选择1:寿式他方式0A 口:输入,(h输砒方式选舞00:方鈿方式IIX;方式2H 口1:输入,仇输出C 口低4位

6、:1:输I入.0:输出图3 8255控制字8255A的控制字是在编程时对8255芯片的初始化,主要是用来设计8255A的PA PB PC的输入和输出的设置。2.4 8255A 的8255A有以下三种工作方式:方式0:基本输入/输出方式;方式1选通输入/输出方式;方式2:双向选通输入/输出方式。3方案的选取目前设计交通灯的方案有很多,为此将进行方案的比较。方案一:CPLD是复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等

7、方法,生 成相应的目标文件,通过下载电缆(在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。为此利用PLC实现对交通灯控制系统的设计,通过编写Verilog语言代码来实现。但是这种方案的硬件要求比较高。方案二:利用数电所学知识,将计数器(555定时器),译码器,与非门有机组合在一起, 利用其输出的高低电平来控制LED灯的亮与灭,设计简单,但是时间不是很准确,精密度不高。方案三:利用所学的微机原理与接口技术知识,基于8255A的工作原理和8086控制芯片的组合来实现交通灯的设计,这种方案的硬件电路的设计简单(只需数据线的连接)和LED灯的连接, 而且源代码使用的是汇编语言,编写简单。基于

8、以上的几种方案的对比,本次设计将采用方案三来实现交通灯的设计和控制。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相

9、连,作为LED的控制 端口,PA口与开关相连,控制 LED灯的切换。因此将 PB端口的PB7、PB6 PB5与东西方向的红 灯、黄灯和绿灯相连接,PB3 PB2、PB1与南北方向的黄灯、绿灯和红灯相连接。开关SO与PA5连接。为此,便可得到如图5的流程图。图5交通灯状态流程图4.3源代码的编程基于以上的设计思路,交通灯的状态有以下几种:表一交通灯的控制图表路口说明东西路口南北路口开关交通灯颜色红黄绿黄绿红8255A接接PB7PB6PB5PB4PB3PB2PB1PB0在交通灯状 态转换时PB 口 的赋值00100010开01000010开10000100开10001000开源程序代码:数据端口和

10、输入输出端口地址L8255_CMD EQU 2A3H;总数据端口地址L8255_PA EQU 2A0H;8255A的端口地址L8255_PB EQU 2A1HL8255_PC EQU 2A2H8255A的初始化MOV DX,L8255_CMDMOV AL,90H;10010000,0方式,,PA输入,PB和PC口都为输出OUT DX,AL交通灯的初始化及开关的读入MOV AL,22H ;东西亮绿灯,南北两红灯MOV DX,L8255_PBOUT DX,ALMOV DX,L8255_PAIN AL, DXMOV BL,ALMOV CL,0开关状态的变换PP: MOV BL,ALINC CLCMP

11、 CL,1JZ STY; STY程序是PB=42H东西亮黄灯,南北亮红灯CMP CL,2JZ HJ; HJ程序是PB=84H东西亮红灯,南北亮绿灯CMP CL,3JZ LWL; LWL程序是PB=88H东西亮红灯,南北亮黄灯CMP CL,4JZ ZFB; ZFB程序是PB=22H东西亮红灯,南北亮绿灯JMP BJ5 调试及分析连接和装载后便可选择全速运行, 得其结果如下打开湖北众友软件将源程序代码进行编译, 图 6 所示:图6 交通灯初始化状态状态的初始化:东西方向绿灯亮,南北方向的红灯亮,此时允许东西方向的车辆通行。按下开关SO将得到下一个状态,如图 7所示:图7调试结果图当按下开关时,此时

12、交通灯的状态为:东西方向黄灯亮,南北方向的红灯继续亮,此时东西 方向的车辆仍然可以继续通行。按下开关SO将得到下一个状态,如图 8所示:图8 调试结果图当再次按下开关时,此时交通灯的状态为:东西方向红灯亮,南北方向的绿灯亮,此时南北方 向的车辆可以通行。按下开关SO将得到下一个状态,如图 9所示:图9调试结果图当再次按下开关时,此时交通灯的状态为:东西方向红灯亮,南北方向的黄灯亮,此时南北方向 的车辆可以继续通行。6调试结果的分析从以上的调试结果可以看出,此次设计一共有四种状态,即东西亮绿灯,南北亮红灯,此时 允许东西方向的车辆通行;当按下开关时,此时是东西亮黄灯,南北亮红灯,东西方向的车辆继

13、 续通行;再按下开关 , 此时是是东西亮红灯,南北亮绿灯,南北方向的车辆通行;当再次按下开 关,此时是是东西亮红灯,南北亮黄灯,南北方向的车辆继续通行;这就是一个完整的周期,如 果在按下开关,将回到初始状态,以此循环。在于理论和实际是相符合的。7 心得体会在此次课程设计过程中, 我深深的了解了自己对微型计算机技术的不足之处, 好多程序自己 明明知道却写不出来。 也明白了自己想的与在仪器上运行出来的结果是那么有差别。 往往我自己 觉得思路很清楚的情况下, 但是运行出来的结果往往与我自己想的不一样, 这可能就是人与机器 的不同之处吧, 而且我自己本身实力就不怎么好, 有时候还会因为仪器的问题而出现

14、不同的结果, 弄的我自己都不知道是我编写的程序有问题还是仪器有问题。浪费了不少时间。附录源程序代码L8255_CMD EQU 2A3HL8255_PA EQU 2A0HL8255_PB EQU 2A1HL8255_PC EQU 2A2HCODE SEGMENTASSUME CS:CODE,DS:CODEBEGIN:MOV CX,0FFHSS: LOOP SSMOV DX,L8255_CMDMOV AL,90H ;10010000,0方式 ,PA 输入 ,PB 输出OUT DX,ALMOV AL,22HMOV DX,L8255_PBOUT DX,ALMOV DX,L8255_PAIN AL, DXMOV BL,ALMOV CL,0BJ: MOV DX,L8255_PA IN AL,DX CMP BL,AL JNZ PP JMP BJPP: MOV BL,ALINC CLCMP CL,1JZ STYCMP CL,2JZ HJCMP CL,3JZ LWLCM

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论