第8章 输入输出和中断
计算机组成原理 白中英 第三版(完整版)第八章输入输出系统
1.如果认为CPU等待设备的状态信号是处于非工作状态(即踏步等待),那么在下面几种主机与设备之间的数据传送中:()主机与设备是串行工作的;()主机与设备是并行工作的;()主程序与设备是并行运行的。
A.程序查询方式 B. 程序中断方式 C. DMA方式解: A C B2.中断向量地址是_____。
A.子程序入口地址 B. 中断服务程序入口地址C.中断服务程序入口地址指示器 C. 例行程序入口地址解: C3.利用微型机制作了对输入数据进行采样处理的系统。
在该系统中,每抽取一个输入数据就要中断CPU一次,中断处理程序接受采样的数据,将其放到主存的缓冲区内。
该中断处理需时x 秒,另一方面缓冲区内每存储n个数据,主程序就将其取出进行处理,这种处理需时y秒。
因此该系统可以跟踪到每秒_____次的中断请求。
A.N/(n×x+y) B. N/(x+y)×n C. Min(1/x, n/y)解: A4.采用DMA方式传送数据时,每传送一个数据就要占用一个____的时间。
A.指令周期 B. 机器周期C. 存储周期D. 总线周期解: C5.通道的功能是:(1)________,(2)______。
按通道的工作方式分,通道有______通道、_______通道和______通道三种类型。
解:(1)执行通道指令,组织外围设备和内存进行数据传输;(2)执行CPU的I/O指令,以及向CPU报告中断。
选择通道、字节多路通道、数组多路通道6.在教科书图8.7中,当CPU对设备B的中断请求进行服务时,如设备A提出请求,CPU能够响应中断吗?为什么?如果设备B一提出请求总能立即得到服务,问怎样调整才能满足此要求?解:(1)CPU不能响应中断(2)因为同级中断不能嵌套,而A、B设备属于同级中断(3)如果想要设备B一提出请求即能得到服务,则应该使设备B为最高优先级,这里可将设备 B单独接至3级IR,处于最高优先级。
8.设某机有5级中断:L0,L1,L2,L3,L4,其中断响应优先次序为:L0最高,L1次之,L4最低。
第8章 51单片机输入输出接口-单片机原理与应用及C51程序设计(第4版)-谢维成-清华大学出版社
第8章 51单片机输入输出接口及应用
该最小系统的特点如下: (1) 由于P0、P2在扩展程序存储器时作为地址线和数 据线,不能作为I/O线,因此,只有P1、P3作为用户I/O接 口使用。 (2) 片内数据存储器同样有128B,地址空间为00H~ 7FH,没有片外数据存储器。 (3) 内部无程序存储器,片外扩展了程序存储器,其地 址空间随芯片容量不同而不一样。图8.2中使用的是2764 芯片,容量为8KB,地址空间为0000H~1FFFH。由于片 内没有程序存储器,只能使用片外程序存储器,EA 只能接 低电平。 (4) 同样可以使用两个定时/计数器T0和T1,一个全双 工的串行通信接口,5个中断源。
2.另一端送相应的编码(字段码)
第8章 51单片机输入输出接口及应用
8段发光管控制端与字节的关系。
76543210 dp g f e d c b a
00 11 1111
3FH
0 00 0 0110
06H
0101 1011
5BH
第8章 51单片机输入输出接口及应用
显示字符 共阴极字 共阳极字 显示字符 共阴极字 共阳极字
最小配置系统。对于单片机内部资源已能满足 系统需要的,可直接采用最小系统。MCS-51单 片机根据片内有无程序存储器最小系统分两种 情况。
8.1.1 8051/8751的最小系统
第8章 51单片机输入输出接口及应用
XTAL1
P0
8
8751
8051 P1
8
XTAL2
P2
8
RESET
EA GNDP3
8
+5V
+5V V
第8章 51单片机输入输出接口及应用
该最小系统的特点如下: (1) 由于片外没有扩展存储器和外设,P0、P1、P2、P3都 可以作为用户I/O接口使用。 (2) 片内数据存储器有128B,地址空间为00H~7FH,没有 片外数据存储器。 (3) 内部有4KB的程序存储器,地址空间为0000H~0FFFH
ASM8
8.2.7 如何编写中断处理程序
一般中断处理程序是以最小内核方式存于系统中,因此用户编写 中断处理程序时,需注意以下几个问题:见书P248 中断处理程序的流程:
分配
BIOS 中断 0~7 CPU 8~0FH BIOS 硬中断 10H~1FH BIOS 软中断 20H~27H DOS中断 28H~3fHDOS备用(已陆续占用)
DOS中断
BIOS 备用 (已陆续占用) 用户软中断 保留 I/O中断保留 保留
BASIC中断 80H~85H BASIC备用 86H~F0H BASIC解释用
WORD PTR [BX], OFFSET INTERRUPT ; 写入偏移地址 WORD PTR [BX+2], SEG INTERRUPT DS ; 恢复 寄存器 恢复DS寄存器 ; 写入段基址
•
功能调用25H用来设置中断向量: 用来设置中断向量: 用DOS功能调用 功能调用 用来设置中断向量 入口参数为: 入口参数为: AH=25H = AL=中断类型号 = DS: DX=中断向量 =
用MOV指令将中断向量直接写入中断向量表中, 指令将中断向量直接写入中断向量表中, 指令将中断向量直接写入中断向量表中 称为直接写入法。 称为直接写入法。 功能调用, 用DOS功能调用,设置中断向量 。 功能调用
设置中断向量
为扩充中断服务程序的功能或增加一些新的 中断服务程序,用户可编写自己的中断服务程 序,其中要做的一个工作是:将新的中断服务 程序的入口地址填入中断向量表的相应位置中 (0:4*n)
中断返回指令
IRET
指令执行过程:
SP、IP、CS的变化
8.2.3
系统上电后,BIOS和DOS分别将各自控制的主要中 断处理程序的入口地址填入中断向量表中的相应位置, 以便被使用。 系统最初用了不到40项,随着设备的丰富,扩充 的功能越来越多,如:
IBM—PC(80x86)汇编语言与接口技术-第8章 输入输出程序设计
8259A
76 5 4
中断屏蔽寄存器21H
打 印 机
3210
IN AL, 21H AND AL,0FDH
键定 时
盘器
OUT 21H,AL
76 5 4
中断命令寄存器20H
EOI
3 2 1 0 MOV AL, 20H OUT 20H, AL
11
中断向量表
00000 类型0的(IP) 类型0的(CS)
00004 类型1的(IP) 类型1的(CS)
speaker_on endp
speaker_off proc push ax in al, 61h and al, 0fch out 61h, al pop ax ret
speaker_off endp
end
8
3. 中断传送方式
中断源:引起中断的事件
外中断(硬中断):
外设的 I/O 请求 —— 可屏蔽中断 电源掉电 / 奇偶错 —— 非屏蔽中断
15
例:用 DOS 功能调用存取中断向量
MOV AL, N
MOV AH, 35H
INT 21H
PUSH BX
; 保存原中断向量
PUSH DS
MOV AX, SEG INTHAND
MOV DS, AX
MOV DX, OFFSET INTHAND
MOV AL, N
MOV AH, 25H
08 系统定时器 09 键盘 0A 彩色/图形接口 0B 保留 0C 串行通讯口 0D 保留 0E 软盘 0F 打印机
10
中断的条件:
设置CPU中断允许位:
FLAGS 中的 IF 位 = 1 允许中断 ( STI ) = 0 禁止中断 ( CLI )
计算机组成原理习题 第八章输入输出系统
第八章输入输出系统一、填空题;1.直接内存访问(DMA)方式中,DMA控制器从CPU完全接管对的控制,数据交换不经过CPU,而直接在内存和之间进行。
2.通道是一个特殊功能的,它有自己的专门负责数据输入输出的传输控制。
3.并行I/O接口和串行I/O接口是目前两个最具有权威性的标准接口技术。
4.在计算机系统中,CPU对外围设备的管理,除了程序查询方式、程序中断方式外,还有方式、方式和方式。
5.程序中断方式控制输入输出的主要特点是,可以使A 和B 并行工作。
6.DMA控制器按其A 结构,分为B 型和C 型两种。
7.通道是一个特殊功能的A ,它有自己的B 专门负责数据输入输出的传输控制,CPU只负责C 功能。
8.通道有三种类型:A 通道、B 通道、C 通道。
9.二、选择题:1.下面有关“中断”的叙述,______是不正确的。
A.一旦有中断请求出现,CPU立即停止当前指令的执行,转而去受理中断请求B.CPU响应中断时暂停运行当前程序,自动转移到中断服务程序C.中断方式一般适用于随机出现的服务D.为了保证中断服务程序执行完毕以后,能正确返回到被中断的断点继续执行程序,必须进行现场保存操作2.中断向量地址是______。
A. 子程序入口地址B. 中断服务例行程序入口地址C. 中断服务例行程序入口地址的地址D. 主程序返回地址3.在数据传送过程中,数据由串行变并行或由并行变串行,其转换是通过______。
A. 移位寄存器B. 数据寄存器C. 锁存器D. 指令寄存器4.下述I/O控制方式中,主要由程序实现的是______。
A. PPU(外围处理机)方式B. 中断方式C. DMA方式D. 通道方式5.采用DMA方式传送数据时,每传送一个数据要占用______的时间。
A. 一个指令周期B. 一个机器周期C. 一个时钟周期D. 一个存储周期6.发生中断请求的条件是______。
A. 一条指令执行结束B. 一次I/O操作开始C. 机器内部发生故障D. 一次DMA操作开始7.中断向量地址是______。
操作系统(1~8章的课后习题答案)
1.1:存储程序式计算机的主要特点是:集中顺序过程控制(1)过程性:模拟人们手工操作(2)集中控制:由CPU集中管理(3)顺序性:程序计数器1.2:a:批处理系统的特点:早期批处理有个监督程序,作业自动过渡直到全部处理完,而脱机批处理的特点:主机与卫星机并行操作。
b:分时系统的特点:(1):并行性。
共享一台计算机的众多联机用户可以在各自的终端上同时处理自己的程序。
(2):独占性。
分时操作系统采用时间片轮转的方法使一台计算机同时为许多终端上同时为许多终端用户服务,每个用户的感觉是自己独占计算机。
操作系统通过分时技术将一台计算机改造为多台虚拟计算机。
(3):交互性。
用户与计算机之间可以进行“交互会话”,用户从终端输入命令,系统通过屏幕(或打印机)将信息反馈给用户,用户与系统这样一问一答,直到全部工作完成。
c:分时系统的响应比较快的原因:因为批量操作系统的作业周转时间较长,而分时操作系统一般采用时间片轮转的方法,一台计算机与许多终端设备连接,使一台计算机同时为多个终端用户服务,该系统对每个用户都能保证足够快的响应时间,并提供交互会话功能。
1.3:实时信息处理系统和分时系统的本质区别:实时操作系统要追求的目标是:对外部请求在严格时间范围内做出反应,有高可靠性和完整性。
其主要特点是资源的分配和调度首先要考虑实时性然后才是效率。
此外,实时操作系统应有较强的容错能力,分时操作系统的工作方式是:一台主机连接了若干个终端,每个终端有一个用户在使用。
用户交互式地向系统提出命令请求,系统接受每个用户的命令,采用时间片轮转方式处理服务请求,并通过交互方式在终端上向用户显示结果。
用户根据上步结果发出下道命。
分时操作系统将CPU 的时间划分成若干个片段,称为时间片。
操作系统以时间片为单位,轮流为每个终端用户服务。
每个用户轮流使用一个时间片而使每个用户并不感到有别的用户存在。
分时系统具有多路性、交互性、“独占”性和及时性的特征。
汇编语言第8章输入输出接口
(1) I/O接口的基本概念 (2) I/O控制方式 (3) DMA接口技术 (4) 可编程DMA控制器8237
8.1 I/O接口概述
8.1.1 I/O接口的基本功能
(1) 数据缓冲 (2) 提供联络信息 (3) 信号与信息格式的转换 (4) 设备选择 (5) 中断管理 (6) 可编程功能
IOW
图8.4 片选信号的产生
8.2 I/O控制方式
主机与外围设备之间的数据传送控制方式(即I/O控制 方式)主要有三种:
程序控制方式、中断控制方式和直接存储器存取 (DMA)方式。
8.2.1 程序控制方式
程序控制方式是指在程序控制下进行的数据传送方式。 它又分为无条件传送和程序查询传送两种。
地址空间 200~20FH 210~217H 218~2F7H 2F8~2FFH 300~31FH 320~32FH 330~377H 378~37FH
器件/接口适配器 地址空间
游戏卡
380~38FH
扩充部件
390~3AFH
未用
3B0~3BFH
异步通信卡(COM2) 3C0~3CFH
未用
3D0~3DFH
(5) DMA控制器发出存储器写信号MEMW,将数据传送 到由地址总线上的地址所指向的内存单元;
(6) DMA控制器放弃对总线的控制权;
(7) 地址寄存器加1;
(8) 字节计数寄存器减1;
(9) 如果字节计数寄存器的值不为零,则返回第一步,否 则结束。
第8章 作业
8.1 8.2 8.3 8.5 8.6 8.7 8.11
硬盘卡
3E0~3EFH
未用
3F0~3F7H
打印卡
3F8~3FFH
单片机实用教程_8 89C51单片机并行输入输出
P3 口的第二功能
口线 P3.0 P3.1 信号 RXD TXD 功 能 串行口数据输入(接收数据) 串行口数据输出(发3.5
P3.6 P3.7
INT0 INT1 T0 T1
WR RD
外部中断0输入 外部中断1输入 定时器0的外部输入(计数输入) 定时器1的外部输入(计数输入)
外部数据存储器写选通控制输出 外部数据存储器读选通输出控制
8.2 并行输入/输出端口P0、P1、P1和P3 8.2.1 P0端口 ⑴ P0口的结构: P0口有8位, 每一位由一个输出锁存器、两个三态 输入缓冲器和输出驱动电路及控制电路组成。
⑵ P0口作通用的I/O口使用
P0口是漏极开路的8位准双向I/O口. P0口为特殊功能寄存器, 既可以用直接寻址方式对P0口进行字节操作, 也可以按按位寻址方式,进行位操作。
P2端口及其各位的地址
位地址/位定义 A5H P2.5 A4H P2.4 A3H P2.3 A2H P2.2 A1H P2.1 LSB A0H P2.0 字节地址 A0H
P2口作输出时,直接用传送指令进行操作。 例如: MOV P2 ,A P2口作输入时, 要先写“1”, 然后读入(准双向口)。 例如: MOV P2 ,#0FFH MOV A ,P2
表8.1 P0端口及其各位的地址
SFR MSB 位地址/位定义 LSB 字节地址
P0
87H
P0.7
86H
P0.6
85H
P0.5
84H
P0.4
83H
P0.3
82H
P0.2
81H
P0.1
80H
P0.0
80H
P0口作输出时,直接用传送指令进行操作。 例如: MOV P0 ,A P0口作输入时,要先写“1”,然后读入(准双向口)。 例如: MOV P0 ,#0FFH MOV A ,P0
第8章可编程输入输出接口2014(新简)
当A1A0=11时 选择控制端口
20
表8.1 8255A的读写操作控制
21
8.1.2 8255A的控制字及其工作方式
8255A 共有两个控制字:即工作方 式控制字和对C口臵位/复位控制字。 1. 控制字 (1)工作方式控制字: 控制字和各位的含义如图所示。
22
D7
D6 D 5
D4 D3
D2 D1 D0
下图示出 8255A 方式 1 选通输入时的内部 结构图。
35
•STB:选通信号。外设准备好数据发 送STB#,低电平有效。
•IBF:输入缓冲器满信号,STB#下降 沿8255向外设输出IBF信号,表示输入 缓冲器满,高电平有效。
36
INTR:中断请求信号,高电平有效 。STB#上升沿使INTR从无效到有效 ,请求CPU读数据。CPU接到INTR, 读数据发送RD#,RD#下降沿变INTR 有效为无效,表示已经得到响应, RD#上升沿使IBF满变为不满,表示 数据已经读走。 INTE:中断允许信号,它是通过端 口PC4(端口A)或PC2(端口B)的位来编 程的内部位。
ACK: 外设应答信号。该信号的下 降沿使OBF臵高,表示输出缓冲器 空,低电平有效.当外设读取数据以 后,由外设输入给8255,表示数据
42
INTR:中断请求信号。写信 号的下降沿使INTR引脚无效, 表示CPU正在响应中断,高电 平有效。
INTE : 中断允许信号。在中
断允许情况下, ACK 的
出数据均受到锁存。
端口 B 和 C: 都包含一个 8 位数据输入缓
冲器和一个 8位的数据输出锁存器和缓冲器,
输出数据能锁存,输入数据不锁存。
7
端口 C: 可分成两个 4 位端口,分别定义 为输入或输出端口,还可定义为控制、状 态端口,配合端口A和端口B工作。 在实际应用中C口 的8位可分为两个4位
微机原理习题答案8章
第8章中断系统与可编程中断控制器8259A1.什么叫中断?8086微机系统中有哪几种不同类型的中断?答:在CPU执行程序的过程中,由于某个事件的发生,CPU暂停当前正在执行的程序,转去执行处理该事件的一个中断服务程序,待中断服务程序执行完成后,CPU再返回到原被中断的程序继续执行。
这个过程称为中断。
8086微机系统中有3种中断:1)外部可屏蔽中断。
2)外部不可屏蔽中断。
3)内部中断2.什么是中断类型?它有什么用处?答:通常用若干位二进制编码来给中断源编号,该编号称为中断类型号。
8086微处理器用8位二进制码表示一个中断类型,有256个不同的中断。
这些中断可以划分为内部中断、外部不可屏蔽中断、外部可屏蔽中断三类。
用处:使CPU识别中断源,从而能正确地转向该中断源对应的中断服务程序入口。
3.什么是中断嵌套?使用中断嵌套有什么好处?对于可屏蔽中断,实现中断嵌套的条件是什么?答:微处理器在处理低级别中断的过程中,如果出现了级别高的中断请求,微处理器停止执行低级中断的处理程序而去优先处理高级中断,等高级中断处理完毕后,再接着执行低级的未处理完的程序,这种中断处理方式成为中断嵌套。
使用中断嵌套的好处是能够提高中断响应的实时性。
对于某些对实时性要求较高的操作,必须赋予较高的优先级和采取中断嵌套的方式,才能保证系统能够及时响应该中断请求。
对于可屏蔽中断,实现中断嵌套的条件有:(1)微处理器处于中断允许状态(IF=1)(2)中断请求的优先级高于正在执行的中断处理程序的优先级。
(3)中断请求未被8259屏蔽。
(4)没有不可屏蔽中断请求和总线请求。
4.什么是中断向量?中断类型号为1FH的中断向量为2345H:1234H,画图说明它在中断向量表中的存放位置。
答:中断向量为每个中断服务子程序的入口地址,为32位(16位的偏移地址和16位的段地址),在中断向量表中占用4个地址单元。
在8086CPU组成的计算机系统中,采用最低的1024个地址单元(称为0页)来存储中断向量。
《计算机组成原理》8-输入输出系统
允许中断3
INTA &
&
&
允许中断4 &
&
&
&
1
1
1
1
INTR1
INTR2
INTR3
( b) 串 行 优 先 链 中 断 排 队 线 路
INTR4
&
至下一级
≥1
INT
程序中断方式
2、中断的处理过程
✓ 软件排队的基本做法是:当CPU访问到 INT0
中
有中断请求时,则保留好中断断点后立
断 服
即进入软件排队程序的入口。从最高优
✓ 中断排队的实现 可以用硬件排队或软件排队两种方法来实现
➢ 硬件排队方式 硬件排队的基本特点是,优先级别高的中断源提出中 断请求后,就自动封锁优先级别较低的中断源的中断请求
➢ 软件排队方式 软件排队是通过编写查询程序实现的。
程序中断方式
2、中断的处理过程
➢ 硬排队方式 I N T R0
INTR1 1
程序直接控制方式
2、条件传送方式
✓ 通过程序查询接口中的状态来控制数据传送的方式,也被称为程序查询 方式。
✓ 程序查询方式中,在执行一次有效的数据传送操作之前,必须对外部设 备的状态进行查询,如果外部设备准备就绪,才能执行数据传送操作。
程序直接控制方式
2、条件传送方式
检查状态标记
N 准备就绪? Y 执行数据传送
I/O接口
1、接口的概念
✓ 介于主机与外部设备之间的一种缓冲电路称为I/O接口电路,简称I/O接口
(Interface)
✓ 对于主机,I/O接口提供了外部设备的工作状态及数据;对于外部设备,I/O
输入输出和中断
DMA操作的基本方法
周期挪用(Cycle Stealing)
周期扩散
CPU停机方式
DMA(直接存储器存取)传递方式
周期挪用(Cycle Stealing )
添加标题
利用CPU不访问存储器的那些周期来实现DMA操作,此时DMAC可以使用总线而不用通知CPU也不会妨碍CPU的工作。这种方法的关键是如何识别合适的可挪用的周期,以避免同CPU的操作发生重叠。
在8086/8088系统中,通过执行中断指令或由CPU本身启动的中断称为内部中断(也称软件中断)。除单步中断外,内部中断无法用软件禁止,即不受中断允许标志IF的影响。 0型中断——除法出错中断 1型中断——单步中断 3型中断——断点中断 4型中断——溢出中断 INT n指令中断
内部中断——软中断
05
7.1.1 数据信息
●在微型机中,数据大致为三种基本类型:
数字量
模拟量
开关量
7.1
外设接口的一般结构
状态信息
READY(准备好信号)表示输入设备已经准备好信息,CPU可执行输入指令从该外设输入数据。 BUSY(忙信号)表示输出设备正在输出信息,即在“忙”着,同时也等于指示CPU等待。
状态信息表示外设当前所处的工作状态
1.中断分类
8086/8088CPU可以处理256种类型的中断源,这些中断源可分为硬件中断和软件中断两大类。
2.中断向量表
在8086系统中,允许引入256种类型中断源(类型码为0~255),相应有256个中断服务程序首址。存放中断地址的一段内存空间称中断向量表。
7.4.1 中断结构 4
1.内部中断的类型
图7-16 ICW3的格式
图7-17 ICW4 的格式
单片机原理与接口技术第8章输入通道和输出通道
输入通道的特点如下:
1)输入通道的类型取决于从传感器送入信号的类 型,由于不同的信号需要不同的转换电路,这也 就决定了输入通道的类型。
2)输入通道的主要技术指标是信号的转换精度和 速度,它们是选择转换器件的依据。
3)输入通道往往是模拟电路和数字电路的混合电 路,对于传感器输出的微弱信号必须加以放大。
5) :DAC寄存器的写信号,低电平有效。
6) :数据传送控制信号(输入),低电平有效。 和 两个信号控制DAC寄存器是数据直通方式还是数 据锁存方式;当 =0和 =0时,为DAC寄存器直通方 式;当 =1和 =0时,为DAC寄存器锁存方式。
7)OE:输出允许信号。当OE端输入高电平信号时,三态输出 锁存器将A-D 转换结果输出。
8)D0~D7:数字量输出端。D0为最低有效位(LSB),D7 为最高有效位(MSB)。D0~D7的内部电路为三态缓冲输出 形式 ,可以和单片机的数据线直接相连。
9)VREF (+) , VREF (-):正负基准电压输入端。作为逐次逼 近的基准。基准电压的中心值即1/2 (VREF(+)+VREF(-))应 接近1/2VCC,其典型值VREF(+)=+5V,VREF (-) =0V。
5)START:A-D 转换信号输入端。有效信号为一正脉冲。在 脉冲上升沿,A-D 转换器内部寄存器均被清零,在其下降沿开 始A-D 转换。
6)EOC:A-D 转换结束信号。在START信号上升沿之后0~ (2μs+8个时钟周期)时间内,EOC变为低电平。这一点在启 动A-D 转换后查询EOC信号时须加注意。当A-D 转换结束后, EOC立即输出一正阶跃信号,可用来作为A-D 转换结束的查询 信号或中断请求信号。
第8章 输入输出方法及常用的接口电路
A1 A0 00~10 00~10 11
RD
0 1 1
WR
1 0 0
CS
0 0 0
操 作 A口、B口、C口→数据总线(读操作) 数据总线→A口、B口、C口(写操作) 数据总线→控制寄存器(写操作)
表8.2 8255A端口选择及操作功能表
A1 0 0 1 0 0 1 1 × 1 × A0 0 1 0 0 1 0 1 × 1 ×
0 0 0 0 0 0 0 1 0 0
输入操作(读)
输出操作(写)
断开功能
3.A组和B组控制电路 作用:接收来自CPU的读/写控制部分的信号和CPU送 入的控制字,然后分别决定各端口的功能。 ①A组控制电路控制端口A和C的高4位(PC7~PC4); ②B组控制电路控制端口B和C的低4位(PC3~PC0)。 ③根据控制字对端口C的某位实现“置0”或“置1”的操作。 4.数据总线缓冲器
2.状态端口 状态端口用于暂存反映外部设备工作状态的信息。 输入时,CPU应检测外设欲输入的信息是否准备就 绪,如果已准备好,则CPU可以读入信息,否则CPU等 待“就绪”信号的出现后再读入; 输出时,CPU应检测外设是否已处于准备接收状态, 即外设为“空”状态,若是“空”状态,则CPU输出数 据至外设。若外设处于“忙”状态,则CPU不能向外设 输出信息。这种“空”、“忙”、“就绪”均为状态信 息。 3.控制端口
图8.1 主机通过接口与外设相连
8.1.2 基本I/O接口 输入接口电路最基本的功能是三态缓冲,即通过一 组三态缓冲器保证任意时刻仅允许被CPU选中的设备经 由接口与CPU通信; 输出电路最基本的功能是锁存数据,保证外设能够 正确接收到信息。 1.基本输入接口 三态门电路是起缓冲和隔离作用的。只有当CPU选 中此接口即三态门选通时,才允许选定的输入设备将数 据送至系统数据总线,而其他没有选中的输入设备,此 时相应的接口三态门“关闭”,从而达到与数据总线隔 离的目的。
微机原理及单片机应用技术第8章 80C51的中断与定时计数器
定时/计数器的结构
T1引脚
TH1
TL1
TH0
T0引脚
TL0
机器周 期脉冲
TH1、TL1
内部总线
TH0、TL0
TF1 TR1 TF0 TR0 GATE C/T M1 M0 GATE C/T M1 M0
TCON
TMOD
TCON
外部中断相关位
T1方式
T0方式
TMOD
2020/10/27
21
计数脉冲源
定时/计数器的工作原理
76543210
TCON TF1 TR1 TF0 TR0
字节地址:88H
TFx:Tx溢出标志位。响应中断后TFx有硬件自动清0。 用软件设置TFx可产生同硬件置1或清0同样的效果。
TRx:Tx运行控制位。置1时开始工作;清0时停止工作。 TRx要由软件置1或清0(即启动与停止要由软件控制)。
2020/10/27
2020/10/27
24
定时/计数器的控制示意图
M1M0 工作方式
说
明
00 方式0 13位定时/计数器
01 方式1 16位定时/计数器
10 方式2 8位自动重装定时/计数器
11
方式3
T0分成两个独立的8位定时/计数器; T1此方式停止计数
注意:TMOD不能进行位寻址
2020/10/27
26
控制寄存器TCON
第八章 80C51的中断系统与定时计数器
8.1 80C51单片机的中断系统 8.2 80C51中断处理过程 8.3 80C51单片机的串行口
8.1 80C51单片机的中断系统
5.1.1 80C51中断系统的结构
中断的概念
与子程序调用相似 但有本质的区别
汇编语言输入输出的中断
第8章输入输出和中断输入输出功能是计算机的重要组成部分,是人—机交互功能的主要承担者。
在早期的计算机系统中,通常把输入输出设备或功能作为次要的部分,而把CPU 作为主要研究对象。
但现在随着输入输出设备的日益丰富、功能要求越来越复杂,输入输出部分在整个计算机系统中的地位也得到了进一步提高。
本章先介绍了I/O的基本概念和I/O指令,再叙述了中断的概念及其工作过程,并列举出计算机系统中若干个常用的中断及其功能。
8.1 输入输出的基本概念输入输出是一个完整应用程序的重要组成部分,是交互式应用程序不可缺少的组成部分。
在用高级语言编程时,程序员可直接用输入输出语句来完成键盘输入、屏幕显示或打印输出等需求,而无需关心这些输入输出语句是如何实现的,因为编译程序会自动把这些语句转换成相应的输入输出指令。
但如果用汇编语言编写程序的话,情况就不同了,因为汇编语言是与机器有关的程序设计语言,要编写出具有输入输出功能的代码段就必须清楚CPU为输入输出提供了哪些指令,或计算机系统提供了哪些可直接使用的功能调用。
8.1.1 I/O端口地址I/O端口是CPU与输入输出设备的交换数据的场所,通过I/O端口,处理机可以接受从输入设备输入的信息;也可向输出设备发送信息。
在计算机系统中,为了区分各类不同的I/O端口,就用不同的数字给它们进行编号,这种对I/O端口的编号就称为I/O端口地址。
按照每次可交换一个字节数据的端口称为字节端口,每次可交换一个字数据的端口称为字端口。
在Intel公司的CPU家族中,I/O端口的地址空间可达64K,即可有65536个字节端口,或32768个字端口。
这些地址不是内存单元地址的一部分,不能普通的访问内存指令来读取其信息,而要用专门的I/O指令才能访问它们。
虽然CPU提供了很大的I/O地址空间,但目前大多数微机所用的端口地址都在0~3FFH范围之内,其所用的I/O地址空间只占整个I/O地址空间的很小部分。
计算机组成原理第八章单元测试(含答案)
第八章、输入输出系统输入输出系统测试1、8086 CPU对I/O接口的编址采用了()。
A、I/O端口和存储器统一编址B、I/O端口和寄存器统一编址C、I/O端口独立编址D、输入/输出端口分别编址2、采用DMA方式传送数据时,每传送一个数据就要用一个()时间。
A、指令周期B、机器周期C、存储周期D、总线周期3、某中断系统中,每抽取一个输入数据就要中断CPU一次,中断处理程序接收取样的数据,并将其保存到主存缓冲区内。
该中断处理需要X秒。
另一方面,缓冲区内每存储N个数据,主程序就将其取出进行处理,这种处理需要Y秒,因此该系统可以跟踪到每秒()次中断请求。
A、N /(NX + Y)B、N /(X + Y)NC、min[1 / X ,1 / Y]D、max[1 / X ,1 / Y]4、中断向量地址是()。
A、子程序入口地址B、中断服务例行程序入口地址C、中断服务例行程序入口地址的指示器D、中断返回地址5、为了便于实现多级中断,保存现场信息最有效的办法是采用()。
A、通用寄存器B、堆栈C、存储器D、外存6、在单级中断系统中,CPU一旦响应中断,则立即关闭()标志,以防本次中断服务结束前同级的其他中断源产生另一次中断进行干扰。
A、中断允许B、中断请求C、中断屏蔽D、中断保护7、周期挪用方式常用于()方式的输入/输出中。
A、DMAB、中断C、程序传送D、通道8、一台计算机对n个数据源进行分时采集,送入主存,然后分时处理。
采集数据时,最好的方案是使用()。
A、堆栈缓冲区B、一个指针的缓冲区C、两个指针的单缓冲区D、n个指针的n个缓冲区9、通道对CPU的请求形式是()。
A、自陷B、中断C、通道命令D、跳转指令10、描述PCI总线中基本概念正确的句子是()。
A、HOST 总线不仅连接主存,还可以连接多个CPUB、PCI 总线体系中有三种桥,它们都是PCI 设备C、以桥连接实现的PCI总线结构不允许许多条总线并行工作D、桥的作用可使所有的存取都按CPU 的需要出现在总线上11、如果机器采用中断方式进行输入和输出,发生中断请求条件的是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
“$”是作为显示终 $ 是作为显示终 止符使用的! 止符使用的!
2011年11月30日星期三
7
4、字符串输入(0A号功能调用) 、字符串输入( 号功能调用) 号功能调用
2011年11月30日星期三
MOV AH , 2 MOV DL , 10 INT 21H MOV DL , 13 INT 21H LEA DX , buf+2 MOV AH , 09H INT 21H MOV AX , 4C00H INT 21H CODE1 ENDS END START
11
DX , buf 21H
MOV AH , 0AH
2011年11月30日星期三 2
DOS功能调用的使用方法 功能调用的使用方法
1. 设置入口参数 ① (AH)=功能调用号 功能调用号 其他参数根据功能需要而不同,也可没有; ② 其他参数根据功能需要而不同,也可没有; 2. 执行指令INT 21H,调用相应的DOS模块 执行指令 ,调用相应的 模块 3. 获得输出参数 根据不同的功能从不同的位置获取,也可没有。 ① 根据不同的功能从不同的位置获取,也可没有。
功能调用号:02H 功能调用号: 入口参数: 待输出字符的ASCII码 入口参数: (DL)=待输出字符的 待输出字符的 码 出口参数:无 出口参数: 举例:输出显示变量 举例:输出显示变量CHAR所存放的字母 所存放的字母 指令序列: 指令序列: MOV AH , 02H MOV DL , CHAR INT 21H
功能调用号: 功能调用号:0AH 入口参数: 入口参数: (DS:DX)=存放输入字符串的起始地址 存放输入字符串的起始地址 注意:存放输入字符串的缓冲区必须事先按格式定义; 注意:存放输入字符串的缓冲区必须事先按格式定义; 必须事先按格式定义 缓冲区定义格式如: 缓冲区定义格式如:BUF DB n,?,n DUP(?) ,
2011年11月30日星期三 3
常用的DOS功能调用 常用的 功能调用
单字符输入 单字符输出 字符串输出 字符串输入 程序结束返回 01号功能调用 号功能调用 02号功能调用 号功能调用 09号功能调用 号功能调用 0A号功能调用 号功能调用 4C号功能调用 号功能调用
2011年11月30日星期三
4
1、单字符输入(01号功能调用) 、单字符输入( 号功能调用 号功能调用)
功能调用号: 功能调用号:01H 入口参数:无 入口参数: 出口参数: 输入字符的ASCII码 出口参数: (AL)=输入字符的 输入字符的 码 举例:从键盘上获取一位十进制数据。 举例:从键盘上获取一位十进制数据。 指令序列: 指令序列: 执行时状态: 执行时状态: 光标等待键盘输入,输入一个字符“ 后返回 后返回; 光标等待键盘输入,输入一个字符“1”后返回;
2011年11月30日星期三 10
输入字符串,并换行回显。 例. 输入字符串,并换行回显。
DATA1 SEGMENT buf DB 10 , ? , 10 DUP("$") DATA1 ENDS CODE1 SEGMENT ASSUME CS:CODE1,DS:DATA1 START: MOV AX , DATA1 MOV DS , AX LEA INT
中存放的是61H,则以上指令序列执行完 若CHAR中存放的是 中存放的是 , 毕会在屏幕上显示字符“ 。 毕会在屏幕上显示字符“a”。
2011年11月30日星期三 6
3、字符串输出(09号功能调用) 、字符串输出( 号功能调用 号功能调用)
功能调用号: 功能调用号:09H 入口参数: 入口参数: (DS:DX)=待输出字符串的起始地址 待输出字符串的起始地址 欲输出字符串必须以“ 为结束事先存放于存储器中。 为结束事先存放于存储器中 欲输出字符串必须以“$”为结束事先存放于存储器中。 必须以 出口参数: 出口参数:无 试将变量String保存的字符串显示出来。 保存的字符串显示出来。 试将变量 保存的字符串显示出来 变量定义: 变量定义: 指令序列: 指令序列: String DB “ABCD$”
2011年11月30日星期三
…… 05 04 -00 61 62 00 63 00 64 00 0D 00 ……
9
0A号DOS功能调用使用注意事项 号 功能调用使用注意事项
缓冲区设置: 缓冲区设置: 由于字符串输入的回车结束符也会保存于缓冲区中, 由于字符串输入的回车结束符也会保存于缓冲区中,所 回车结束符也会保存于缓冲区中 以一般设置缓冲区的大小应比实际需接收的字符长度多 一个单元。 一个单元。 缓冲区初始化: 缓冲区初始化: 若输入的字符串最终需要输出,则可在缓冲区定义时, 若输入的字符串最终需要输出,则可在缓冲区定义时, 将其初始化为“ ,以使输出的字符串能够正常结束。 将其初始化为“$”,以使输出的字符串能够正常结束。 注意,最后输入的回车符的处理。 注意,最后输入的回车符的处理。
第8章 输入输出和中断 章
DOS功能调用 功能调用
P161 8.3 中断功能的分类
2011年11月30日星期三
1
8.3 中断功能的分类
BIOS功能调用 功能调用 BIOS例行程序 是 系统加电自检 时 , 所用到的 主要 例行程序是 系统加电自检时 所用到的主要 主要I/O设备程 例行程序 设备程 序以及接口控制等功能模块; 序以及接口控制等功能模块 直接调用这些模块,使程序员不必了解硬件接口的特性; 直接调用这些模块,使程序员不必了解硬件接口的特性; 调用这些模块 DOS功能调用 功能调用 DOS磁盘操作系统 , 有 和 两个 磁盘操作系统, 磁盘操作系统 和 两个 模块; 模块; DOS模块提供了更多更必要的测试, 使用 模块提供了更多更必要的测试,使用DOS调用比使用相 调用比使用相 模块提供了更多更必要的测试 调用 应功能的BIOS操作更简易,而且对硬件的依赖性更少些。 操作更简易, 应功能的 操作更简易 而且对硬件的依赖性更少些。
在屏幕上可看到输入的字符; 在屏幕上可看到输入的字符;
MOV AH , 01H INT 21H
出口参数: 出口参数: (AL)=31H 结果处理: 结果处理: 所需的十进制数据 = (AL) - 30H
2011年11月30日星期三 5
2、单字符输出(02号功能调用) 、单字符输出( 号功能调用) 号功能调用
缓冲区可接收 的最大字符数
实际接收的 字符个数
接收的 字符串
出口参数:在缓冲区中保存输入字符串及其长度。 出口参数:在缓冲区中保存输入字符串及其长度。
2011年11月30日星期三 8
从键盘上接收一个字符串举例
数据段定义: 数据段定义: DATA1 SEGMENT buf buf DB 5 , ? , 5 DUP(0) DATA1 ENDS 输入字符串的指令序列: 输入字符串的指令序列: MOV AX , SEG buf MOV DS , AX LEA DX , buf MOV AH , 0AH INT 21H 以上指令序列执行,光标等待键盘输入, 以上指令序列执行,光标等待键盘输入,输 入字符串“ 入字符串“abcd”,以回车结束,即返回,存 ,以回车结束,即返回, 储单元的状态如右图。 储单元的状态如右图。