8255A与开关电路

一、 实验目的

1. 掌握8255A并行接口芯片的原理及编程方法 2. 掌握读取开关状态的方法

二、 实验内容

编写程序,通过8255A接口芯片,读取开关状态,并在PC机屏幕上显示出来

三、 线路连接

实验中共有8个逻辑开关,8255A端口C的8位连接8个。开关向上拨时,8255A相应的端口输出高电平“1”;开关向下拨时,相应端口输出低电平“0”。

四、 流程图

五、 实验程序

DATA SEGMENT

IOPORT EQU 0D880H-280H IO8255C EQU IOPORT+282H IO8255T EQU IOPORT+283H

TAB DB '1 2 3 4 5 6 7 8',0DH,0AH,'$'

MESS DB 'PLEASE ENTER ANY KEY WHEN READY!',0DH,0AH,'$' DATA ENDS

STACK SEGMENT STACK STA DW 50 DUP(?) STACK ENDS

CODE SEGMENT

ASSUME CS:CODE,DS:DATA,ES:DATA,SS:STACK START: MOV AX,DATA MOV DS,AX MOV MOV MOV INT MOV INT MOV MOV OUT MOV IN MOV MOV MOV INT MOV BBB: MOV CALL SHL LOOP MOV INT DISP PROC PUSH PUSH MOV AND SHR POP ADD MOV INT MOV INT MOV ES,AX AH,09H

DX,OFFSET MESS 21H

AH,01H 21H

DX,IO8255T AH,99H DX,AL

DX,IO8255C AL,DX BL,AL AH,09H

DX,OFFSET TAB 21H CL,08H DL,BL DISP BL,1 BBB

AX,4C00H 21H NEAR AX CX

CL,07H DL,80H DL,CL CX DL,30H AH,02H 21H DL,20H 21H DL,20H

INT 21H POP AX RET DISP ENDP CODE ENDS END START

六、 实验结果记录

七、 思考题

如果将8255A端口B设为输入方式,与开关K1~k8连接,控制字应如何设置?程序又应该如何修改?

答:控制字各位应设置10011011,程序 MOV AL,99H设置为MOV AL,9BH 八、 实验总结

通过本次实验,不仅加深了对在课程上所学到的微机原理知识的认识和理解,重新让自己认识到了这门学科的在应用方面的广阔前景,而且通过知识与应用于实践的结合更加丰富了自己的知识。实验中,通过同学间的讨论和老师的指导,完成了实验的要求,增强了动手的能力和同学之间的合作能力。

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4