题目二:8255A应用——交通灯控制
1)、设计目的
● 掌握8255A方式0的使用与编程方法
● PC机及配套的接口电路实验装置
● IC芯片:8255A应用
2)、内容
● 采用8255A设计交通灯控制的接口方案
● 插接电路
● 编写控制程序
3)、设计步骤
(1)方案设计
考虑普通十字路口,交通灯的控制可分东西向和南北向两组,每组可用红、黄、绿三个灯进行交通管理,所以本方案要点是对六个交通灯进行控制。
由于灯光控制只需要开、关两个状态,所以可以采用开关量实施控制。开关量的输出可以采用8255A的端口,由于开关量有6位,所以采用8位端口,又因为灯光控制不需要联络信号,所以按照方式0输出即可。
(2)电路插接
本实验利用装置提供的8255A芯片和逻辑电平显示器进行。
(3)编程与运行
4)、思考题:
(1) 控制代码在实验中起什么作用?
(2) 控制代码应当根据什么因素加以确定?
CODE SEGMENT
ASSUME CS:CODE
IOCONPT EQU 0FF2BH
IOAPT EQU 0FF28H
IOBPT EQU 0FF29H
IOCPT EQU 0FF2AH
ORG 10e0H
START: MOV DX,IOCONPT
MOV AL,80H
OUT DX,AL
MOV DX,IOBPT
MOV AL,00H
OUT DX,AL
MOV DX,IOCPT
MOV AL,0FH ;H
OUT DX,AL
CALL DELAY1
IOLED0: MOV AL,01011010B ;13L 24H
MOV DX,IOCPT
OUT DX,AL
CALL DELAY1
CALL DELAY1
MOV AL,00001010B ;13LN
OUT DX,AL
MOV CX,8H
IOLED1: MOV DX,IOBPT
MOV AL,50H
OUT DX,AL
CALL DELAY2
MOV AL,00H
OUT DX,AL
CALL DELAY2
LOOP IOLED1
MOV DX,IOCPT
MOV AL,10100101B
OUT DX,AL
CALL DELAY1
CALL DELAY1
MOV AL,00000101B
OUT DX,AL
MOV CX,8H
IOLED2: MOV DX,IOBPT
MOV AL,0A0H
OUT DX,AL
CALL DELAY2
MOV AL,00H
OUT DX,AL
CALL DELAY2
LOOP IOLED2
MOV DX,IOCPT
MOV AL,0FH
OUT DX,AL
CALL DELAY2
JMP IOLED0
DELAY1: PUSH AX
PUSH CX
MOV CX,0030H
DELY2: CALL DELAY2
LOOP DELY2
POP CX
POP AX
RET
DELAY2: PUSH CX
MOV CX,8000H
DELA1: LOOP DELA1
POP CX
RET
CODE ENDS
END START