一、 实验目的
掌握查询方式实现8255选通型输人(方式1)的编程控制方法。
二、 实验内容
将8255端口A的PA7-PA0与8个发光二极管L7-L0连接,
PB2-PB0与拨动开关的K2-K0连接,8255的CS与地址译码区的0-F端子连接,PC2(/STBB)与单脉冲的/PLUS端连接。先预置开关K2-K0为一组输入状态,然后按下单脉冲按键产生一个负脉冲,输入到PC2。用发光二极管LEDi亮,显示K2-K0的状态。 要求:
K2-K0=000时,LED0亮 K2-K0=001时,LED1亮 K2-K0=010时,LED2亮 K2-K0=011时,LED3亮 K2-K0=100时,LED4亮 K2-K0=101时,LED5亮 K2-K0=110时,LED6亮 K2-K0=111时,LED7亮
三、 实验环境
《TPC-EM实验仪》和386EX实验模式。
四、 实验步骤
(1)先将实验箱打开,按如下“实验连接图”用数据线将各个部件连接;
【实验接线图】
8255PA0L0LED显示灯L7K0拨动K1开关K2/PLUS单脉冲PA7PB0PB1PB2PC2CS0-F地址译码
(2)连接完成后,根据实验内容的要求写出相关代码; 具体代码如下: DATA SEGMENT
MESG DB '8255A READY...',0DH,0AH,'$' TAB DB 00000001B DB 00000010B DB 00000100B DB 00001000B DB 00010000B DB 00100000B DB 01000000B DB 10000000B DATA ENDS
CODE SEGMENT
ASSUME CS:CODE,DS:DATA BEG: MOV AX,DATA MOV DS,AX CALL I8255A MOV AH,9
MOV DX,OFFSET MESG INT 21H SCAN: MOV AH,1 INT 16H
JNZ RETURN MOV DX,202H IN AL,DX
TEST AL,00000010B JZ SCAN
MOV DX,201H IN AL,DX AND AL,07H
MOV BX,OFFSET TAB XLAT TAB MOV DX,200H OUT DX,AL JMP SCAN
RETURN: MOV AH,4CH INT 21H I8255A PROC MOV DX,203H MOV AL,0A7H OUT DX,AL MOV AL,04H OUT DX,AL MOV DX,201H MOV AL,00H OUT DX,AL RET
I8255A ENDP CODE ENDS END BEG
(3)将实验箱开关打开,程序写入386,然后进行连接、下载,按F5进行运行。
五、 实验结果
(1)K2-K0=000时,LED0亮;
(2)K2-K0=101时,LED5亮;
(3)K2-K0=111时,LED7亮
(4)K2-K0=001时,LED1亮;
六、 实验分析
由“实验接线图”可以看出,本实验是将8255端口A的PA7-PA0与8个发光二极管L7-L0连接,PB2-PB0与拨动开关的K2-K0连接,8255的CS与地址译码区的0-F端子连接,PC2(/STBB)与单脉冲的/PLUS端连接。开始时预置开关K2-K0为输入状态“000”,然后按下单脉冲按键产生一个负脉冲,输入到PC2。用发光二极管LED0亮,显示K2-K0的状态。 实验的具体结果如下:
K2-K0=000时,LED0亮 K2-K0=001时,LED1亮 K2-K0=010时,LED2亮 K2-K0=011时,LED3亮 K2-K0=100时,LED4亮 K2-K0=101时,LED5亮 K2-K0=110时,LED6亮 K2-K0=111时,LED7亮
七、 结论
通过此次实验,主要掌握了查询方式实现8255选通型输人(方式1)的编程控制方法。通过自己动手完成实验,使自己对8255结构的印象加深,更好的认识学习8255的相关内容。
因篇幅问题不能全部显示,请点此查看更多更全内容