I/O地址译码
一、实验目的
掌握I/O地址译码电路的工作原理。
二、实验原理和内容
实验电路如图1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D 触发器,74LS138为地址译码器。译码输出端Y0~Y7在实验台上I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/ O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。
注意:命令中的端口地址D820、D82A 是根据PCI卡的基址再加上偏移量计算出来的,不同的微机器PCI卡的基址可能不同,需要事先查找出来。
计算公式如下:计算出的地址查找出的PCI卡的基址+偏移量;(其中:偏移量=2A0H - 280H或2A8H –A80H)
图1
利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通
过软件延时实现。
三、编程提示
1、实验电路中D触发器CLK端输入脉冲时,上升沿使Q端输出高电平L7发光,CD端加低电平L7灭。
2、由于TPC卡使用PCI总线,所以分配的IO地址每台微机可能都不同,编程时需要了解当前的微机使用那段IO地址并进行设置,获取方法请参看汇编程序使用方法的介绍。(也可使用自动获取资源分配的程序取得中断号)。
四、实验代码
CODE SEGMENT
ASSUME CS:CODE
START:
LOOP1:
MOV CX,0FFFFH
LP1:
MOV DX,2AOH
IN AL,DX
LOOP LP1
MOV CX,0FFFFH
LP2:
NOP
LOOP LP2
MOV CX,0FFFFH
LP3:
MOV DX,2A8H
IN AL,DX
LOOP LP3
MOV CX,0FFFFH
LP4:
NOP
LOOP LP4
MOV AH,0BH
INT 21H
CMP AL,0
JZ LOOP1
MOV AH,4CH
INT 21H
CODE ENDS
END START
五、实验总结
通过实验,了解和掌握I/O地址译码电路的工作原理,熟悉汇编代码的编写。实验中,连接电路,利用代码控制实验电路,深对课本理论的理解。