一、前言
十字道口的红绿灯是交通法规的无声命令,是司机和行人的行为准则。十字道口的交通红绿灯控制是保证交通安全和道路畅通的关键。当前,国内大多数城市正在采用“自动”红绿交通灯,它具有固定的“红灯—绿灯”转换间隔,并自动切换。本次关于交通灯的课程设计通过8255A控制交通灯在东西、南北方向红灯—绿灯—黄灯转换的的状态,当出现紧急状况时,触发8255A的PC口PC7上的紧急触发开关,使东西南北方向灯全为红。
二、设计目的
A)进一步建立微机系统概念、加深对系统理解和认识,提高微机系统的应用水平。
B)进一步学习和掌握汇编语言程序的编写和应用的方法,通过较大规模程序的编写,提高编写汇编语言程序的水平和学习程序调试方法。
C)进一步熟悉接口、双色LED灯及其他芯片的使用。
三、设计使用的元器件和设备
实验室提供PC机及爱迪克AEDK8688ET实验系统(包含8×3键盘1个、8位七段数码管1个。)
四、设计要求
A)画出8255A与双色LED灯的连接图,并组成系统图
B)画出程序框图并编写程序完成如下功能:
①4个双色LED组成一组单车道十字路口交通灯,并按正常显示方法工作
②可以用开关或其他电路单独控制4个交通灯,并实现一种后续显示规则。
五、交通信号灯控制和管理的总体设计
(一)、编写汇编程序通过8255A控制四个方向交通灯的状态,具体假设设计状态如下:
1、初始状态0为东西红灯,南北红灯。
2、然后转状态1南北绿灯通车,东西红灯。
3、过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,东西仍然红灯。
4、再转状态,东西绿灯通车,南北灯灯。
5、过一段时间转状态4,东西绿灯闪几次转亮黄灯,延时几秒,南北仍然红灯。
6、最后循环至状态1。
(二)、芯片选择及端口选择
8255A:实现对信号灯红—绿—黄自动转换的控制。
8255A的端口地址为:端口A-210H、端口B-211H、端口C-212H、控制端口-213H
(三)设计思想
将8255A控制字设置为88H,使A端口、B端口、全为输出,C端口为输入,利用端口A输出控制交通灯东西、南北方向红绿灯的变换,利用按下PC7上的按钮,实现让特殊车辆通行而其他车辆的通行。
(四)设计流程图
(五)实验连接线路图及相关说明
①双色LED灯简介:双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平时,绿灯亮;两端都加高电平时,黄灯亮。
②电路连接:在实验图中把四个双色LED灯的红色管芯引脚接到PA口的高四位,四个双色LED灯的绿色管芯引脚接到PA口的低四位,四个双色LED灯的公共端接地,在PC1上连接一路紧急触发电路,用来实现四个双色LED灯全为红灯状态;8255A上D0—D7连接到8086CPU其中的八根数据线;读写控制端直接连到CPU的读写控制端;通过74LS138译码器实现译码电路的设置。
六、源程序代码
;数据段
DATA SEGMENT
DW 50 DUP(?)
DATA ENDS
;堆栈段
STACK1 SEGMENT STACK
DW 50 DUP(?)
STACK1 ENDS
;代码段
CODE SEGMENT
ASSUME CS:CODE,DS:DATA,STACK1:SS
START:
;8255初始化
MOV DX,213H ;设置为A口、C口为输入
MOV AL,H
OUT DX,AL
MOV DX,210H
MOV AL,00
OUT DX,AL ;清LED
MOV DX,210H ;全红
MOV AL,0F0H
OUT DX,AL
MOV CX,20 ;延时
LOOP NOP
BG: MOV DX,212H ;赋PC口地址
IN AL,DX ;读入PC口数据
TEST AL,80H ;判断PC1为高或低
JZ REDALL ;为低则转到REDALL 程序段,
;为高则继续下一条指令
MOV AL,01011010B ;南北绿,东西红
MOV DX,210H
OUT DX,AL
MOV CX,70 ;延时
LOOP NOP
MOV CX,03H
XH1: MOV AL,50H ;绿灭
OUT DX,AL
MOV BX,D1
NOP ;延时
NOP
NOP
MOV AL,5AH ;绿亮
OUT DX,AL
MOV BX,D1
NOP
LOOP XH1
MOV AL,FAH ;南北黄,东西红
OUT DX,AL
MOV BX,D1
MOV CX,30 ;延时
LOOP NOP
MOV AL,10100101B ;南北红,东西绿
OUT DX,AL
MOV CX,70 ;延时
LOOP NOP
MOV CX,03
XH2: MOV AL,A0HH ;绿灭
OUT DX,AL
MOV BX,D1
NOP
NOP
NOP
MOV AL,A5H ;绿亮
OUT DX,AL
MOV BX,D1
NOP
LOOP XH2
MOV AL,F5H ;南北红,东西黄
OUT DX,AL
MOV CX,70 ;延时
LOOP NOP
JMP BG
MOV AH,4CH
INT 21H
CODE ENDS
END START
七、程序运行结果
①、初始状态为东西红灯,南北红灯。过一段时间后,南北方向交通灯变绿,东西仍然红灯。一段时间后,南北绿灯闪,闪三次后变成黄灯,东西仍为红灯。一段时间,南北红灯亮,同时东西方向变成绿灯。同样,一段时间后,东西绿灯闪,闪三次后变黄灯,南北为红灯。一段时间又回到南北绿灯,东西红灯,如此往复循环。
②、当发生紧急情况触发了触发键时,强制交通灯东西南北方向都变成红灯,一段时间后又恢复到初始状态BG,继续实现交通灯的控制。下载本文