五、实验结果与数据分析:
实验要求(一):当K0为高电平时,LED由高到低循环亮灭;当K0为低电平时,LED由低到高循环亮灭;
当K1为高电平时,LED全灭。
实验要求(二):灯按照L0到L7依次亮灭,八次后停止。 六、总结
通过此次课程实验,加深了我们对8255原理的理解,同时对8255芯片的作用有了更深的认识。通过实验的硬件连接,使我认识到理论与实践相结合的重要性,加强了动手能力的培养,将protues中的设计与实验箱的连接结合在了一起,使我们对8253、8259、8255的理解更加直观。不仅学会了如何连线,更理解了这样连线的原因,学到了很多,感谢老师的耐心指导。 附录:
要求(一)程序: T8255A EQU 8000H T8255B EQU 8002H T8255C EQU 8004H
T8255D EQU 8006H ;实验中地址为8000H到8003H
CODE SEGMENT ASSUME CS:CODE START:
MOV DX,T8255D MOV AL,90H
OUT DX,AL ;8255初始化
MOV BL,1H ;灯的初始状态 MOV AL,BL MOV DX,T8255B
OUT DX,AL ;向8255中写入灯的初始状态 CALL DELAY L4:MOV DX,T8255A
IN AL,DX CMP AL,02H JNB L1 CMP AL,01H JE L2
JMP L3 ;判断开关状态 L1:MOV AL,00H MOV DX,T8255B
OUT DX,AL JMP L4 L2:
ROR BL,1 MOV AL,BL MOV DX,T8255B OUT DX,AL CALL DELAY
JMP L4 L3:
ROL BL,1 MOV AL,BL MOV DX,T8255B OUT DX,AL CALL DELAY JMP L4
DELAY PROC NEAR PUSH BX MOV BX,5H A:MOV CX,0FFFFH
;灯全灭 DELAY1:LOOP DELAY1 DEC BX JNZ A POP BX RET DELAY ENDP
CODE ENDS END START
实验要求(二)程序:T8255A EQU 8000H T8255B EQU 8002H T8255C EQU 8004H
T8255D EQU 8006H T8259A EQU 9000H
T8259B EQU 9002H T8253A EQU 0A000H T8253B EQU 0A002H T8253C EQU 0A004H
T8253D EQU 0A006H CODE SEGMENT ASSUME CS:CODE START: MOV DX,T8253D MOV AL,37H OUT DX,AL MOV DX,T8253A
8000H到8003H 9000H到9001H 0A000H到0A003H ;实验中地址为;实验中地址为;实验中地址为MOV AL,00H OUT DX,AL MOV AL,10H OUT DX,AL MOV DX,T8253D MOV AL,77H OUT DX,AL MOV DX,T8253B MOV AL,00H
OUT DX,AL MOV AL,10H OUT DX,AL MOV DX,T8255D MOV AL,90H
OUT DX,AL CLI MOV AL,13H MOV DX,T8259A OUT DX,AL MOV AL,80H MOV DX,T8259B OUT DX,AL MOV AL,01H
OUT DX,AL
MOV AX,0000H MOV DS,AX MOV BX,82H*4 MOV AX,OFFSET INTP MOV [BX],AX INC BX
;8353初始化;8355初始化 ;8259初始化 ;关中断INC BX
MOV AX,SEG INTP
MOV [BX],AX ;非规范装入中断向量 MOV DX,T8259B IN AL,DX AND AL,0FBH
OUT DX,AL ;编程开放IRQ2 MOV BL,1H MOV CX,8 STI MOV DX,T8255B MOV AL,BL
OUT DX,AL L5:MOV AL,82H MOV DX,0B000H
OUT DX,AL CMP CX,0 JZ QUIT
JMP L5
QUIT:CLI MOV DX,T8259B IN AL,DX OR AL,04H
OUT DX,AL STI JMP $
INTP PROC NEAR CLI MOV AL,BL
;编程灯全灭 ;设置中断次数 ;开中断 ;实验编程中不要这三句;关中断 ;编程关闭IRQ2 ;中断服务子程序 ;开中断 ROL BL,1 MOV AL,BL MOV DX,T8255B OUT DX,AL DEC CX MOV AL,20H MOV DX,T8259A
OUT DX,AL STI
IRET INTP ENDP
CODE ENDS END START
;退出中断命令