一、实验要求
编写程序,以8255为输出口,控制四个双色灯按要求发光。
二、实验目的
1.学习单板方式下扩展简单I/O接口的方法以双色灯的使用。 2.进一步学习微处理器的编程技术。
三、实验电路连线
8255的CS片选接至适配板上138译码处的200H~207H插孔。
四、实验说明
1、 因为本实验是模拟交通灯控制实验,所以要先了解实际交通灯的变化规律。假设一
个十字路口为东西南北走向。初始状态0为东西红灯,南北红灯。然后转状态1南北绿灯通
车,东西红灯。过一段时间转状态2,南北绿灯闪几次转亮黄灯,延时几秒,
东西仍然红灯。再转状态,东西绿灯通车,南北灯灯。过一段时间转状态4,东西绿灯闪几
次转亮黄灯,延时几秒,南北仍然红灯。最后循环至状态1。
2、 双色LED是由一个红色LED管芯和一个绿色LED管芯封装在一起,公用负端。当
红色正端加高电平,绿色正端加低电平时,红灯亮;红色正端加低电平,绿色正端加高电平
时,绿灯亮;两端都加高电平时,黄灯亮。
D1 EQU 10H D2 EQU 200H DATA SEGMENT PB DB ? DATA ENDS
STACK SEGMENT STACK STA DW 50 DUP(?)
TOP EQU LENGTH STA STACK ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA START:
PUSH CS POP DS
MOV DX,203H ;设置为全输出 MOV AL,80H OUT DX,AL MOV DX,202H MOV AL,00
OUT DX,AL ;清LED MOV DX,202H ;全红 MOV AL,0F0H OUT DX,AL MOV BX,7fH CALL DLY
BG: MOV AL,01101001B ;南北绿,东西红 OUT DX,AL MOV BX,D2 CALL DLY MOV CX,03H
XH1: AND AL,0F6H ;绿灭 OUT DX,AL MOV BX,D1 CALL DLY
OR AL,09H ;绿亮 OUT DX,AL MOV BX,D1 CALL DLY LOOP XH1
OR AL,90H OUT DX,AL MOV BX,D1 CALL DLY MOV BX,D1 CALL DLY
MOV AL,10010110B OUT DX,AL MOV BX,D2 CALL DLY MOV CX,03 XH2: AND AL,0F9H OUT DX,AL MOV BX,D1 CALL DLY OR AL,06H OUT DX,AL MOV BX,D1 CALL DLY LOOP XH2 OR AL,60H OUT DX,AL MOV BX,D1 CALL DLY MOV BX,D1 CALL DLY JMP BG DLY PROC NEAR PUSH CX
DDD: MOV CX,0FFFH CCC: LOOP CCC DEC BX CMP BX,0 JNE DDD POP CX
;南北黄 ;南北红,东西绿 RET
DLY ENDP CODE ENDS END START
因篇幅问题不能全部显示,请点此查看更多更全内容