1、基于8255A的应用交通灯的设计综述微型计算机技术课程设计报告题 目:基于8255A的应用交通灯的设计专业名称: 通信工程 班 级: 学 号: 姓 名: 2013年 1月基于8255A的应用交通灯的设计胡晋电子信息工程学系摘要:随着微型计算机技术的飞速发展。为此,基于8255芯片原理来实现交通灯的的控制是这次设计基础。因为交通灯的控制可以分东西方向和南北方向两种,每种可用红、绿、黄三个灯进行交通管理,所以用8255芯片的PB口对六个交通灯进行控制。通过8255芯片的PA口来控制交通灯状态的切换。关键词:交通灯;8255芯片;控制;开关1 设计要求、目的和内容1.1设计要求基于微型计算机技术,利
2、用8255芯片的原理实现交通的的控制,即8255芯片的应用交通灯的的设计。1.2 设计目的掌握8255芯片方式0的编程方法,PC机及配套的接口电路实验装置的连接于调试 ,IC芯片:8255A芯片的原理应用 1.3 设计内容采用8255芯片设计交通灯控制的接口方案,硬件电路的设计和连接,程序的编写和调试。2 设计原理 2.1 8255内部框图介绍 图1 8255A的内部结构图 数据总线缓冲器:这是一个双向三态的8位数据缓冲器,它是8255A与微机系统数据总线的接口。输入输出的数据、CPU输出的控制字以及CPU输入的状态信息都是通过这个缓冲器传送的。 三个端口A,B和C:A端口包含一个8位数据输出
3、锁存器和缓冲器,一个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口下半部。 读写控制逻辑:用来控制把C
4、PU输出的控制字或数据送至相应端口,也由它来控制把状态信息或输入数据通过相应的端口送到CPU。2.2 8255A的引脚及其功能 图2 8255A的引脚图D0-D7:三态双向数据线,与单片机数据总线连接,用来传送数据信息。CS:片选信号线,低电平有效,表示芯片被选中。RD:读出信号线,低电平有效,控制数据的读出。WR:写入信号线,低电平有效,控制数据的写入。 GND:地线。Vcc:+5V电源。 PA0-PA7:A口输入/输出线。PB0-PB7:B口输入/输出线。 PC0-PC7:C口输入/输出线。RESET:复位信号线。 A1、A0:地址线,用来选择8255内部端口。2.3 8255控制字 图3
5、 8255控制字 8255A的控制字是在编程时对8255芯片的初始化,主要是用来设计8255A的PA、PB、PC的输入和输出的设置。2.4 8255A的8255A有以下三种工作方式:方式0:基本输入/输出方式;方式1:选通输入/输出方式; 方式2:双向选通输入/输出方式。3 方案的选取目前设计交通灯的方案有很多,为此将进行方案的比较。方案一:CPLD是复杂可编程逻辑器件,是从PAL和GAL器件发展出来的器件,相对而言规模大,结构复杂,属于大规模集成电路范围。是一种用户根据各自需要而自行构造逻辑功能的数字集成电路。其基本设计方法是借助集成开发软件平台,用原理图、硬件描述语言等方法,生成相应的目标
6、文件,通过下载电缆(“在系统”编程)将代码传送到目标芯片中,实现设计的数字系统。3为此利用PLC实现对交通灯控制系统的设计,通过编写Verilog语言代码来实现。但是这种方案的硬件要求比较高。 方案二:利用数电所学知识,将计数器(555定时器),译码器,与非门有机组合在一起,利用其输出的高低电平来控制LED灯的亮与灭,设计简单,但是时间不是很准确,精密度不高。方案三:利用所学的微机原理与接口技术知识,基于8255A的工作原理和8086控制芯片的组合来实现交通灯的设计,这种方案的硬件电路的设计简单(只需数据线的连接)和LED灯的连接,而且源代码使用的是汇编语言,编写简单。基于以上的几种方案的对比
7、,本次设计将采用方案三来实现交通灯的设计和控制。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相连,作为
8、LED的控制端口,PA口与开关相连,控制LED灯的切换。因此将PB端口的PB7、PB6、PB5与东西方向的红灯、黄灯和绿灯相连接,PB3、PB2、PB1与南北方向的黄灯、绿灯和红灯相连接。开关S0与PA5连接。为此,便可得到如图5的流程图。状态的初始化:东西方向绿灯亮,南北方向的红灯亮30s 开关按下东西方向的黄灯亮,同时南北方向红灯亮 开关按下南北方向的绿灯亮,东西方向的红灯点亮 开关按下南北方向的黄灯亮,东西方向红灯亮 开关按下 图5 交通灯状态流程图4.3源代码的编程基于以上的设计思路,交通灯的状态有以下几种: 表一 交通灯的控制图表路口说明 东西路口 南北路口开关交通灯颜色 红 黄 绿
9、 黄 绿 红8255A接接 PB7PB6PB5 PB4PB3 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_CMD EQU 2A3H ;总数据端口地址 L8255_PA EQU 2A0H ;8255A的端口地址 L8255_PB EQU 2A1H L8255_PC EQU 2A2H8255A的初始化 MOV DX,L8255_CMD MOV AL,90H ;10010000,0方式,,PA输入
10、,PB和PC口都为输出 OUT DX,AL交通灯的初始化及开关的读入 MOV AL,22H ;东西亮绿灯,南北两红灯 MOV DX,L8255_PB OUT DX,AL MOV DX,L8255_PA IN AL, DX MOV BL,AL MOV CL,0开关状态的变换 PP: MOV BL,AL INC CL CMP CL,1 JZ STY ;STY程序是PB=42H,东西亮黄灯,南北亮红灯 CMP CL,2 JZ HJ ;HJ程序是PB=84H,东西亮红灯,南北亮绿灯 CMP CL,3 JZ LWL ;LWL程序是PB=88H,东西亮红灯,南北亮黄灯 CMP CL,4 JZ ZFB ;Z
11、FB程序是PB=22H,东西亮红灯,南北亮绿灯 JMP BJ5 调试及分析 打开湖北众友软件将源程序代码进行编译,连接和装载后便可选择全速运行,得其结果如下图6所示: 图6 交通灯初始化状态状态的初始化:东西方向绿灯亮,南北方向的红灯亮,此时允许东西方向的车辆通行。按下开关S0将得到下一个状态,如图7所示: 图7 调试结果图当按下开关时,此时交通灯的状态为:东西方向黄灯亮,南北方向的红灯继续亮,此时东西方向的车辆仍然可以继续通行。按下开关S0将得到下一个状态,如图8所示: 图8 调试结果图 当再次按下开关时,此时交通灯的状态为:东西方向红灯亮,南北方向的绿灯亮,此时南北方向的车辆可以通行。按下
12、开关S0将得到下一个状态,如图9所示: 图9 调试结果图当再次按下开关时,此时交通灯的状态为:东西方向红灯亮,南北方向的黄灯亮,此时南北方向的车辆可以继续通行。6 调试结果的分析从以上的调试结果可以看出,此次设计一共有四种状态,即东西亮绿灯,南北亮红灯,此时允许东西方向的车辆通行;当按下开关时,此时是东西亮黄灯,南北亮红灯,东西方向的车辆继续通行;再按下开关,此时是是东西亮红灯,南北亮绿灯,南北方向的车辆通行;当再次按下开关,此时是是东西亮红灯,南北亮黄灯,南北方向的车辆继续通行;这就是一个完整的周期,如果在按下开关,将回到初始状态,以此循环。在于理论和实际是相符合的。7 心得体会 在此次课程
13、设计过程中,我深深的了解了自己对微型计算机技术的不足之处,好多程序自己明明知道却写不出来。也明白了自己想的与在仪器上运行出来的结果是那么有差别。往往我自己觉得思路很清楚的情况下,但是运行出来的结果往往与我自己想的不一样,这可能就是人与机器的不同之处吧,而且我自己本身实力就不怎么好,有时候还会因为仪器的问题而出现不同的结果,弄的我自己都不知道是我编写的程序有问题还是仪器有问题。浪费了不少时间。附录 源程序代码L8255_CMD EQU 2A3HL8255_PA EQU 2A0HL8255_PB EQU 2A1HL8255_PC EQU 2A2HCODE SEGMENT ASSUME CS:COD
14、E,DS:CODEBEGIN: MOV CX,0FFHSS: LOOP SS MOV DX,L8255_CMD MOV AL,90H ;10010000,0方式,PA输入,PB输出 OUT DX,AL MOV AL,22H MOV DX,L8255_PB OUT DX,AL MOV DX,L8255_PA IN AL, DX MOV BL,AL MOV CL,0 BJ: MOV DX,L8255_PA IN AL,DX CMP BL,AL JNZ PP JMP BJ PP: MOV BL,AL INC CL CMP CL,1 JZ STY CMP CL,2 JZ HJ CMP CL,3 JZ LWL CMP CL,4 JZ ZFB JMP BJ STY: MOV AL,42H MOV DX,L8255_PB OUT DX,AL JMP BJ HJ: MOV AL,84H MOV DX,L8255_PB OUT DX,AL JMP BJ LWL: MOV AL,88H MOV DX,L8255_PB OUT DX,AL JMP BJ ZFB: MOV CL,0 MOV AL,22H MOV DX,L8255_PB OUT DX,AL JMP BJ INT 21HCODE ENDS END BEGIN
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1