微机原理课程设计—交通灯控制系统设计.doc
文本预览下载声明
交通灯控制系统设计
一目的⒈ 了解交通灯管理的基本工作原理⒉ 熟悉8259中断控制器的工作原理和应用编程⒊ 熟悉8255并行接口的各种工作方式和应用⒋ 熟悉8253计数器/定时器的工作方式及应用编程,掌握利用软硬件相结合定时的方法⒌ 掌握多位LED显示问题的解决二要求1.东西方向车辆放行60秒钟。即东西方向的绿灯和南北方向的红灯同时点亮1分钟;???? 2.1分钟后,东西方向的黄灯闪烁5秒钟,以警示车辆将切换红绿灯。此时南北方向仍维持红灯点亮。在南北方向亮红灯期间,在2位数码管上显示计数值(每秒减1),从65减为0。???? 3.东西方向的黄灯闪烁5秒钟后,转为南北方向放行20秒钟。即东西方向的红灯和南北方向的绿灯同时点亮20秒钟;???? 4.南北方向放行20秒钟后,转为南北方向的黄灯闪烁5秒钟,以警示将切换红绿灯。此时东西方向仍维持红灯点亮。???? 5.南北方向的黄灯闪烁5秒钟后,再转为东西方向车辆放行1分钟。如此循环重复。三电路及连线
图1 8255的内部结构及引脚
图2 8255工作方式控制字和C口按位置位/复位控制字格式
2.3电路接线图
图3 红绿灯模拟设计总电路图
上电路图为红绿灯模拟设计总电路图,通过8086CPU系统总线来控制8255的A端口、B端口,而A、B端口分别接LED发光二极管来控制十字路口红绿灯。 红、黄、绿灯的表示情况如下:由于仪器上面只有16个发光二级管,且从高到低依次为:15D14D13D12D11D10D9D8 D7D6D5D4D3D2D1D0。在设计的过程中做了如下的规定: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 十字路口红黄绿灯的表示
四说明五
六、程序设计如下:
IOY0 EQU 0DA00H ;片选IOY0对应的端口始地址
MY8255_A EQU IOY0+00H*4 ;8255的A口地址
MY8255_B EQU IOY0+01H*4 ;8255的B口地址
MY8255_C EQU IOY0+02H*4 ;8255的C口地址
MY8255_MODE EQU IOY0+03H*4 ;8255的控制寄存器地址
STACK1 SEGMENT STACK
DW 256 DUP(?)
STACK1 ENDS
DATA SEGMENT
LA DB ? ;定义数据变量
LB DB ?
DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA
START: MOV AX,DATA
MOV DS,AX
MOV DX,MY8255_MODE ;定义8255工作方式
MOV AL,80H ;工作方式0,A口和B口为输出
OUT DX,AL
LOOP1: MOV DX,MY8255_A ;写A口发出的数据,东方向绿灯亮,南方向红灯亮
MOV AL,3CH
OUT DX,AL
MOV DX,MY8255_B ;写B口发出的数据,西方向绿灯亮,北方向红灯亮
MOV AL,3CH
OUT DX,AL
CALL DALLY1
MOV CX,08H
L1: MOV DX,MY8255_A ;写A口发出的数据,东方向黄灯亮,南方向红灯亮
MOV AL,0FCH
OUT DX,AL
MOV DX,MY8255_B ;写A口发出的数据,西方向黄灯亮, 北方向红灯亮
MOV AL,0FCH
OUT DX,AL
CALL DALLY2
MOV DX,MY8255_A ;写A口发出的数据,东方向黄灯灭,
显示全部