第3章-IO地址译码
实验一 IO地址译码器实验

计算机科学系实验报告课程名称微型计算机技术及应用实验班级实验名称实验一 IO地址译码器指导教师学生姓名学生学号一、实验目的掌握I/O地址译码电路的工作原理。
二、实验设备1.PC机一台2.专用导线若干3.TPC-H通用微机接口实验系统一台4.MASM汇编及调试程序三、实验原理和内容实验电路如下图所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。
译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/ O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。
例如:执行下面两条指令MOV DX,2A0HOUT DX,AL(或IN AL,DX)Y4输出一个负脉冲,执行下面两条指令MOV DX,2A8HOUT DX,AL(或IN AL,DX)Y5输出一个负脉冲。
利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。
实验的流程图如下:四、程序代码code segmentassume cs: codestart: mov dx,2a0hout dx,alcall delay ;调延时子程序mov dx,2a8hout dx,alcall delay ;调延时子程序mov ah,1int 16hje start ;无键按下转startmov ah,4chint 21hdelay proc near ;延时子程序mov bx,5lll: mov cx,0ll: loop lldec bxjne lllretdelay endpcode endsend start五、实验现象试验电路中D触发器CLK端输入脉冲时,上升沿使Q段输出高电平L7发光,CD端加低电平L7灭。
本试验用74LS138的Y4端口控制CLK,用Y5端口控制CD。
第3章-IO端口地址译码技术

本章主要内容
➢ I/O 端口的基本概念 ➢ I/O 端口译码的基本原理 ➢ I/O 端口译码电路的设计
2020/5/11
计算机接口技术
1
一、接口信息与功能
1、接口信息 • 数据信号:
如:8位、16位、32位数据;
• 状态信号:
表示外设是否准备好信号。
CPU
地址 数据 控制
;将端口F4H和F5H的16位数据送AX ;将端口F4H、F5H、F6H和F7H的32位数据送 ;EAX ;从DX指出的端口输入32位数据到EAX
;EAX内容输出到DX指出的32位数据端口
2020/5/11
计算机接口技术
10
I/O指令表示,CPU从端口读数据或向端口写数据,
仅仅是指I/O端口与CPU的累加器之间的数据传输,
并未涉及数据是否传输到存储器的问题。若要将端口的数据 传输到存储器,还得用MOV指令进行传输。
例如:
MOV [DI],AL IN AL,DX
;将数据从AL→存储器 ;从端口读数据到AL
MOV [DI],AL ;将数据从AL→存储器
MOV DX,301H ;I/O端口
将端口的 数据传输 到存储器
MOV AL,[SI] ;从内存取数据到AL
信号转换功能:协调总线信号与I/O设备信号。转换包 括信号的逻辑关系、时序配合和电平转换。
可编程功能:增加接口的灵活性和智能性。
3.1 I/O 地址空间
如果忽略I/O地址空间的物理特征,仅从软件编程的角度来看,和 存储器地址空间一样,I/O地址空间也是一片连续的地址单元,可供 各种外设与CPU交换信息时,存放数据、状态和命令代码之用。
出程序段:接口电路硬件保护及操作系统中数据恢复。
第3章 端口地址译码技术

的接口卡发生冲突,最好采用DIP开关进行地址设置。
可通过“附件”→“系统信息”→“硬件资源”→“I/O” 选项来查看 I/O 端口的地址分配状况
12
2.3 I/O端口地址译码
(1) 基本概念与原理
基本概念
▲当执行I/O指令时,CPU首先在总线上发出要访问的端口地
址和必要的控制信号,然后通过一个译码电路将这些信号 转换为相应的I/O端口选通信号。
23
A2 A3 A4
A B C
Y0 Y1 Y2 Y3 2F0H~2F3H 8255A
A8
G2B G2A G1
Y4 Y5 Y6 Y7 74LS138 A0 A1 CS
M/IO# AEN
A5 A6 A7 A9
A0 A1
地址 2F0H 2F3H
A9 1 1 G
A8 0 0 G2B
A7 1 1
A6 1 1 G
能弱,程序设计灵活性差。增加了控制逻辑的复杂性。
6
(3) 独立编址下的I/O指令
指令类型
▲IN:从I/O端口读入数据到微处理器的累加器中。
▲OUT:将微处理器累加器中的数据写入到I/O端口。
注意:数据只在累加器(AX或AL)和端口间进行传递。
原则:传输字节数据时使用AL;传输字数据时使用AX。
基本内容
▲I/O端口与内存单元统一进行地址分配,使用统一的指令访问
I/O端口或者内存单元。又称存储器映射编址方式。
▲Motorola公司的68系列、Apple系列微机即是统一编址。
地址空间 0
内存地址 ( 共960K)
EFFFFH F0000 H I/O 地址 ( 共64K) FFFFFH
3
优点
I-O端口地址译码技术

I/O端口地址译码技术
统一编址的主要优点:一是对任何存储器操作指令都可用 于操作I/O接口,而不必使用专用的I/O指令,系统中存储器操 作指令是丰富多彩的,可以大大增强系统的I/O功能,使访问外 设端口的操作方便、灵活、不仅可对端口进行数据传送,还可 对端口内容进行移位和算术逻辑运算等;二是可以使外设数目 或I/O寄存器数目只受总存储容量的限制,从而大大增加系统的 吞吐率,这在某些大型控制或数据通信系统等特殊场合是很有 用的;三是使微机系统的读/
主要缺点:一是端口地址占用了存储器地址,使可用的内 存空间相对减少;二是由于地址位数长,访问内存的指令一般 较长,执行速度较慢;三是为了识别一个I/O端口,必须对全部 地址线译码,这样不仅增加了地址译码电路的复杂性,而且使
统一编址方式在单片机中得到广泛应用,而在通用型的计 算机系统中已经不再使用。
I/O端口地址译码技术
I/O端口地址译码技术
同时,由于使用专门的I/O指令访问端口,并且I/O端口地 址和存储器地址是分开的,故I/O端口地址和存储器地址可以 重叠,而不会相互混淆。并且由于存储器与I/O端口的控制结
这种方式的缺点是专用I/O指令类型少,远不如存储器访 问指令丰富,使程序设计的灵活性较差;且使用I/O指令一般 只能在累加器和I/O端口间交换信息,处理能力不如存储器映 像方式强;尤其是要求处理器能提供存储器读/写及I/O端口读/ 写两组控制信号,这不仅增加了控制逻辑的复杂性,而且对于 引脚线本来就紧张的CPU芯片来说不能不说是一个负担。
OUT PORT,AL
其中,PORT是一个8位的字节地址。
I/O端口地址译码技术
例如:
IN AL,60H;60H为系统板8255A的PA
OUT 61H,AL;61H为系统板8255A的PB
O地址译码一、实验目的掌握IO地...

微机原理硬件实验报告实验一I/O地址译码一、实验目的掌握I/O地址译码电路的工作原理。
二、实验原理和内容1、实验电路如图1-1所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。
译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。
利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。
2、接线: Y4/IO地址接 CLK/D触发器Y5/IO地址接 CD/D触发器D/D触发器接 SD/D角发器接 +5VQ/D触发器接L7(LED灯)或逻辑笔三.硬件连线图四.软件流程图五.源程序CODE SEGMENTASSUME CS:CODESTART: MOV DX,2A0HOUT DX,ALCALL DELAYMOV DX,2A8HOUT DX,ALCALL DELAYJMP STARTMOV AX,4C00HINT 21HDELAY PROC NEAR --延时子程序MOV BX,200LOOP1:MOV CX,0FFFFHLOOP2:LOOP LOOP2DEC BXCMP BX,0JNZ LOOP1RETDELAY ENDPCODE ENDSEND START六.实验结果小灯L7出现亮灭交替的现象,通过改变延时子程序BX的值可以改变亮灭的时间间隔。
七.实验总结与心得体会本次实验主要是对延时子程序的编写,由于书上有范例所以比较简单。
实验二简单并行接口一、实验目的掌握简单并行接口的工作原理及使用方法。
二、实验原理和内容1、按下面图简单并行输出接口电路图连接线路(74LS273插通用插座,74LS32用实验台上的“或门”)。
74LS273为八D触发器,8个D输入端分别接数据总线D0~D7,8个Q输出端接LED显示电路L0~L7。
第三章 端口地址译码技术

A1 A0 0 0 8
•
22
逻辑表达式: Y= A9A8A7A6A5A4A3A2 A1A0 AEN IOR 摩根定律:或非=非与,非或=与非 Y=A9A8A7A6A5A4A3A2 + A1A0 AEN IOR
结论:输出Y低电平有效。即当端口地址 为2F8H,AEN=0,IOR=0低电平时,输出Y 有效。
第三章
3.1 3.3
I/O端口地址译码技术
I/O端口及其编址方式 I/O端口地址译码
返回目录
1
3.1
3.1.1
3.1.2 3.1.3
I/O端口及其编址方式
I/O端口和I/O操作
I/O端口地址编址方式 独立编址方式的端口访问
返回第三章
2
3.1.1
1.I/O端口
I/O端口和I/O操作
定义:端口(port)是接口电路中能被CPU直 接访问的寄存器(的地址)。 CPU 与外设之间交换信息具体是通过I/O 端口来进行的。
10
I/O端口访问
所谓对端口的访问就是CPU对端口的读/写。 指I/O端口与CPU的累加器之间的数据传送, 并未涉及数据是否传送到存储器的问题。
输入: 端口数据 输出: 内存中的数据
CPU中的累加器 CPU中的累加器
内存 I/O端口
11
3.1.3、独立编址方式的端口访问
1.I/O指令中端口地址的宽度
26
逻辑表达式:
Y1 =A9A8A7A6A5A4A3A2 + A1A0 AEN + IOR
Y1 = A9A8A7A6A5A4A3A2 · 1A0 AEN ·IOR A
I O地址译码(微机实验报告)

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 SEGMENTASSUME CS:CODESTART:LOOP1:MOV CX,0FFFFHLP1:MOV DX,2AOHIN AL,DXLOOP LP1MOV CX,0FFFFHLP2:NOPLOOP LP2MOV CX,0FFFFHLP3:MOV DX,2A8HIN AL,DXLOOP LP3MOV CX,0FFFFHLP4:NOPLOOP LP4MOV AH,0BHINT 21HCMP AL,0JZ LOOP1MOV AH,4CHINT 21HCODE ENDSEND START五、实验总结通过实验,了解和掌握I/O地址译码电路的工作原理,熟悉汇编代码的编写。
IO接口数据传送及地址译码技术

Image 的数据 (输出寄存器)
状态寄存器——保存状态信息,CPU可从状态 口读取当前状态;
控制寄存器——用来保存CPU写入的控制字。
任何接口电路均包括如下基本功能:
No 1. 作为微型机与外设间传递数据的中间缓冲站; Image 2.正确寻址与微机交换数据的外设 ;
No (2) 模拟量
Image 非电量信息
传感器
电量
信号 处理
A/D CPU
No (3) 开关量 两个状态的量 (可以用0、1表示) Image 例如电机的启与停,开关的合与开等。
2. 状态信息 (STATUS)
No 反映当前外设工作状态的信息,例如:
输入时,输入设备是否准备好? (READY)
(256个) FFH
... ...
M空间
原则:M与I/O分开编址、互不干扰——M 与I/O地址不重叠
优点:M空间不受I/O空间影响;有专用 I/O指令(程序清晰);I/O指令短, 执行速度快
缺点:I/O指令种类有限,I/O空间不易 扩展
(64KB) FFFFH
Image 输出时,输出设备是否空闲?(BUSY)
3. 控制信息 (CONTROL)
CPU通过接口输出用以控制外设工。
AB
1 DATA
CPU
DB
I/O 接口
2
STATUS
I/O 设备
CB
CONTROL
3
CPU 与外设之间的接口信息
6.2 I/O 端口及其寻址方式
可寻址256个端口。
No 采用间接寻址,则其指令格式为: 输入指令:IN AL,DX 输出指令:OUT DX,AL
Image 这种间接寻址方式的端口地址为两个字节长,
《微型计算机接口技术课件》第3章 IO端口地址译码技术

本章主要内容
Ø I/O 端口的基本概念 Ø I/O 端口译码的基本原理 Ø I/O 端口译码电路的设计
2020/7/9
计算机接口技术
1
3.2 .2 I/O 端口共用技术
一般情况下,一个端口只接收一种信息(命令、状态或数据) 的访问,但有些接口芯片,允许同一端口既作命令口用,又作状态口用, 或允许向同一个命令口写入多个命令字,这就产生端口共用的问题。
协处理器
0F8H~0FFH
表3.2系统的外设接口卡端口地址
I/O接口卡名称 端口地址
并行口控制卡1 378H~37FH
并行口控制卡2 278H~27FH
串行口控制卡1 3F8H~3FFH
串行口控制卡2 2F8H~2FFH
原型插件板
300H~31FH
同步通信卡1 3A0H~3AFH
同步通信卡2 380H~38FH
3.I/O地址映射对用户来讲是透明的。
2020/7/9
计算机接口技术
12
3.3.3 I/O端口地址选用的原则
1.凡是被系统配置占用了的地址一律不能使用; 2.未被占用的地址,原则上用户可以使用。但申明 保留的地址,不要使用; 3.留给用户可使用的端口地址:300H--31FH。
根据上述原则,本教材扩展的接口芯片,使用表 3.3中分配的I/O端口地址。
端口共用问题的处理方法是: 对命令口和状态口共用的处理方法是,根据读/写操作来区分。向该口 写,就是写命令,作命令口用;从该端口读,就是读状态,作状态口用 例如,串行接口芯片8251A采用这种办法。 对多个命令字写到同一个命令口时,可采用两种办法解决:其一,在 命令字中设置特征位,根据特征位的不同,就可以识别不同的命令,例如 82C55A接口芯片采用这种办法;其二,在编写初始化程序段时,按先后顺 序向同一个端口写入不同的命令字,命令寄存器就根据先后顺序的约定来 识别不同的命令,8251A接口芯片采用这种方法。
接口_第3章 IO端口地址译码技术

或
MOV DX, XXXXH OUT DX, AL OUT DX,AX
;8位传送(输出) ;16位传送(输出)
这里,XXXXH为16位的两字节地址。
2、I/O端口的寻址方式
I/O端口寻址有直接I/O端口寻址和间接I/O端口 寻址,其差别在I/O端口寻址是否经过DX传输。 例如:输入时 IN AL,0E0H ;直接寻址 MOV DX,300H ;间接寻址 IN AL,DX 例如:输出时 OUT 0E0H,AL ;直接寻址 MOV DX,300H ;间接寻址 OUT DX,AL
16位微处理器的I/O地址线是16位,实际上 只使用A0-A9地址线,地址线的选择应遵循下 列规则: 高位地址作为片间寻址,低位地址作为片 内寻址。 片内地址线数由接口中寄存器的数目决定。
2、I/O端口地址译码电路的输入与输出信号线
I/O地址译码电路的输入信号
I/O地址译码电路不仅仅与地址信号有关,而 且与控制信号有关。例如:
地址线 0 0 A 9 A8 A7 A6 A5 A4 A3 A 2 A1 A0
二进制
0
0 0
控制信号
0
C
B
A
? ? ? ? ?
片内地址
片选地址
地址范围在00H-0FFH区间的译码电路
开关式I/O地址译码电路设计
例:某微机系统的I/O空间为000H-3FFH,分成连 续的16段可选地址,每个段包括8个接口芯片, 每个接口芯片拥有8个端口。 分析:采用部分译码方法,允许16个段可以选择, 所以采用4位开关。
3.4
I/O端口地址分配及选用原则
IO端口地址译码PPT课件

同步通信卡1
3A0H~3AFH
同步通信卡2
380H~38FH
单显MDA
3B0H~3BFH
彩显CGA
3D0H~3DFH
彩显EGA/VGA
3C0H~3CFH
硬驱控制卡
1F0H~1FFH
软驱控制卡
3F0H~3F7H
PC网卡
360H~36FH
.
本章7首页
5.2.3 I/O端口地址译码
1. I/O地址译码电路工作原理及作用
.
本章12首页
本章要点
端口的概念 端口的地址编址方式及其特点 I/O端口地址选用的原则 掌握I/O端口地址译码电路的工作原理 I/O端口地址译码电路的设计与分析
.
本章13首页
片间选择:高位地址+控制信号
译码电路
片选信号
高位地址、 低位地址的划分
片内端口选择:低位地址直接与接口芯片地址线相连
.
本章8首页
5.2.3 I/O端口地址译码(续)
3. I/O端口地址译码电路设计
A9
地址范围:n根地址线未参与译码,译出地址含2n个 1)固定式端口地址译码 门电路译码法——单个地址或地址范围
微机原理与接口
(第5章)
信息工程学院 电子信息工程教研室
.
1
5.2 I/O端口地址译码技术
主要内容
5.2.1 I/O端口及其编址方式 5.2.2 I/O端口地址分配 5.2.3 I/O端口地址译码
.
2
5.2.1 I/O端口及其编址方式
1. I/O端口和I/O操作
1)I/O端口
端口(port):是接口电路中能被CPU直接访问的寄存器。
C
Y0
微机接口技术-第3章IO端口地址译码技术

内存 内存接口
系统总线:地址总线XA19-0,数据总线XD7-0,控制总线/XIOR ……
智能仪器接口 通信接口 过程控制接口 输入接口
输出接口
外存接口
数字化存储示 波器,数字化
万用表
终端 调制解调器 TTY 电传机
A/D转换器 开关量输入 D/A转换器 开关量输出
键盘 数字化仪 点阵打印 CRT 显示
么?
思考:在PC机上设计接口,你设计的接口IO地址必须不能与其他设备 接口IO地址冲突,你能想到用什么办法解决这个问题?
方案一:先查PC机硬件说明书,看那些IO 地址已经被占用。
缺点是麻烦,且非PC机器厂家生产的设备 (如扩展接口卡)地址,必须通过查该卡
说明书才能了解它占用的IO地址。
不可能!!你怎么知道你的卡被客户装在 哪台机器上?客户计算机上装了哪些其它 厂家的卡,你怎么能预先知道呢?客户买
Y X 9X A 8 X A 7 X A 6 X A 5 X A 4 X A 3X A 2 A X 1 X A 0 X AX I O A XA9 XA8 XA7 XA6 XA5 XA4 XA3 XA2
/+Y
例2。 使用74LS138设计一个系统板上IO端口地址译码电路,并且让每个接口芯片内部 可以有32个端口,非DMA期间可以访问接口芯片。
分析:输入 XA9-5,XAEN。因为低5位地址用来选中芯片内部端口,不作为外部译码器 的输入。一片138只能译码3位地址,这里用138对XA7-XA5译码。
输出 8个芯片选中信号/Y0-/Y7。 逻辑关系:XAEN=0,XA9XA8=00时,使译码器工作。 XA7-XA5=000时,输出/Y0=0, 其余全无效为1。 XA7-XA5=001时,输出/Y1=0, 其余全无效为1 XA7-XA5=010时,输出/Y2=0, 其余全无效为1 ……
第三章 IO接口技术及IO通道

查询设备状态标志值的方法有三种: 1.每个设备对应一个状态端口(实际 只有一位,是一个状态触发器),CPU查询 一个设备的状态标志,经判断作出相应的 I/O处理后,再查询、判断、处理下一个设 备。
2.把各个设备的状态标志位集中起来 ,用一个统一的专用状态端口来存放,CPU 一次读取后就可对所有设备的当前标志进行 测试、判断和进入相应处理。 上述两种方法的设备优先级都是由查询 的顺序决定的。
#include <dos.h>; #include <stdio.h>; main ( ) { int i; outportb(0x303,0x89); outportb(0x300,0x55); outportb(0x301,0xAA); i = inputb(0x302); return ; }
处理办法:堆栈指针永远指向堆栈。
3.2.3 DMA控制方式
DMA控制方式的概念: 即直接存储器存取方式,它采用一个 专用的硬件电路DMA控制器(在PC机的主 板上)来控制内存与外设之间的数据交换, 无需CPU介入,从而大大提高了CPU的工 作效率。
DMA控制方式的输入接口电路示意图
DMA控制方式的数据交换过程
开关的闭合与 断开,指示灯的亮 与灭,继电器或接 触器的吸合与释放, 马达的启动与停止, 阀门的打开与关闭 等
开关量输入、输出接口分别如图3-6、图3-7所示
图3-6开关量输入接口
图3-7开关量输出接口
思考:为什么要有输入缓冲器和输出锁存器?
由前可以看出,由缓冲器担当了输入接口,由锁存 器担当了输出接口,此外,常用数字量输入输出接口还 有可编程并行I/O扩展接口。
3.2.2 中断控制方式 中断控制方式的优点: 不仅省去了CPU查询外设状态和等待外 设准备就绪所花费的时间,提高了CPU的工 作效率,而且还满足了外设的实时性要求。
微机实验五 IO地址译码

实验五 I/O地址译码一、实验目的1.掌握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地址并进行设置,获取方法请参看汇编程序使用方法的介绍。
(也可使用自动获取资源分配的程序取得中断号)。
四、实验过程;*******************************;;* I/O地址译码 *;;*******************************;outport1 equ 2a0houtport2 equ 2a8hcode segmentassume cs:codestart:mov dx,outport1out dx,alcall delay ;调延时子程序mov dx,outport2out dx,alcall delay ;调延时子程序mov ah,1int 16hje startmov ah,4chint 21hdelay proc near ;延时子程序mov bx,200lll: mov cx,0ll: loop lldec bxjne lllretdelay endpcode endsend start五、实验总结这次试验,我掌握了I/O地址译码电路的工作原理,对微机实验越来越得心应手。
微机原理课程IO地址译码设计报告

郑州科技学院微机原理与接口技术课程设计任务书专业计算机科学与技术班级计科一班学号201215017 姓名夏飞一、设计题目I/O地址译码二、设计任务与要求1、掌握I/O地址译码电路的工作原理。
2、实现走马灯产生8种彩灯(8位LED)的走马灯花样。
3、通过走马灯的设计与制作,深入了解与掌握利用可编程8255A。
三、参考文献(不少于5个)[1] 《微机原理与接口技术》,梁建武,中国水利水电出版社,2010;[2] 《微机原理与接口技术》,雷丽文,北京:电子工业出版社1997;[3] 《微机原理及应用》,周明德,北京:清华大学出版社,1998;[4] 《微机原理与接口技术》,倪继烈,电子科技大学出版社,2004;[5] 雷丽文《微机原理与接口技术》[M] 电子工业出版社,1997.2四、设计时间2015 年12 月5 日至2015 年1 月11 日指导教师签名:2015年 1 月 5日郑州科技学院《微机原理与接口技术》课程设计题目I/O地址译码学生姓名院(系)目录1 引言 (1)2 方案讨论 (3)2.1 方案1 (3)2.2 方案2 (4)2.3 方案3 (5)2.4 个人设计方案 (5)3 设计原理及功能 (7)3.1 设计原理应用芯片8255A介绍 (7)3.2 硬件电路设计 (7)3.2.1 硬件连线 (8)3.3软件电路设计 (10)4 测试与结果测试 (11)4.1 硬件检测 (11)4.2 调试运行 (11)4.3 实验现象与说明 (11)4.4 结果与分析 (11)5 总结 (12)参考文献 (14)附录1 (15)附录2 (16)1 引言经过了为期一周的紧张实训,我和我的搭档完成了微机原理实训的实验电路的搭载与调试。
与此同时开始完成本次课程设计的内容。
我的课程设计的题目的内容比较简单。
目的是掌握I/O 地址译码电路的工作原理,并在此基础上通过8255控制8位单色灯的开关状态,达到以下目的:产生8种彩灯(8位LED)的走马灯花样;通过设计调试较为复杂的汇编语言程序进一步熟练常用会变语言程序设计技术;掌握数码转码换类程序设计的基本方法。
IO端口地址译码技术

4.3 I/o端地址译码
CPU为了对端口进行读写操作,就需要确定与自己交 为了对端口进行读写操作, 为了对端口进行读写操作 换信息的端口, 换信息的端口,那么是通过什么媒介把来自地址总线 上的地址代码翻译成为所需要访问的端口的, 上的地址代码翻译成为所需要访问的端口的,这是地 址译码问题,这介“ 就是I/O地址译码电路。 地址译码电路。 址译码问题,这介“媒介 ”就是 地址译码电路 一、I/O地址译码电路工作原理及作用 地址译码电路工作原理及作用
4.1 I/o端口及其编址方式
三、独立编址方式的端口访问 I/O指令有: 指令有: 指令有 1. IN 输入 2. OUT 输出 IN 输入指令 长格式为: 字节操作) 长格式为: IN AL,PORT (字节操作) IN AX,PORT (字操作) 字操作) 执行的操作为: 字节操作) 执行的操作为:(AL)<—(PORT) (字节操作) (AX)<—(PORT+1,PORT) (字操作) 字操作) , 注意长格式适用于端口地址范围为( 注意长格式适用于端口地址范围为(00H~0FFH)时 )
I/O端口地址译码技术 端口地址译码技术
教学重点
I/o端口及其编址方式 I/o端口及其编址方式 I/o端口地址译码 端口地址译码
4.1 I/o端口及其编址方式
端口和I/o操作 一、I/o端口和 端口和 操作 1、 I/o端口 、 端口 端口( 是接口电路中能被cpu直接访问的寄存器的 端口(port)是接口电路中能被 是接口电路中能被 直接访问的寄存器的 地址。 地址 。 Cpu通过这些地址即端口向接口电路中的寄存 通过这些地址即端口向接口电路中的寄存 器发送命令,读取状态和传送数据, 器发送命令,读取状态和传送数据,一个接口中可以 有几个端口,如命令端口、状态端口、数据端口。 有几个端口,如命令端口、状态端口、数据端口。对 端口的操作有三种类型: 只能读不能写 只能写不 端口的操作有三种类型:a.只能读不能写 b.只能写不 能读 c.可读可写 可读可写
实验一IO地址译码实验报告

实验一IO地址译码实验报告信息学院《汇编语言与接口技术》上机实验报告学号:104100197 姓名:王飞班级:计科10C课程名称:汇编语言与接口技术上机内容I/O地址译码实验性质:□综合性实验□设计性实验■验证实验实验时间: 2012年 5 月11 日实验地点:睿智4号102室实验设备TPC—2003A微机实验箱实验报告:(包括目的、方法、原理、结果或实验小节等)。
一、实验目的掌握I/O地址译码电路的工作原理。
二、实验原理和内容实验电路如下图所示,其中74LS74为D触发器,可直接使用实验台上数字电路实验区的D触发器,74LS138为地址译码器。
译码输出端Y0~Y7在实验台上“I/O地址“输出端引出,每个输出端包含8个地址,Y0:280H~287H,Y1:288H~28FH,……当CPU执行I/ O指令且地址在280H~2BFH范围内,译码器选中,必有一根译码线输出负脉冲。
利用这个负脉冲控制L7闪烁发光(亮、灭、亮、灭、……),时间间隔通过软件延时实现。
三、实验中使用的程序stack1 segment stack 'stack'dw 32 dup(0)stack1 endsdata segmentbaseport equ 0ec00h-280h;实际基址port1 equ baseport+2a0h;基址+偏移地址port2 equ baseport+2a8h;基址+偏移地址data endscode segmentassume ss:stack1,ds:data,cs:code start: mov ax,datamov ds,axagain: mov dx, port1in al, dxcall delay ;调用延时程序mov dx, port2in al, dxcall delayjmp againdelay procpush bxpush cxmov bx, 5000wait2: mov cx,0wait1: loop wait1dec bxjnz wait2pop cxpop bxretdelay endp;延时程序mov ah, 4chint 21hcode endsend start四、实验小结通过本次实验,基本掌握I/O地址译码电路的工作原理。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
主要优点: (1) I/O端口地址不占用存储器空间; (2) I/O指令短,执行速度快;
FFFFH
(3) I/O操作和存储器操作层次清晰,程序的可读性强。
缺点:
I/O指令种类有限, I/O空间不易扩展
2、统一编址(存储器映象方式)
地址 0000H ... 0100H 00FFH ...
I/O空间 (256个) 整 个 地 址 空 间
四、DMA传送方式
工作原理 由外设与计算机内存直接进行数据交换,而不是通 过CPU; 在DMA传送期间,DMA控制器接管了总线控制权,而 CPU处在停机方式,即处于等待状态; 在DMA传送完成后,CPU再恢复对总线的控制权,进 入工作状态。 CPU 特点 数据的传送不经过CPU。 RAM 外设 要求 DMA 需要DMA控制器及相关逻辑支持。 控制器 应用 适用于高速度大量数据传送时。
2、C语言I/O语句
C语言有强大的I/O操作功能,利用c语言可方便地设计操作 界面,同时也可以对外设进行直接控制. 端口输出 outportb(port,value) //从port端口输出字节型数据 value outportw (port,value) //从port端口输出字型数据value
了解I/O端口地址分配 对接口设计者非常重要。 一、64K I/O地址映像图 I/O地址线:16位 I/O端口地址空间:64K 分为两部分。 ① 留给微机系统和ISA总线 地址固定 ② 留给PCI总线,主板功能和用户应用 地址动态分配
① 0000H~03FFH
② 0400H~FFFFH
3.3
I/O端口地址分配
第3章基本的I/O接口 ---来自I/O地址译码内容提要
微机接口技术概述 CPU与接口交换数据的方式 I/O端口地址译码技术
3.1 I/O接口概述
通用的微型计算机硬件系统是由中央处理器(CPU 或MPU)、存储器、I/O(输入/输出)设备及其接口电
路组成。 I/O设备 键盘 显示器 打印机 外存储设备 控制设备 测量设备 通讯设备
OUTSB / OUTSW / OUTSD指令
MOV DX, 0A00H ;I/O端口地址 MOV SI, 1001H ;存储器偏移地址 MOV CX, 0FH ;传输字节数 CLD ;存储器地址值增加 REPOUTSB ;REP为重复前缀,块操作 从地址为ES:1001H~ES:100FH的存储器输出 15字节数据到地址为0A00H的端口。
8位
数据总线 地址 总线
数据 到外设
CE
(b)无条件输出
地址译码器
IO/M
WR
二、条件传送方式(查询方式)
工作原理 CPU先查询外设的状态信息是否准备好; 准备好,就传送数据; 否则,继续查询。 特点 CPU与外设间自然同步 要求 需要增加表示外设状态的简单硬件电路。 应用 适用在CPU不太忙且传送速度要求不太高时。
M空间 从存储器空间划出一部分地址空间 (65280个) 给I/O设备,把I/O接口中的端口当作 (64KB) 存储器单元一样进行访问。 FFFFH 优点: (1)I/O 可有较大编址空间,易扩展; (2)不设置专门的I/O指令,指令类型多,功能齐全。 缺点: (1)占用了存储器的地址空间,使存储器容量减小。 (2)另外指令长度比专门I/O指令要长,因而执行速 度较慢。
端口输入
value=inportb(port)
value=inportw(port)
//从port端口输入字节型数据, 并存储在 value变量中; //从port端口输入字型数据, 并存储在value变量中;
注意: VC++也有类似的I/O命令 _inp(_inpw)、_outp(_outpw)
例:读取CMOS信息
一、无条件传送方式(同步传送)
特点
条件是己知的情况
输入时外部设备是准备好的,输出时外设空闲
不用查询外设的状态信息 直接使用IN或OUT指令完成数据传送
要求 接口加缓冲器 应用 对简单外设的操作
缓冲器
数据来 自外设
CE
8位
数据总线
地址译码器 IO/M RD
缓冲器
地址 总线
(a)无条件输入
INSB / INSW / INSD指令
MOV DX, 0A00H MOV DI, 1001H INSB ;I/O端口地址 ;存储器偏移地址 ;输入,ES:DI<-DX
从DX所包含的端口输入1字节数据到以ES为段基地 址、以DI为偏移量的存储单元,传输完一字节后, 按标志寄存器EFLAG中的方向标志位DF的状态,DI 自动增或减1(或±2、 ±4)。
图3.2 微处理机通过接口与外设交换信息
二、接口信息
指外部设备与CPU之间交换的信息,分为: • 数据信号
如:8位,16位,32位数据;
• 状态信号
表示外设是否准备好的信号。 如:READY、BUSY、ACK
• 控制信号
表示启动、停止外设之类的信号 (STROBE)
3.1.2
I/O端口及其地址
一、I/O端口 I/O端口:是接口电路中能被CPU直接访问的寄存器。
I/O端口地址信号:借用RAM地址线信号, 和 IOW# / IOR#信号线,以及表示DMA正 在工作的AEN#的反相信号组成。
2、I/O端口地址寻址方法
I/O端口支持直接寻址和间接寻址方式。 直接寻址:使用一字节立即数寻址,端口寻址 范围 00H~FFH 共256个。 间接寻址:使用DX寄存器间接给出I/O端口 地址,可寻址的范围是 0000H~FFFFH 共 64K个。
发送 30h
命令寄存器
传送
31h
CPU
读取
数据寄存器
32h
状态寄存器
CPU与I/O端口
3.1.3 端口的编址方式
1、独立编址(I/O映象方式)
接口中的端口地址单独编址,
而不与存储空间合一起。
地址 00H FFH ...
I/O空间 (256)
地址 0000H
...
PC系列、 Z-80系列
M空间 (64KB)
三、中断传送方式
主程序
转向 工作原理 执 行 由外设向CPU发出中断请求; 子 程 CPU暂停原程序执行,转入中断服务; 序 继 返回 续 完成后返回原程序继续执行。 执 行 特点 CPU不用等待外设,提高CPU的利用率。 CPU与外设 可同时工作。 要求 接口中需要中断控制逻辑支持。 应用 适用于非高速度大量数据传送时。
二、实模式下I/O地址分配
1、I/O接口的硬件分类
分成两类 1)系统板上的I/O芯片 如: 定时/计数器、中断控制器、DMA 控制器,并行 接口等。 2)I/O扩展槽上的接口控制卡 如: 软驱卡、硬驱卡、图形卡、声卡、打印卡、 串行通信卡等。
数据 输 出 设 备 ACK
锁 存 器 (8) 状态标志 Q R
数据总线 数据口选中
PORT1
WR IO/M 地址译码器 IO/M RD 地址总线
D +5V 状态口选中
PORT2
准备好为“1”
"0"为空闲 接数据总线DO位
查询式输出接口电路 MOV DX , PORT2 LOP: IN AL,DX TEST AL,01H JZ LOP MOV DX,PORT1 IN AL,DX ;读取接口状态 ;检测状态口的状态 ;未就绪,继续查询 ;就绪 ; 完成数据输入
3.1.6 I/O地址空间的保护
I/O保护在保护模式下有效,在实模式下无效。 两种保护机制: I/O特权级IOPL保护和I/O允许位 映像保护。 1、 I/O特权级IOPL保护 保护通过比较当前任务的特权级CPL和标志寄存 器的IOPL字段实现的, CPL保存在CS中的最低两位, 当选择子成功装入CS寄存器后,相应的选择子中的 RPL(请求特权级)就变成了CPL。 CPL<=IOPL,可执行I/O操作;否则不行。 IOPL的值是由微处理器的特权级来设置的,即受操 作系统的控制,用户程序不能随意修改。
数据总线(DB) 中央 处理器 CPU 地址总线(AB) 内存储器 I/O 接口 I/O 接口 控制部线(CB)
I/O 设备
I/O 设备
I/O接口 8255、8253、8251、8237等
3.1.1
I/O接口电路及接口信息
一、接口电路
介于主机和外设之间的一种缓冲电路.
微处 理机 接口 电路 外部 设备
MOV [DI], AL ; 将数据从AL -> 存储器
串I/O指令INS和OUTS
完成I/O端口和存储器之间传送一串(一块) 信息,而不经过累加器。有三种不同的形式: INSB、 INSW 、INSD和OUTSB、 OUTSW、 OUTSD,表示输入 /出字节串、字串和双字串。只能使用间接寻址方式, 用DX寄存器指定I/O端口地址。 INS指令:用ES:DI(或ES:EDI)指定目的存储器地址。 OUTS指令:用ES:SI(或DS:ESI)指定源存储器地址。
OUT 61H, AL ;数据从AL到端口61H
双字节地址指令
MOV DX, PORT IN AL, DX MOV DX, PORT OUT DX,AL
;8位传送
;8位传送
注意: PORT--为16位的两字节地址。范围:0000H~ FFFFH,则最多可寻址216=64K个端口。
端口间址寄存器:DX 例如: MOV DX, 300H ; 300H为扩展板8255A的PA端口 IN AL, DX ; 从端口300H读数据到AL
端口的种类:一个接口可以有几个I/O端口。
如命令口、状态口和数据口,分别对应于命令寄存器、 状态寄存器和数据寄存器。 I/O端口地址:对接口中不同寄存器的编号。CPU通过端 口地址向接口电路中的寄存器发送命令,读取状态和 传送数据。