实验四:IO地址译码实验

目录

  • 实验目的
  • 实验原理和内容
  • 编程提示
  • 解析
  • 实验报告
  • 程序流程图
  • 实验设备
  • 实验图解
  • 实验系统的安装
  • 实验现象和结果

实验目的

1、掌握I/O地址译码电路的工作原理
2、学习函数的写法

实验原理和内容

实验电路如原理图所示:
实验四:IO地址译码实验_第1张图片

74LS74为D触发器,可直接实验试验台上“数字电路实验区”的D触发器,
当CLK上升沿时,Q=1;
当CD=0,Q=0;
可以驱动L7连接的发光管点亮、熄灭。



74LS138为地址译码器。
译码输出端Y0~Y7在试验台上“I/O地址”输出端引出, 每个输出端包含8个地址。
Y4:2A0H~2A7H,
Y5:2A8H~2AFH,

当CPU执行I/O指令且地址在2A0H~2A7H范围内,Y4输出低电平。
当CPU执行I/O指令且地址在 2A8H~2AFH范围内,Y5输出低电平。

例如:执行下面两条指令
      MOV DX,2A0H
      OUT DX,AL(或IN AL,DX)
Y4输出一个负脉冲到D触发器的CLK上,因为D=1(接了高电平+5V,所以Q被赋值为1。)

      执行下面两条指令
      MOV DX,2A8H
      OUT DX,AL(或IN AL,DX)
Y5输出一个负脉冲到CD,D触发器被复位,Q=0
利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。

编程提示

实验电路中D触发器CLK端输入脉冲时,上升沿使Q端输出高电平L7发光,CD端加低电平L7灭。

解析

要使译码电路正常工作,必须使E1处于低电平 。

L7输出高电平时,发光管是-----亮的
触发器在它上升沿的时候会把D段的信号(高电平)送给Q端

CD:清0端
只要它为低电平,Q端的信号就变为低电平,发光管是-----暗的




Y4连接CLK 要想CLK有上升沿,则让Y4非为低电平,当为高电平时就有上升沿了

综上所述:
①让Y4非这个引脚是一个低电平信号
那么

A B C
0 0 1

也就是

A3 A4 A5
0 0 1

②E1为低电平
经过与非门是低电平,所以U1前的引脚全为高电平。
所以
    A9为高电平(1)
    A8为低电平(0)经过一个非才为高电平
    A7为高电平(1)
    A6为低电平(0)经过一个非才为高电平
    A2、A1、A0并没有连接,所以取0和取1均可

A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
1 0 1 0 1 0 0 * * *

当A2、A1、A0为000时
                            输出端地址为:2A0H
当A2、A1、A0为111时
                            输出端地址为:2A7H
实验四:IO地址译码实验_第2张图片




要想让CD为低电平,那么Y5非为低电平就可以了。
综上所述:
①让Y5非这个引脚是一个低电平信号
那么

A B C
1 0 1

也就是

A3 A4 A5
1 0 1

②E1为低电平
经过与非门是低电平,所以U1前的引脚全为高电平。
所以
    A9为高电平(1)
    A8为低电平(0)经过一个非才为高电平
    A7为高电平(1)
    A6为低电平(0)经过一个非才为高电平
    A2、A1、A0并没有连接,所以取0和取1均可

A9 A8 A7 A6 A5 A4 A3 A2 A1 A0
1 0 1 0 1 0 1 * * *

当A2、A1、A0为000时
                            输出端地址为:2A8H
当A2、A1、A0为111时
                            输出端地址为:2AFH
实验四:IO地址译码实验_第3张图片




实验四:IO地址译码实验_第4张图片

实验报告

1、画出原理图,分析为什么地址为2A0-2A7时,74LS138的输出端/Y4会为低电平?
因为74LS138为三八译码器,A、B、C控制Y0、Y1、Y2、Y3、Y4、Y5、Y6、Y7引脚,地址为2A0-2A7时,A、B、C分别对应A3、A4、A5且为001。输出端经过非门,故74LS138为Y4的低电平。



2、写出74LS74、74LS138的功能和逻辑状态。
74LS74功能:具有记忆功能,能存储1位信息的逻辑电路。
74LS138逻辑状态:具有两个稳定的状态,在输入信号作用下,可以被置为“0”态或“1”状态。





74LS138功能:主要是用三位二进制数来控制输出低电平
74LS138逻辑状态:共有八种状态,分别对应八个输出端的一个信号。Y0=1, Y1=1, Y2=1, Y3=1, Y4=1, Y5=1, Y6=1, Y7=1,。




3、写出程序并适当加注释。

outport1  EQU  2A0H
outport2  EQU  2A8H

code segment
    assume cs:code
start:
    mov dx,outport1
    out dx,al      ;Y4端口输出一个负脉冲
    call delay     ;调用延时子程序

    mov dx,outport2
    out dx,al      ;Y5端口输出一个负脉冲
    call delay     ;调用延时子程序
            
    
    mov ah, 1    ;当ah为1时调用键盘,通过键入值判断程序的循环,然后通过ah来选择并中断4ch的程序。
    int 16h 
    je start     ;若有键盘输入则退出程序,否则继续循环
    
    mov ax, 4c00h 
    int 21h    
    
delay proc near  ;延时子程序
    mov bx,10	 ;将数据 10 送到 bx 基址寄存器
lll:mov cx,0	 ;将 cx 计数寄存器设置为 0(执行65536),并设计标注处 lll
ll: loop ll		;跳转至 ll 处执行程序,并设计标注处 ll
    dec bx    ;bx自减1
    jne lll		;条件转移指令即ZF=0,转至标号处 lll 执行
    ret			;栈顶字单元出栈,其值赋给IP寄存器。即实现了一个程序的转移,将栈顶字单元保存的偏移地址作为下一条指令的偏移地址。
delay endp	 	;proc、endp 成对出现,分别表示子程序定义的开始和结束
code ends
end start 




4、分析延时函数的写法,计算延时的时间

有图可知,处理器的主频为33 MHz
实验四:IO地址译码实验_第5张图片

因为主频不同,延时1s的参数也不相同 cx 计数寄存器设置为 0(执行65536) mov bx,10-->执行10次 一条LOOP语句执行周期数为65536 需要执行的语句数为10次 所以共:65536*10=655360s 课外知识扩展:

初期推出的80386 DX处理器集成了大约27.5万个电晶体,工作频率为12.5MHz。此后80386处理器逐步提高到20MHz、25MHz、33MHz直至最后的40MHz。



程序流程图

实验四:IO地址译码实验_第6张图片



实验设备

实验四:IO地址译码实验_第7张图片

实验四:IO地址译码实验_第8张图片

实验四:IO地址译码实验_第9张图片
实验四:IO地址译码实验_第10张图片

实验图解

实验四:IO地址译码实验_第11张图片
实验四:IO地址译码实验_第12张图片


实验四:IO地址译码实验_第13张图片



实验四:IO地址译码实验_第14张图片



实验四:IO地址译码实验_第15张图片



实验四:IO地址译码实验_第16张图片



实验四:IO地址译码实验_第17张图片



第一步:
实验四:IO地址译码实验_第18张图片

第二步:

第三步:打开与此实验箱相匹配的软件:查询窗口->EM386接口存在

第四步:新建ASM文件

第五步:连线

A19-A0:20位地址线

D7-D0: 8位数据线

IRQ: 中断请求输入信号,是用户中断请求引入端,在IRQ2、IRQ3、IRQ4、IRQ7中,IRQ7级别最低,PC总线接口卡在出场时已将IRQ7作为中断信号。

IOR:I/O读信号

IOW:I/O写信号

MEMW: 存储器写信号

MEMR: 存储器读信号

AEN: 地址允许信号,控制地址总线,以便进行DMA传送。

DRQ1: DMAC通道1的DMA请求信号

DACK1: DMAC通道1的DMA响应信号

CLK: 时钟输出信号,信号是频率为4。77MHZ的时钟输出信号,作为8088系统时钟(主频)

ALE: 地址/状态复用线上信号作为地址码加以锁存。

T/C: 计数终止信号

其它为电源信号


实验系统的安装

1、关上PC机电源,打开微机主机箱。

2、检查接口卡上的中断请求跳线开关是否已经连好。

3、将PC总线接口卡插在任意一扩展槽中。

4、用50线扁平电缆连接接口卡和试验台。
接口卡功能:是将与实验有关的总线信号加以驱动后引入实验台上。

实验四:IO地址译码实验_第19张图片


实验现象和结果

(1)当实验电路中的D触发器CLK端输入脉冲时,上升沿使Q端输出高电平,则对应的小灯点亮。
(2)当实验电路中的D触发器CLK端输入脉冲时,下降沿使Q端输出低电平,则对应的小灯熄灭。

你可能感兴趣的:(微机,微机实验,I/O地址译码)